ヤマムギ

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認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。

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

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

 - AWS , ,

  関連記事

5分でAlexaスキルを作る

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …

API GatewayのアクセスログをCloudWatchに記録する

Amazon API GatewayのアクセスログをCloudWatchに記録で …

AWS WAFをSIEM on Amazon OpenSearch Serviceで可視化

SIEM on Amazon OpenSearch Serviceを構築の環境に …

IAMセッションポリシーの利用(GetFederationToken)

GetFederationTokenでのセッションポリシーは、呼び出し元のIAM …

AWSアカウント内のすべてのS3バケットを削除するLambda(Python)

やりたいこと 特定アカウント内のS3バケットを全部削除したいです。 バケット内の …

EFSをEC2(Amazon Linux 2)からマウントする

Amazon Elastic File Systemが東京リージョンに来たことも …

このブログをAWS大阪リージョンへ移行しました

大阪リージョン爆誕!! 朝起きて寝ぼけながらリージョンを見てると。 「大阪リージ …

Amazon CloudWatch Anomaly Detectionをダッシュボードに設定

Amazon CloudWatch クロスリージョンクロスアカウントダッシュボー …

AWS Elastic Beanstalkによって作成されたS3バケットはDeleteBucketが拒否されていた

ちょっとした検証をしたあとに、Elastic Beanstalkのアプリケーショ …

Amazon Rekognitionでイベント参加者の顔写真を解析して似ている人ランキングをその場で作る

2017/9/21に開催されたAWS Cloud Roadshow 2017 大 …