ヤマムギ

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

  関連記事

slackのbotに天気を教えてもらう(Python on AWS Lambda + API Gateway)

slackのbotにAPIの定番ともいえる天気情報を教えてもらいました。 環境は …

VPC新コンソールの日本語UIでルートテーブル編集時のエラー(2021/6/10)が発生したのでフィードバックを送った

VPCの新コンソールがリリースされていたので使って作業してましたところ、こんなエ …

IAMユーザーにパスワード変更とMFA設定を許可する

組織管理のIAMで、ユーザーにMFAを使ってサインインしない限り操作は許可しない …

Cloud9でAWS CDK環境

最初ローカルに作ろうと思ったのですが、環境依存がというか、Macbookの環境で …

AWS CodeStarで静的webサイトのテンプレートプロジェクトを作成する

執筆環境の検討中です。 CodeCommitは使うつもりで、コミットしたときにE …

ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築ハンズオン 手順

ヤマムギとは from Mitsuhiro Yamashita 「AWSではじめ …

新規アカウントでAWS Budgetsの設定をしました

新規で組織を作ってAWS Budgetsを久しぶりに設定しました。 作成してすぐ …

2017年、このブログ(WordPress(Amazon EC2 + RDS))で対応してきたこと

Amazon Web Services Advent Calendar 2017 …

AWS CloudFormationでAmazon DynamoDBテーブルを作ってアイテムを追加する

デモ用にDynamoDBテーブルを作って消して、ということをたまにするので、Cl …

AWS Summit 2016 Tokyoに参加してきました (前日 ~ Day1)

AWS Summit 2016 Tokyoにて、セッション聴講、ブース展示拝見、 …