前回は、AnsibleでAWS webインスタンスを構築するという目標を記述しました。
しかし、クラウド環境においては、リソースの使用状況に応じて動的に更新する必要があります。
そこで登場するのがDynamic Inventory(ダイナミックインベントリ)です。
情報取得のスクリプトによって各クラウドのAPIからインベントリ情報をJSON形式で出力します。これをAnsibleコマンド実行時にターゲットノードに接続を行います。
実際には私は、以下の2ファイルを採取して情報を取得しました。
~.ansible/ec2.py
~.ansible/ec2.ini
これで正常にインスタンス情報が取得できたことが確認できれば、ansible-playbookでAWSインスタンスにブートストラッピングしました。
かなりコードが長くて、roleも使っているため高度ですが、まとまってきたらgit pushします。