みなさん、こんばんは。小寺です。
先月のアップデートで EC2インスタンスに対しデフォルトでSSMを有効にする「Default Host Management Configuration」の新機能が発表されました!
https://aws.amazon.com/jp/about-aws/whats-new/2023/02/enable-aws-systems-manager-default-all-ec2-instances-account/

アップデート内容

デフォルトのホスト管理設定 (Default Host Management Configuration) (以下、DHMC)エージェントを使えば1 回操作を行うだけで、Systems Managerが有効になり、当該AWSアカウント内のEC2インスタンスすべての権限が設定できるというすぐれものです。
DHMCでPatch Manager、Session Manager、Inventory といった Systems Managerが提供しているコア機能が全て使えます。

今までSSMを使うとき
・SSMを使うEC2インスタンスにインスタンスプロファイルを設定する
・SSM Agentは上記インスタンスプロファイルの権限によって、動作しSSMの各機能が使えた

このアップデートによって変わったこと
・SSMを使うEC2インスタンスにインスタンスプロファイルは必須では無くなった
・EC2インスタンスにインスタンスプロファイルが設定されている場合、SSM Agentはそのインスタンスプロファイルの権限で動作し各SSMの機能を使う
・EC2インスタンスにインスタンスプロファイルが設定されていない場合、SSM AgentはDHMCに設定されたロールからクレデンシャルを取ってきてSSMの機能が使える

DHMCを使ってみる!

前提条件として、以下があります。
Instance Metadata Service バージョン 2 (IMDSv2) を使用するすべてのインスタンスと、SSM エージェント バージョン 3.2.582.0 以降がインストールされている AWS アカウントが自動的にマネージド インスタンスになります。
デフォルトのホスト管理設定は、インスタンス メタデータ サービス バージョン 1 をサポートしていません。

(1)ロールの設定を行います。「SSMManagedEC2InstanceManagement」ポリシーとして作成します。
iam:PassRoleとAWSSystemsManagerDefaultEC2InstanceManagementRoleが必要です。

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:GetServiceSetting",
"ssm:ResetServiceSetting",
"ssm:UpdateServiceSetting"
],
"Resource": "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-instance-management-role"
},
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "arn:aws:iam::account-id:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole",
"Condition": {
"StringEquals": {
"iam:PassedToService": [
"ssm.amazonaws.com"
]
}
}
}
]
}

(2)ロール作成します。「SSMManagedEC2InstanceDefaultRole」という名前にしました。

(3)Systems Managerを起動し、「フリーとマネージャー」を選びます。

(4)「アカウント管理」のプルダウンから「デフォルトのホストの管理の設定」をクリックします。

(5)「デフォルトのホスト管理設定を有効にする」にチェックをします。

(6)ロールを選んで「設定」をクリックします。

(7)正常に有効化された旨のメッセージが表示されます。

(8)次にEC2を起動します。前提条件を満たすために、「高度な詳細」からメタデータのバージョンは「V1及びV2」を選んでおきます。

(9)EC2起動後、フリーとマネージャーには表示がされなかったです・・。

(10)SSMエージェントバージョンを最新にするため、以下コマンドを実行します。
yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm

(9)無事に表示がされるようになりました。

DHMCが使えるリージョン

Sinnet 運営の AWS 中国 (北京) リージョンと NWCD 運営の AWS 中国 (寧夏) リージョンを除く、すべての商用リージョンおよび AWS GovCloud (米国) リージョンで使えます。

まとめ

Systems Managerに新機能のDHMCが発表されました。
インスタンスプロファイルを設定しなくても、Systems Managerが使えるのは便利ですね。
どのSSMエージェントバージョンにも対応してくれると、バージョンアップしなくてすむのでもっと便利になりそうですね。