踏み台経由でプライベートサブネットのWindowsサーバーにAnsibleで接続してみました。

こんにちは、技術4課の城です。

タイトルのとおり、踏み台として用意したLinuxサーバーを経由して、プライベートサブネットに配置されたWindowsサーバーにAnsibleで接続してみました。
以前、こちらのブログにて紹介しましたDocker for Windowsの環境から実施しています。

構成について

構成イメージは下記となります。

Dockerfileについて

踏み台経由でアクセスするには、踏み台にSSH接続する必要があり、Dockerfileにインストールするパッケージを追加しています。
Dockerイメージの構築やコンテナへの接続については前述のブログをご参照ください。

ポートフォワーディングの設定について

ローカルフォワードの設定をします。
1行目ですと、ローカルホスト(Dockerコンテナ)のポート15986のトラフィックをリモートホスト(10.200.0.155)のポート5986に転送するという設定です。

インベントリについて

インベントリについては下記用意しました。
それぞれのホストがlocalhost、前項で設定したポートに設定しています。

秘密鍵の用意

秘密鍵はローカルからマウントしたディレクトリにて持ち込みましたが、ひと手間必要です。
そのままSSH接続しようとするとbad permissionということで怒られてしまいます。
マウントしたWindowsのACLが有効なディレクトリではchmodコマンドでパーミッションが書き換えられません。
コンテナ内の適当なところにコピーして権限を変更します。

踏み台へSSH接続

踏み台へSSH接続します。
今回はscreenコマンドを利用してSSH接続するセッション、Ansibleを実行するセッションを同時に実行します。
元のセッションに戻るには ctrl + aのあとに dを入力します。

Ansibleでの接続確認

win_pingモジュールにて接続確認をしてみます。
接続できました!

さいごに

細かいところで色々とつまづいてしまい、悪戦苦闘していたのですがうまく接続できました。
どなたかの参考になれば幸いです。

AWS運用自動化サービス「Cloud Automator」無料トライアルはこちらから

CATEGORY :

COMMENT ON FACEBOOK