AWS Systems Manager Automation ですべてのインスタンスをターゲットにすることが可能になりました!

2019.12.23

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

園部です。

今日は、地味なアップデートを拾っていきたいと思います。

前半の 「アカウントおよびリージョン内の」 に目が行きがちですが、これはこれでまた別の機会に回収出来ればと思います。今日は、 「すべてのインスタンスのターゲティング」 を取り上げたいと思います。

どういうアップデートなの?

Automation を実行する際には、ターゲット(Automaiton が実行される対象)を指定する必要があります。

※ 以下は、 AWS-StopEC2Instance ドキュメント で 「レート制御」 を選択した場合の画面です。

ターゲット にはいくつかの選択方法があります。

  • パラメータ値
  • リソースグループ
  • タグ

公式ドキュメント - ターゲットについて

この ターゲット に今回新しく All instances が追加となりました。

これにより、既存の方法では指定が煩雑だった すべてのインスタンス( SSM 管理対象インスタンス )に対して、Automation を実行することが可能となります。

( めんどくさがり屋さんには最高だな... とりあえずぜんぶお願いします!!

やってみる

検証パターン

EC2 を4台用意します。 3台は複数タグを付与して管理されていますが、1台はタグが付与されていないインスタンスが存在します。

まずは既存の方法である タグを利用して、すべてのインスタンスを停止しようと思います。 ・・・ (1)

次に意図した通りにならないので、新しい方法で再度、すべてのインスタンスを停止してみます。 ・・・ (2)

1. タグ を利用してすべてのインスタンスを停止

※ 詳細な実行手順は割愛しています。

AWS-StopEC2Instance ドキュメント で レート制御 を選択

ターゲット では、 タグ を選択し、 env: (All values) を指定します。

実行した結果を確認すると、3台に処理が実行されています。

3台は正常に停止されています。

当たり前といえばそうですが、指定したタグ(env)が付与されていないため、実行対象外となっています。 そのため対象とするには、指定したタグを残りの1つのインスタンスにも付与するなどの対応が必要となります。これは、他の選択方法の場合も同様です。

( そもそもタグはしっかり管理しようぜ!! というご指摘もあるかと思いますが、、、

2. All instances を利用してすべてのインスタンスを停止

再度、すべてのインスタンスを起動した上で、同様のドキュメントを指定します。

※ 詳細な実行手順は割愛しています

ターゲット では、 All instances を選択します。

実行した結果を確認すると、4台に処理が実行されています。

4台は正常に停止されています。

さいごに

別にものぐさのための救済措置という位置付けではなく、初期設定をすべてのインスタンスに実施する際や抜け漏れなく実施したいアクションなどでは重宝するシーンもあるのではないでしょうか?

普段は利用せずとも、頭の片隅に留めておくといざという時に活躍しそうな予感です!!