AWS Organizations 環境で DHMC と Quick Setup を使って EC2 のインベントリ情報収集を試してみた

AWS Organizations 環境で DHMC と Quick Setup を使って EC2 のインベントリ情報収集を試してみた

2025.09.09

はじめに

AWS Systems Manager で EC2 のインベントリ情報収集を組織全体で適用する方法として、Default Host Management Configuration(DHMC)と Quick Setup を使用する手法はよく知られています。私は実際に手を動かして確認したことがなかったため今回試してみました。検証を進める中でドキュメントやブログ記事を斜め読みでは気が付かなかった点を備忘録として共有します。

検証環境

			
			AWS Organizations構成
├── 管理アカウント
├── 委任管理者アカウント(SSM 管理用)
└── メンバーアカウント(EC2 インスタンス配置用)
    ├── EC2インスタンス #1
    ├── EC2インスタンス #2
    ├── EC2インスタンス #3
    └── EC2インスタンス #4

		

検証用 EC2 インスタンスの構成

インスタンス IAM ロール ネットワーク設定 インスタンス状態
EC2 #1 なし インターネット接続あり 起動中
EC2 #2 なし インターネット接続あり 起動中
EC2 #3 なし SSM API への経路なし 起動中
EC2 #4 なし インターネット接続あり 停止

SSM 管理のための EC2 に設定する権限(IAM ロール、IAM ポリシー)は DHMC を設定し利用します。

https://dev.classmethod.jp/articles/how-aws-ssm-default-host-management-configuration-changes-devs-and-ops-role-management/

前提条件

今回の設定のために EC2 には以下の必要条件があります。SSM エージェントのバージョンが v3.2.52.0 以降ではないと対応していないなど諸条件があります。

AWS-Black-Belt_2023_AWS-SystemsManager-Overview_v1_pdf.png
AWS-Black-Belt_2023_AWS-SystemsManager-Overview_v1_pdf-2.png

詳細は Black Belt の資料をご確認ください。

https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AWS-SystemsManager-Overview_v1.pdf

SSM の委任管理者設定

最初に管理アカウントから Quick Setup のサービスを有効化し、管理権限を別の AWS アカウントへ委任しました。

サービス___AWS_Organizations___Global.png

Quick Setup 委任管理者の仕様

Quick Setup の委任管理者として登録すると、自動的に以下のサービスも委任されます。

  • AWS CloudFormation StackSets の委任管理者
  • Systems Manager の委任管理者

組織内の 1 つのアカウントを委任管理者として登録できます。アカウントを Quick Setup の委任管理者として登録すると、このアカウントも AWS CloudFormation StackSets と Systems Manager Explorer の委任管理者になります。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/quick-setup-delegated-administrator.html

委任管理者の設定が完了したら、以降は委任されたアカウントで作業を進めます。

設定___Systems_Manager___us-east-1_🔊.png
管理アカウントから Systems Manager の画面を確認した様子

Quick Setup で DHMC を有効化

委任管理者アカウントにログインし、Quick Setup から DHMC を設定しました。

実施手順

  1. Systems Manager コンソール → Quick Setup
  2. Default Host Management Configuration を選択

Quick_Setup___Systems_Manager___ap-northeast-1_🔊.png

デフォルトの設定で作成しました。

Default_Host_Management_Configuration_設定を作成___Systems_Manager___ap-northeast-1_🔊.png

DHMC の適用範囲

仕様

  • 全リージョン、全アカウントに一括適用される
  • 個別の OU 指定オプションは存在しない
  • 全体へ一括で適用

組織全体で統一的な管理を前提としている点は合理的です。ただし、段階的な導入を計画している場合は適用対象として OU やリージョンを選択できないので注意してください。

EC2 インスタンスの準備と DHMC の動作確認

別のメンバーアカウントに 4 台の EC2 インスタンスを用意し、DHMC の動作を確認しました。

インスタンス IAM ロール ネットワーク設定 インスタンス状態
EC2 #1 なし インターネット接続あり 起動中
EC2 #2 なし インターネット接続あり 起動中
EC2 #3 なし SSM API への経路なし 起動中
EC2 #4 なし インターネット接続あり 停止中

結果確認

