ansibleで踏み台サーバ経由でplaybookを実行する方法
小粋空間 » Linux » ansible » ansibleで踏み台サーバ経由でplaybookを実行する方法
ansibleで踏み台サーバ経由でplaybookを実行する方法を紹介します。
1.問題点
ansibleで下記のような構成でゲストOSを構築することになりました。
ansible実行サーバ
↓
ターゲットのホストOS
↓
ターゲットのゲストOS
ansibleサーバから構築対象のゲストOSを操作するには、ホストOSへ一度ログインしなければならないのですが、方法がわかりません。
ということで、ansibleで踏み台サーバ経由でplaybookを実行する方法を紹介します。
2.ansibleで踏み台サーバ経由でplaybookを実行する
ansibleで踏み台サーバ経由でplaybookを実行するには、ansible実行ディレクトリに下記の内容を記述したansible.cfgを配置します。
[ssh_connection]
ssh_args = '-o ControlMaster=auto
-o ControlPersist=60s
-o StrictHostKeyChecking=no
-o UserKnownHostsFile=/dev/null
-o ProxyCommand="sshpass -p [ホストOSのパスワード] ssh -W %h:%p -q [ホストOSのユーザー]@[ホストOSのIPアドレス]"'
3.解説
ControlMaster=auto
ControlPersist=60s
は、2本目以降のsshの接続が早くなる設定です。
StrictHostKeyChecking=no
は、ホスト鍵を無視する設定です。
UserKnownHostsFile=/dev/null
は、デフォルトのknown_hostsの代わりに使用するファイルの設定です。
/dev/nullで、known_hostsに書き込まれることがなくなります。
ProxyCommand="sshpass -p [ホストOSのパスワード] ssh -W %h:%p -q [ホストOSのユーザー]@[ホストOSのIPアドレス]"'
で踏み台を超える設定を行います。
4.参考サイト
参考サイトは下記です。ありがとうございました。