SSM Run Commandを利用して、EC2Configを大量にアップデートする

2016.07.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

コンニチハ、千葉です。

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台用意しました。

20160720-run-command-ec2config-update-1

インスタンスロールも付与します。

20160720-run-command-ec2config-update-2

現在のEC2Configのバージョンです。3.16.930

20160720-run-command-ec2config-update-3

やってみた

EC2 > マネージドインスタンスより、コマンド実行を選択します。前提条件を満たしていると、インスタンスは自動で追加されているはずです。インスタンスがない場合は、前提条件をもう一度ご確認ください。

20160720-run-command-ec2config-update-4

コマンドドキュメントには、AWS-UpdateEC2Config、ターゲットインスタンスを選択します。また、特定のバージョンを指定したり、ダウングレードも可能となっています。何も指定しなければ、最新バージョンがインストールされます。

20160720-run-command-ec2config-update-5

実行結果をS3バケットに保存することもできるので、指定しておきます。

20160720-run-command-ec2config-update-6

コマンド履歴を見るとSuccessとなっています。

20160720-run-command-ec2config-update-7

マネージドインスタンスからエージェントバージョンを見たところ、3.18.1118へアップデートされていました。

20160720-run-command-ec2config-update-8

万が一更新が失敗した場合は、ロールバックが実施されるようです。

さいごに

今回はEC2Configのアップデートを行ってみましたが、とても簡単に実施できました。SSMなしで、この作業を100台、200台やることを考えるとぞっとします。 便利かつ、手順ミスもなく、確実にアップデートできる、今後もどんどん使っていきたいサービスですね。

参考

SSM Run Command を使用した EC2Config サービスの更新