フリートマネジャーとは?
Systems Managerのおさらい
Systems Manager(以下、SSM)とはAWSやオンプレミスのマルチ環境のノード(サーバ)を一元的に表示、管理、および運用するサービスです。
[ノードツール]、[変更管理ツール]、[アプリケーションツール]、[オペレーションツール]の4項目で区分され、多数の機能を提供しております。またそのほとんどが無料で利用できるのも特徴です。
SSMでは管理対象ノードを[マネージドノード]や[マネージドインスタンス]と呼びます。
マネージドノードにするには以下の3つ条件があり、条件を満たせばSSMの機能を実行することができます。
①SSM Agentが導入されていること
②SSMのエンドポイントへのアウトバウンド経路があること※
③IAMロールによる権限が付与されていること
詳細については、弊社でSSMに関する記事がありますのでご確認ください。
フリートマネジャー
フリートマネジャーとはSSMの1機能で、AWS またはオンプレミスで実行されているノード(サーバ)をリモートで管理できます。
1 つのコンソールからサーバ群全体の正常性とパフォーマンスステータスを表示できたり、個々のノードからデータを収集してコンソールから一般的なトラブルシューティングと管理タスクを実行することもできます。
その中の1機能としてサーバへの接続機能が提供されています。
その他のフリートマネジャーの機能や特徴は以下の公式ドキュメントをご確認ください。
Fleet Manager の機能は何ですか?
フリートマネジャーでのサーバ接続はポートの解放やグローバルIPアドレスを付与せずに、Webブラウザ上から接続可能で非常にセキュアな状態を保つことができます。
使ってみた
Windows EC2インスタンスに接続する
今回はSSM Agentがインストール済みのWindows Server 2022 のAMIで起動しているEC2インスタンスにフリートマネジャーを利用して接続してみたいと思います。
SSM AgentはAWSから発行されているAMIにはインストールされているケースが多いです。
AMIの詳細については以下の公式ドキュメントをご確認ください。
SSMエージェントがプリインストールされたAMIを探す
またSSM Agentのインストール方法について気になる方はそれぞれ以下の公式ドキュメントをご確認ください。
Linux の EC2 インスタンスに SSM エージェントを手動でインストールおよびアンインストールする
Windows Server の EC2 インスタンスに SSM エージェントを手動でインストールおよびアンインストールする
macOS の EC2 インスタンスに SSM エージェントを手動でインストールおよびアンインストールする
以下構成のイメージ図です。
図内のVPC等のネットワーク環境とEC2は事前作成済みとします。
早速手順をご紹介します。なお弊社検証環境のため一部マスクをしております。
※マネージドクラウド with AWSをご契約かつ弊社運用管理ツール[クラウドポータル]をご利用中のお客様は、別のIAMロールが付与されますので手順⑦まで進んでください。
①IAMロールを作成する
IAMコンソールから、[ロール]を押下して[ロールの作成]を押下します。
②信頼されたエンティティを選択する
[信頼されたエンティティ]で[AWSのサービス]の選択します。
ここでは誰がIAMロールを使用するのかを定義します。
[ユースケース]で[EC2]を選択して[EC2 Role for AWS Systems Manager]を選択します。
ここではどのサービスがIAMロールを使用するのか、またどのような用途で使用するのかを定義します。
③ロールにアタッチする権限を設定する
[許可ポリシー]に[AmazonSSMManagedInstanceCore]があることを確認します。
②でユースケースを選択することで、AWSがユースケースに合わせてロールに追加する権限を最小権限の原則に則り自動で判断してくれます。
意図せぬ権限を付与せずに済むので安心して利用できます。
※既存のIAMロールを使用したい場合は、[AmazonSSMManagedInstanceCore]ポリシーを許可として追加してください。
IAMロールを選択 > [許可]タブ > [許可を追加] > [ポリシーをアタッチ] > [AmazonSSMManagedInstanceCore] > [許可を追加]を押下します。
④内容を確認してロールを作成する
[ロール名]に任意の値を入力して作成します。
ロール名は後でEC2と紐づけるときに使用するので手元に控えておいてください。
⑤EC2にIAMロールをアタッチする
EC2コンソールから[インスタンス]を押下して、対象のEC2インスタンスの[インスタンスID]を押下します。
なお対象のEC2にはインバウンドルールが空の状態のセキュリティグループがアタッチされています。
[アクション]から[セキュリティ] > [IAMロールを変更]を押下します。
⑥IAMロールを選択する
先ほど作成したIAMロールを選択します。
[~に正常にアタッチしました]のメッセージが表示されればOKです。
これでSSMのマネージドノードにする準備が整いました。
⑦マネージドインスタンスを確認する
SSMコンソールから[ノードツール]の[フリートマネジャー]を押下して対象の[ノードID]を押下します。
5-10分程度待機すると、[マネージドノード]にEC2インスタンスが表示されるかと思います。
※一定時間が経過しても表示されない場合は以下の公式ガイドをご確認ください。
使用している Amazon EC2 インスタンスが、Systems Manager でマネージドインスタンスとして表示されない理由を知りたいです。
⑧RDP接続する
[ノードアクション]で[接続] > [リモートデスクトップで接続]を押下します。
フリートマネジャーではサーバの情報を確認することができ、[ノードアクション]として様々なアクションを実行することができます。
[現在の接続]タブで以下のように選択・入力します。
・[認証タイプ] > [キーペア]
・[管理アカウント名] > [Administrator]
・[キーペア] > [ローカルマシン~] > [ファイルを選択] > EC2作成時に指定したキーペア
⑨接続を確認する
RDP接続できたことを確認します。
画面右上の矢印マークを押下することで全画面表示できます。
メリット
使ってみて感じたメリットは以下になります。
●簡単かつセキュアに接続ができる
言わずもがな一番のメリットかと思います。
サーバに接続する経路として、インターネット経由もしくはVPNや専用線を敷設して接続する2経路あると思います。
インターネット経由でのアクセスはセキュリティが心配ですし、VPN接続や専用線を用意できるには時間とコストがかかります。
フリートマネージャーを使えばサーバをインターネットに公開することなく接続することが可能です。
また利用するリソースも少ないので運用コストも削減できます。
SSMのマネージドノードにするための条件が3つのみで導入のハードルが低く手軽に始められます。
ネットワークに関して本コラムではNAT Gatewayを使った方法をご紹介しましたが、VPCエンドポイントを利用すれば、よりセキュアな状態で使用することもできます。
Systems Manager のために VPC エンドポイントを使用して EC2 インスタンスのセキュリティを強化する
●複数サーバを1画面で表示可能
個人的に検証で複数サーバを同時に操作したいケースが多々あるので、画面を行き来することなく1画面で完結できるのは魅力的だと感じました。
従来のRDP接続だと、接続先のIPアドレスがタブごとに表示されるのでぱっと見て判断しづらい場合があります。
フリートマネージャーだとEC2のNameタグが画面の上に表示されているので従来と比較して判断しやすいと思います。
ただ操作対象に細心の注意を払って利用する必要があります。
まとめ
以上、SSMのフリートマネジャーを使ったWindows EC2への接続手順をメリットをご紹介しました。
なんといっても簡単かつセキュアに接続するという点で非常に優れた機能だと思います。サーバに接続する用途であれば使わない手はないだろうと思います。
今回紹介したRDP接続以外にもSSMやフリートマネージャーは魅力的な機能を多く提供しております。
まだ触ったことのない方、興味のある方はぜひ使ってみてください。