新規EC2インスタンスにSSM経由でAnsibleを実行する方法
ssh 経由で実行するサーバー初期構築用の Ansible のレシピがあって
これまでローカルPCからssh経由で対象サーバーにレシピを実行していたんですが
このレシピをなるべく改変せずに ssh のかわりに SSM を使って実行する方法はあるでしょうか
セキュリティ要件のため管理はすべてSSM経由で行うことになり
ローカルPCで ansible-playbook を実行するだけでは動きません
方法としては
- SSM でEC2に入ってからレシピを git clone でもってきて
ローカルホストに対して ansible を実行する
初期環境なので python, git, ansible が入っていないので手動でインストールする必要があり再現性が担保できない
aws cli には Run Command
(https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/walkthrough-cli.html)
というのがあってSSM 経由でコマンドを実行できるみたいなのですが
ansible で ssh のかわりにこの Run Command を使用するというのはできないでしょうかpython, git, ansible をインストールしてローカルに Ansible を実行する
という1連のスクリプトを書いてそれを Run Command で呼べば可能ではあるのですが
対象サーバーに ssh さえあれば何もインストールする必要がない Ansible のメリットが損なわれます
コストがかかるようであれば一時的に ssh をあけてもらって
レシピをいままでどおり実行した後閉じるということになるんですが
それも上長へ申請が必要なので、できるのであればSSMでansibleを実行する方法を知りたいです