1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Systems Manager Default Host Management Configurationを使ってみた

Last updated at Posted at 2023-03-16

はじめに

2023年2月17日にAWSから発表のあったSystems Manager Default Host Management Configurationを試してみたので、共有します。

Systems Manager Default Host Management Configurationとは

Default Host Management Configuration(以下 DHMC、日本語:デフォルトのホスト管理設定)を利用すると、EC2インスタンスに対しデフォルトでSSMを利用可能にするための権限を設定できます。

利用できるのは以下の2つの条件を満たした場合のみとなります。
・SSM AgentはVer.3.2.582.0以上
・Instance Metadata Service バージョン 2 (IMDSv2)

DHMCの機能

DHMCでは、EC2のインスタンスプロファイルではなく、SSM サービスに設定されたロールから直接クレデンシャルを取得します。

以下に従来の挙動とDHMCを利用した場合の違いをまとめています。

  • インスタンスプロファイルの必要性

    • 従来:必須
    • DHMC:必須でない
  • SSM Agentの挙動

    • 従来:インスタンスプロファイルの権限で動作
    • DHMC
      ・インスタンスプロファイルあり:インスタンスプロファイルの権限で動作
      ・インスタンスプロファイルなし:DHMCに設定されたロールからクレデンシャルを取得

インスタンスプロファイルが設定されている場合はそちらが優先されるため、DHMCはインスタンスプロファイルを設定していない場合に使用されるデフォルトロールのようなものかと考えます。

インスタンスプロファイルとDHCMをどちらも設定している場合は、ssm:UpdateInstanceInformation アクションをインスタンスプロファイルにて許可しているかしてないかで挙動が変わります。

image.png

実際に使ってみた

以下の手順でDHCMを利用するデモを行いました。

IAMロールの作成

AmazonSSMManagedEC2InstanceDefaultPolicy を利用して、IAMロールを作成します。
DHMC の利用のためにAWSから用意されたポリシーとなっているので、DHCM 利用時は基本的に AmazonSSMManagedEC2InstanceDefaultPolicy の利用を検討しましょう。

※ AmazonSSMManagedInstanceCorePolicyとの違い
おおむね同じです。ただ、以下の2つのアクションが、AmazonSSMManagedInstanceCorePolicy では許可されています。(AmazonSSMManagedEC2InstanceDefaultPolicy では許可されていない)
・ssm:GetParameter
・ssm:GetParameters

image.png

このロールは、EC2ではなく、Systems Manager に設定するものなので、信頼するエンティティはssm.amazonaws.com としてください。
image.png

DHMCの設定

  • Systems Manager Fleet Manager から設定する場合
    Systems Manager > Fleet Manager >アカウント管理 >デフォルトのホスト管理設定の構成 より設定可能です。

image.png

デフォルトのホスト管理設定の構成を有効にし、先ほど作成したIAMロールを選択します。
image.png

  • CLIから設定する場合
    aws ssm get-service-setting コマンドを使用します。
aws ssm get-service-setting --setting-id "arn:aws:ssm:${region}:${account_id}:servicesetting/ssm/managed-instance/default-ec2-instance-management-role“

DHMCは有効にしてから利用可能になるまで最大30分ほどかかるそうなので、ご注意ください。

EC2インスタンスの作成

Instance Metadata Service バージョン 2 (IMDSv2)のEC2インスタンスを作成します。
このAMIだとSSM AgentのバージョンがVer.3.2.582.0より古いため、今回はユーザーデータで最新バージョンにしました。

参考:https://dev.classmethod.jp/articles/aws-systems-manager-supports-default-host-management-configuration/

また、今回はDHMCを試すために、インスタンスプロファイルは設定しません。
image.png

EC2インスタンスを確認

  • Systems Manager Fleet Manager
    作成したインスタンスをマネージドノードとして確認
    image.png

  • Systems Manager Session Manager
    作成したインスタンスにSession Manager から接続可能なことを確認
    image.png

おわりに

デフォルトでSSMを利用できるようになるのはとても便利な機能だと思いました。
2月のAWSのアップデートで一番気になった機能だったので、試すことができてよかったです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?