SSM Run Commandを利用して、EC2Configを大量にアップデートする
コンニチハ、千葉です。
EC2上でWindowsを運用する場合、とっても便利なSSM Run Command。これを利用し今回は、5台のインスタンスに対してEC2Configのアップデートを行ってみます。
今回は5台ですが、100台でも200台でも大丈夫です。同じコマンドを大量のWindowsサーバに実行する場合は、SSM Run Commandを利用すると幸せになれます。
前提条件
SSMを利用する上での前提条件です。SSM Run Command の前提条件
中でも注意が必要そうなポイントを上げておきます
- インスタンスロールをアタッチしたインスタンスであること
- インターネットアクセス(アウトバウンド)が必要※プライベートサブネットの場合はNAT等を利用する
注意事項
- EC2Configのアップデートを実施するには、EC2Configのバージョンが``` 3.10.442``以降である必要があります
- EC2Configのアップデートを行うと、設定ファイルがデフォルト設定ファイルに上書きされますので、別途復元する必要があります
- EC2Configの設定でCloudWatch Logsへの設定をすることが多いと思いますが、CloudWatch Logs設定用のRun Commandドキュメントもあるのでこちらを利用するといいと思います
やってみた環境
まずは、EC2インスタンスを5台用意しました。
インスタンスロールも付与します。
現在のEC2Configのバージョンです。3.16.930
やってみた
EC2 > マネージドインスタンスより、コマンド実行
を選択します。前提条件を満たしていると、インスタンスは自動で追加されているはずです。インスタンスがない場合は、前提条件をもう一度ご確認ください。
コマンドドキュメントには、AWS-UpdateEC2Config
、ターゲットインスタンスを選択します。また、特定のバージョンを指定したり、ダウングレードも可能となっています。何も指定しなければ、最新バージョンがインストールされます。
実行結果をS3バケットに保存することもできるので、指定しておきます。
コマンド履歴を見るとSuccess
となっています。
マネージドインスタンスからエージェントバージョンを見たところ、3.18.1118
へアップデートされていました。
万が一更新が失敗した場合は、ロールバックが実施されるようです。
さいごに
今回はEC2Configのアップデートを行ってみましたが、とても簡単に実施できました。SSMなしで、この作業を100台、200台やることを考えるとぞっとします。 便利かつ、手順ミスもなく、確実にアップデートできる、今後もどんどん使っていきたいサービスですね。