委任管理者アカウントの SSM コンソールから確認します。

ノードのインサイトを確認___Systems_Manager___ap-northeast-1.png

期待通りの動作

EC2 #1 と #2 は IAM ロールを設定していないにもかかわらず、マネージドノードとして認識されました。DHMC が自動的に必要な権限を提供しているため、従来必要だった IAM ロールの設定が不要になっています。

SSM API への経路がない EC2 #3 と、停止中の EC2 #4 は、アンマネージドノードとして表示されました。

アンマネージドノードの判定ついて

ドキュメントには判定条件の詳細が記載されていませんでした。停止中でアンマネージドノードと表示と判定されるのは困るときもありますが、現時点で SSM 管理できていないインスタンスを特定できる点では良かったです。

Diagnose_and_remediate___Systems_Manager___ap-northeast-1.png
アンマネージドノードの診断レポートを作成

unmanaged-ec2-diagnosis__1__と_Claude_Code_—_aws-調査.png
ダンロードしたレポートの内容

アンマネージドノードの確認方法は以下の記事も参考にしてください。

https://dev.classmethod.jp/articles/aws-managed-unmanaged-ec2-check-cross-account/

Host ManagementでInventory設定

DHMC の設定完了後、Quick Setup の Host Management 機能の中の 1 つインベントリ収集を設定しました。

実施手順

  1. Quick Setup から Host Management を選択

Quick_Setup___Systems_Manager___ap-northeast-1_🔊-2.png

DHMC がすでに有効なため、インスタンスプロファイルのオプションの設定は不要です。

  • リージョン: すべて
    • すべてを選びましたが、大阪リージョンなど一部リージョンは非対応でした
  • 適用先: 検証のため特定の OU 配下を指定

Host_Management_設定を作成___Systems_Manager___ap-northeast-1_🔊-2.png

Host_Management_設定を作成___Systems_Manager___ap-northeast-1.png

インベントリ収集の動作確認

Quick Setup で設定したインベントリ収集状況を確認します。

委任管理者アカウントでの確認

委任管理者アカウントの SSM コンソールからは、インベントリ情報は表示されません。

インベントリ___Systems_Manager___ap-northeast-1-2.png

メンバーアカウントでの確認

EC2 インスタンスが存在するメンバーアカウントに切り替えると、インベントリ情報が表示されます。

インベントリ___Systems_Manager___ap-northeast-1.png

各マネージドノードの詳細情報も確認できます。

インベントリ___フリートマネージャー___Systems_Manager___ap-northeast-1.png

インベントリ情報は各アカウント内でのみ参照可能です。委任管理者アカウントからの横断的な参照はできません。

横断的にみたいときのための S3 バケットを使った集約設定

残念ながら Quick Setup では、インベントリデータを S3 バケットに集約する設定は行えません。

sc_2023-01-10_13-46-36_3695.png
組織全体でのインベントリ集約の仕組み(参考資料より)
画像引用: AWS Organizations環境でなるべく楽にSSMインベントリデータを集約したい | DevelopersIO

Quick Setup のインベントリ設定では、S3 バケットへの出力設定項目が提供されていません。

インベントリ___Systems_Manager___ap-northeast-1-3.png

組織全体でインベントリデータを集約する場合は、CloudFormation でカスタムリソース(Lambda)の設定が必要です。詳細な設定方法については、以下の記事を参考にしてください。

https://dev.classmethod.jp/articles/ssm-inventory-org-sync-v2/

まとめ

学んだことをまとめます。

  • Quick Setup の委任管理者設定により、CloudFormation StackSets と Systems Manager も同時に委任される
  • DHMC は組織全体に一括適用され、段階的導入はできない
  • SSM エージェントのバージョン、IMDSv2 の必要要件があること
  • インベントリの横断的な設定のための S3 バケット集約は Quick Setup から設定はできない

おわりに

DHMC と Quick Setup の組み合わせにより、組織全体の SSM 管理のための設定がとても簡単でした。とくに、EC2 の IAM ロールの設定が不要な点がいいですね。セッションマネージャーのために大方設定されている気持ちではいますが、大規模環境だとそうも言い切れないことがありまして。

参考

この記事をシェアする

FacebookHatena blogX

関連記事