Session Manager を使用して Amazon EC2インスタンスに接続する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Session Manager を使用して Amazon EC2インスタンスに接続する

作成者: Jason Cornick (AWS)、Abhishek Bastikoppa (AWS)、Yaniv Ron (AWS)

概要

このパターンでは、AWSSystems Manager の一機能である Session Manager を使用して Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに接続する方法について説明します。このパターンを使用すると、ウェブブラウザを介してEC2インスタンスで bash コマンドを実行できます。Session Manager では、インバウンドポートを開く必要はなく、EC2インスタンスのパブリック IP アドレスも必要ありません。さらに、異なる Secure Shell (SSH) キーで踏み台ホストを維持する必要がなくなります。AWS Identity and Access Management (IAM) ポリシーを使用して Session Manager へのアクセスを管理し、インスタンスのアクセスやアクションなどの重要な情報を記録するログ記録を設定できます。

このパターンでは、 IAMロールを設定し、Amazon マシンイメージ () を使用してプロビジョニングする Linux EC2インスタンスに関連付けますAMI。次に、Amazon CloudWatch Logs でログ記録を設定し、Session Manager を使用してインスタンスとのセッションを開始します。

このパターンは Amazon Web Services (AWS) クラウドの Linux EC2インスタンスに接続しますが、このアプローチを使用して、オンプレミスサーバーやその他の仮想マシンなどの他のサーバーとの接続に Session Manager を使用できます。

前提条件と制限

前提条件

アーキテクチャ

ターゲットテクノロジースタック

  • セッションマネージャー

  • Amazon EC2

  • CloudWatch ログ

ターゲット アーキテクチャ

Session Manager はEC2インスタンスに接続し、ログデータを CloudWatch Logs または S3 バケットに送信します。
  1. ユーザーは、 を通じて ID と認証情報を認証しますIAM。

  2. ユーザーは Session Manager を介して SSHセッションを開始し、EC2インスタンスにAPI呼び出しを送信します。

  3. EC2 インスタンスにインストールされている AWS Systems Manager SSM エージェントは、Session Manager に接続してコマンドを実行します。

  4. 監査およびモニタリングの目的で、Session Manager はログデータを CloudWatch Logs に送信します。あるいは、Amazon Simple Storage Service (Amazon S3) バケットに、ログデータを送信することもできます。詳細については、「Amazon S3 を使用したセッションデータのログ作成」 (システムマネージャードキュメント)を参照してください。

ツール

AWS サービス

  • Amazon CloudWatch Logs は、すべてのシステム、アプリケーション、およびAWSサービスからのログを一元化するのに役立つため、ログをモニタリングして安全にアーカイブできます。

  • Amazon Elastic Compute Cloud (Amazon EC2) はAWS、 クラウドでスケーラブルなコンピューティング性能を提供します。必要な数の仮想サーバーを起動することができ、迅速にスケールアップまたはスケールダウンができます。このパターンでは、Amazon マシンイメージ (AMI) を使用して Linux EC2インスタンスをプロビジョニングします。

  • AWS Identity and Access Management (IAM) は、誰を認証し、誰に使用を許可するかを制御することで、 AWSリソースへのアクセスを安全に管理するのに役立ちます。

  • AWS Systems Manager は、 AWS クラウドで実行されているアプリケーションとインフラストラクチャの管理に役立ちます。アプリケーションとリソースの管理が簡略化され、オペレーション上の問題の検出と解決時間が短縮され、AWS リソースを大規模かつセキュアに管理できるようになります。このパターンは、システムマネージャーの機能である「Session Manager」 を使用します。

ベストプラクティス

AWS Well-Architected フレームワークのセキュリティの柱の詳細を読み、暗号化オプションを調べ、「Session Manager のセットアップ」(Systems Manager ドキュメント) でセキュリティの推奨事項を適用することをお勧めします。

エピック

タスク説明必要なスキル

IAM ロールを作成し、

SSM エージェントのIAMロールを作成します。「 AWSサービスのロールの作成」 (IAM ドキュメント) の指示に従い、以下の点に注意してください。

  1. AWS サービスで、 を選択しますEC2

  2. [許可] で、AmazonSSMManagedInstanceCore を選択します。

  3. [ロール名] に EC2_SSM_Role を入力します。

AWS システム管理者

EC2 インスタンスを作成します。

  1. EC2 インスタンスを作成します。「インスタンスを起動する」(Amazon EC2ドキュメント) の指示に従い、以下の点に注意してください。

    1. 名前とタグ]セクションで、[その他のタグを追加]を選択します。[キー] に「Name」と入力し、[] に「Production_Server_One」と入力します。

    2. SSM エージェントAMIがプリインストールされている Amazon Linux を選択します。詳細なリストについては、AMIsSSM「 エージェントをプリインストールした 」(Systems Manager ドキュメント) を参照してください。

    3. 詳細セクションのIAMインスタンスプロファイルで、EC2_SSM_Role を選択します。

  2. で Systems Manager コンソールを開きますhttps://console.aws.amazon.com/systems-manager/

  3. ナビゲーションペインで、[Fleet Manager] を選択します。

  4. インスタンスがマネージドノードのリストに表示されていることを検証します。

AWS システム管理者

ログ記録をセットアップする。

  1. Logs で CloudWatch ロググループを作成します。「ロググループの作成」(CloudWatch ログドキュメント) の手順に従います。新しいロググループSessionManagerに名前をつけます。

  2. Session Managerのログを設定します。「Amazon CloudWatch Logs を使用したセッションデータのログ記録」 (Systems Manager ドキュメント) の指示に従い、以下の点に注意してください。

    1. 暗号化された CloudWatch ロググループのみを許可を選択しないでください。

    2. リストからロググループを選択するで、 を選択しますSessionManager

AWS システム管理者
タスク説明必要なスキル

EC2 インスタンスに接続します。

  1. Systems Manager コンソールでセッションを開始する方法 。手順については、「セッションを開始する 」(Systems Manager のドキュメント)を参照してください。ターゲットインスタンスの場合、Production_Server_One インスタンスの左側にあるオプションボタンを選択します。

  2. 接続が完了した後に、いくつかの bash コマンドを実行します。

  3. システムマネージャーコンソールで、セッションを終了します。手順については、「セッションの終了」 (システムマネージャードキュメント) を参照してください。

AWS システム管理者

ロギングを検証する。

  1. CloudWatch ログで、ロググループのログストリームを開きます。手順については、「ログデータの表示」(CloudWatch ログドキュメント) を参照してください。

  2. ログデータに、前の記事で実行したコマンドが一覧表示されていることを確認します。

AWS システム管理者

トラブルシューティング

問題ソリューション

IAM 問題点

サポートについては、「トラブルシューティングIAM」( ドキュメント) を参照してください。

関連リソース