ヤマムギ

growing hard days.

*

Systems Manager デフォルトのホスト管理設定(Default Host Management Configuration)を確認しました

   

2023/2/17のアップデートAWS Systems Manager をアカウント内すべての EC2 インスタンスにおいてデフォルトで有効にする新機能が登場を確認しました。

前提

SSM Agent3.2.582.0以降のバージョンが必要です。
この検証時点ではデフォルトのAmazon Linux 2023にプリインストールされているバージョンが3.1.1927.0でしたので、検証で使用しているEC2インスタンスは次のユーザーデータでAgentのインストールをしています。
東京リージョン向けです。

検証準備

デフォルトのホスト管理設定を有効化する前から起動していたEC2インスタンスに対しても有効になるかを確認するために、あらかじめ3つのEC2インスタンスを起動しました。

  • BeforeDemoNoRole: EC2インスタンスプロファイルなし(IAMロールなし)
  • BeforeDemoRoleNoSSM: EC2インスタンスプロファイルあるがアタッチされているポリシーにSSM許可なし
  • BeforeDemoRoleSSM: EC2インスタンスプロファイルあり、SSMManagedInstanceCoreアタッチ

この時点でBeforeDemoRoleSSMだけがSystems Managerフリートマネージャでマネージドノードとして確認できました。

設定

Systems Managerフリートマネージャの[デフォルトのホスト管理設定]ボタンを押下しました。

デフォルトのホスト管理設定を有効にしてIAMロールは推奨の自動作成にしました。

作成されたIAMロールには、AWS管理ポリシーAmazonSSMManagedEC2InstanceDefaultPolicyがアタッチされて、信頼関係のPrincipalにはssm.amazonaws.comが設定されました。

設定後の確認

事前に作成していた3つのEC2インスタンスと同様の設定でEC2インスタンスを3つ起動しました。

結果、すべてのEC2インスタンスがSystems Managerフリートマネージャでマネージドノードとして確認できました。
セッションマネージャも使用できます。

EC2インスタンスプロファイルがあってもなくても関係なく、SSMアクションが許可されていないEC2インスタンスはデフォルトのホスト管理設定が使用されて、Systems Managerで管理できるようになりました。

EC2インスタンスプロファイルを設定していない(IAMロールを引き受けてない)EC2インスタンスにセッションマネージャーで接続して、sts get-caller-identityを実行すると、Unable to locate credentialsになりました。
EC2メタデータにAssumeRoleしたキーが設定されているわけではなく、AgentからSystems Managerで管理するためにSystems ManagerのIAMロールが使用されているようです。

IAMロールでDenyした場合

EC2インスタンスプロファイルのIAMロールに次のポリシーをアタッチして、EC2インスタンスを起動してみました。

これでもSystems Managerフリートマネージャでマネージドノードとして確認できました。
拒否している場合もSSMアクションが許可されていないEC2インスタンスとして、デフォルトのホスト管理ロールが使用されるんですね。

デフォルトのホスト管理設定はアカウント、リージョンごとに有効なので、そのリージョンの特定のEC2インスタンスをSystems Managerで管理したくない場合には、従来どおり、デフォルトのホスト管理設定を無効化しておけば良いようです。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

EC2のAMIとRDSのスナップショットを他のAWSアカウントに共有してブログサイトをAWSアカウント間で引っ越す

当ブログで使用しているEC2とRDSを環境の整理のため、他のAWSアカウントへ引 …

AWS Lambdaで「Process exited before completing request」

AWS lambdaで「Process exited before comple …

AWS Application Discovery Serviceのエージェントを実行

本来はオンプレミスのサーバーにエージェントをインストールして、自動でアプリケーシ …

Lucidchart AWSアカウントからインポート機能で自動作図

SNSでLucidchartというサービスが話題になってました。 AWSの環境を …

EC2スポットインスタンスの中断通知を受ける

オートスケーリンググループでEC2インスタンスをスポットインスタンスで使用してい …

AWS Systems Managerパラメータストアで「Parameter name must be a fully qualified name.」

パラメータストアでパラメータ階層を作成しようとして、パラメータ名に例えば「wor …

SendGridのイベントをAPI Gateway -> Lambda(Python) -> DynamoDBに格納する

SendGridのメールイベントログはコンソールで確認出来るのは直近7日分で一括 …

Amazon Route 53 Resolverを設定確認

Route 53 Resolverを設定しました。 東京リージョンのVPCをオン …

AWS Toolkit for Eclipseで「Error Message: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.」

AWS Toolkit for Eclipseをセットアップ(2021年版)の環 …

AWS Client VPNの接続ログを確認しました

AWS Client VPNを設定しましたで証明書とかせっかく作ったので、いろい …