AWS Systems Managerの高速セットアップ(Quick Setup)でCloudWatchAgentの定期的なアップデートが簡単に設定できるようになったので試してみました

2022.09.20

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

こんにちは、AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。

皆さんは便利なAWS Systems Managerを使い倒したいですか?

私はしたいです。

アップデートによりAWS Systems ManagerのQuick Setupを使うことで、簡単にCloudWatchAgentを定期的なアップデートを自動化できるようになったので、試してみました。

下準備 EC2を構築する

AsiaPacific(Tokyo)リージョンに検証用のEC2を構築します。

以下のように設定します。

  • EC2からインターネットへの通信を可能にする
  • EC2にアタッチするセキュリティグループでHTTPSでのアウトバウンド通信を許可する

securigy_group_description

  • EC2のIAMインスタンスプロファイルで、IAMロールをアタッチしない
    • ※ 後述するQuick Setupによる「インスタンスプロファイルのオプション」を試すため

AWS Systems ManagerのQuick Setup(高速セットアップ)の設定

※ これより以下AWSマネジメントコンソールの設定は日本語の設定で行っています。

AWSマネジメントコンソールからAWS Systems Managerの管理画面に遷移します。

サイドバーの「高速セットアップ」を選択し、「設定」タブの「作成」を押下します。

quick_setup_console1

「ライブラリ」タブの「Distributor」の「作成」を押下します。

quick_setuo_console2

  • ソフトウェアパッケージで「Amazon CloudWatch agent」を選択します
  • 更新頻度はデフォルトのまま「30日ごと」を選択します
  • ターゲットのリージョンを「現在のリージョン」とし、ターゲットとするインスタンスに「すべてのインスタンス」を選択します
  • 「インスタンスプロファイルのオプション」で「必要な IAM ポリシーを、インスタンスにアタッチされている既存のインスタンスプロファイルに追加します」を有効にします
  • 「作成」を押下します

quick_setup_console3

なお、注意書きで記載されている様に「インスタンスプロファイルのオプション」を有効にしていることで設定に必要な権限を持つIAMポリシーとインスタンスプロファイルが作成されます。

作成されたインスタンスプロファイルはインスタンスプロファイルがアタッチされていないEC2にアタッチされます。また、すでにインスタンスプロファイルによりIAMロールがアタッチされている場合にも、権限が足りなければIAMポリシーを追加するようです。

今回は検証用のため有効にしていますが、あらかじめ意図したIAMロールを利用する場合はこのオプションを有効にしないようにしてください。

動作確認

作成後に以下のように高速セットアップ(Quick Setup)の画面に遷移し、数分間時間をおくことでアクションが成功しました。

complete1

実際にEC2インスタンスに接続し、CloudWatchAgentのバージョンを確認したところ、実行時点での最新バージョンになっていることを確認できました。

$ cat /opt/aws/amazon-cloudwatch-agent/bin/CWAGENT_VERSION
> 1.247355.0b252062

また今回EC2作成時にはインスタンスプロファイルにてIAMロールは設定していませんでした。

non_attache_iam_role

高速セットアップ設定後には、以下のように自動で作成されたIAMロールが設定されていました。

automatic_attached_iam-role

また、以下パターンでEC2を新規作成しており、それぞれ以下のような挙動となりました(「インスタンスプロファイルのオプション」の説明書きどおりの挙動)。

IAMロールの付与 IAMポリシー(AmazonSSMManagedInstanceCore)の付与 挙動
なし - 高速セットアップにより作成されたIAMロール(AmazonSSMRoleForInstancesQuickSetup )が付与された
あり 作成時点でIAMロールにIAMポリシーのアタッチなし 既存のIAMロールにAmazonSSMManagedInstanceCoreのポリシーが追加された
あり 作成時点でAmazonSSMManagedInstanceCoreのポリシーをアタッチ済み 変化なし

既存のIAMロールにも変更が加えられています。

IAMロールに変更を加えたくない場合、EC2には意図した権限のみ付与したい場合などは、「インスタンスプロファイルのオプション」を有効にしないほうが良いかと思われます。

まとめ

  • わずかな操作でCloudWatchAgentの定期的な更新を自動化できて便利
  • 「インスタンスプロファイルのオプション」を有効にすると、既存のIAMロールにも変更が加えられるなど留意が必要