Managerのメンテナンスウィンドウという機能を利用して、AMIバックアップのタスクを設定したエピソードをご紹介しました。フロントサーバーに関しては月次で、データベースサーバーに関しては日次で自動バックアップが取得できる環境ができました。再構築プロジェクトのチームでは、設定したタスクをまずは1週間動かして様子をみてみることにしました。1週間後、AMIバックアップとスナップショットの取得は問題なく実施されていたのですが、作成されたAMIにはネームタグが設定されないことに気づきました。Nameタグが設定されていても、されていなくてもバックアップは成功しているので問題はなかったのですが、世代管理ツールの識別子でNameタグを利用する予定だったので、自動で名前をつけるLambda関数を自作することにしました。Managerによって取得されたフロントサーバーとデータベースサーバーのAMIにNameタグをつけるLambda関数「Naming_the_AMI」を設定しています。Naming_the_AMIのコードは以下の通りです。命名規則に沿っていないためスキップ')AMIをresponse変数に取り込みまず、responseという変数にAMIの一覧を取り込みます。Server、EBSボリュームの4点で対象を絞りました。リージョンは環境変数を使用しました。AMI一覧をfor文でひとつずつ評価responseに取得したAMIをfor文でひとつずつ評価し、まずNameタグが指定されている場合は何もせずスキップ。Nameタグが指定されていない場合は、名前をつけるロジックにしました。以下の図のとおり、AMI名はインスタンスIDで始まります。そのため、19文字までがインスタンスIDと一致したら名前を付けることにしました。フロントサーバーと名付け、左から19文字目までがi-00001111222233334だったらデータベースサーバーと名付けることにしました。Nameタグの設定をすることで視覚的にも見やすくなりましたし、世代管理ツールの識別子としての役割も与えることができました。次回は、世代管理ツールについてご紹介させていただきます。