トップページへ

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.参考サイト

参考サイトは下記です。ありがとうございました。

« 前の記事へ

次の記事へ »

トップページへ