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のインストールをしています。
東京リージョン向けです。
1 2 3 4 |
#!/bin/bash sudo yum install -y https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast-1/latest/linux_amd64/amazon-ssm-agent.rpm sudo systemctl restart amazon-ssm-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ロールが使用されているようです。
1 2 3 4 |
sh-5.2$ aws sts get-caller-identity Unable to locate credentials. You can configure credentials by running "aws configure". |
IAMロールでDenyした場合
EC2インスタンスプロファイルのIAMロールに次のポリシーをアタッチして、EC2インスタンスを起動してみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2messages:*", "ssmmessages:*", "ssm:*" ], "Resource": "*" } ] } |
これでもSystems Managerフリートマネージャでマネージドノードとして確認できました。
拒否している場合もSSMアクションが許可されていないEC2インスタンスとして、デフォルトのホスト管理ロールが使用されるんですね。
デフォルトのホスト管理設定はアカウント、リージョンごとに有効なので、そのリージョンの特定のEC2インスタンスをSystems Managerで管理したくない場合には、従来どおり、デフォルトのホスト管理設定を無効化しておけば良いようです。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
特定AWSアカウント特定リージョンのCloudFormationスタックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のCloudFormationスタ …
-
AWS Summit 2016 Tokyoに参加してきました (Day2)
馬込は非常に良い天気です。 泊まっている部屋が2Fでしたので窓を明けると歩いてい …
-
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年版)の環 …
-
試そうとしてたらSavings Plans買っちゃいました
Savings Plansの購入画面を確認していました。 画面遷移も確認しようと …
-
EC2 Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(手順整理版)
ブログサイト(WordPress)をレンタルWebサーバーからAWSに移設する事 …
-
VPC新コンソールの日本語UIでルートテーブル編集時のエラー(2021/6/10)が発生したのでフィードバックを送った
VPCの新コンソールがリリースされていたので使って作業してましたところ、こんなエ …
-
このブログをAWS大阪リージョンへ移行しました
大阪リージョン爆誕!! 朝起きて寝ぼけながらリージョンを見てると。 「大阪リージ …
-
JAWS FESTA 2017 Reverse X re:Birth
JAWS FESTA 2017 中四国 今年はブログタイトル「JAWS FEST …
-
AWS DeepLensセットアップの儀
AWS DeepLensのセットアップを開始します。 AWS DeepLensを …
-
AWS認定試験の自宅受験で壁のポスターを注意されちゃいました
AWS認定オンライン受験をしてみましたに書きましたとおり、自宅受験デビューしまし …