AWS Systems Manager Session Managerを利用してプライベートにあるAmazon EC2環境に接続する

AWS

2023.10.31

Topics

はじめに

初めまして。2022年度に入社した韓国出身のeunseoです。
本記事では、Amazon Session Managerを利用してプライベートサブネットにあるAmazon EC2環境にアクセスする手順を紹介します。

概要

AWS Session Managerを利用して接続できる方法は

  1. IGWを通じて接続
  2. 踏み台サーバーを使用して接続
  3. VPC Endpointを使用して接続

今回は、VPC Endpointを使用してプライベートサブネットにあるEC2への接続を試してみます。

AWS Systems Manager とは

AWS Systems Manager(旧SSM) とは、ハイブリッド・マルチクラウド環境向けのセキュアなエンドシーエンドの管理ソリューションです。

・複数のサービスのデータを表示、インスタンスのモニタリング及び管理をする。

AWS Session Manager とは

AWS Session Manager とは、フルマネージド型のAWS Systems Manager機能のサービスで、インスタンス、オンプレミスサーバー、仮想マシン (VM)など安全な接続を確立できる。

・SSHキーの管理やインバウンドポートを開く必要がない。
・このサービスを使用するためには、SSM Agentのインストールが必要である。

事前準備

・プライベートサブネットにAWS EC2インスタンスを作成
→ パブリックIPなし、キーペアなし

・AWS EC2のOSではAWS SSM Agentのインストールが必要
→ Amazon Linux 2 用および Amazon Linux 2023用には、プリインストールされています

環境構築

IAMロール作成

  1. IAMコンソールに移動します。
  2. 左にある「アクセス管理」→「ロール」をクリックし、「ロールを作成」を選択します。
  3. 信頼されたエンティティを選択の部分で「AWSのサービス」を選択します。
  4. ユースケースは「EC2」を選択し、「次へ」をクリックします。
  5. 許可ポリシーで「AmazonSSMManagedInstanceCore」を選択し、「次へ」をクリックします。
  6. ロール名を付けます。
  7. 許可ポリシーを確認し、「ロールを作成」をクリックします。

EC2にロールをアタッチ

  1. EC2コンソールのインスタンスに移動し、対象サーバー(eunseo-private-test)を選択します。
  2. 右上にある「アクション」→「セキュリティ」→「IAMロールを変更」の順で選択します。
  3. 「IAMロール」で先ほど作成したIAMロールを選択し、「IAMロールの更新」をクリックします。

VPCセキュリティグループを作成

  1. VPCコンソール画面上に移動します。
  2. セキュリティグループの「セキュリティグループを作成」を選択します。
  3. セキュリティグループ名を入力し、自分のVPCを選択します。
  4. インバウンドルール には 下記の設定を行います。
    1. タイプ:[HTTPS]
    2. ソース:[10.0.0.0/16](VPC の IPv4 CIDR値)
    3. 「セキュリティグループを作成」を押下

VPCエンドポイントを作成

下記の3点はSession ManagerがEC2インスタンスと通信するために必要な設定となります。

・com.amazonaws.ap-northeast-1.ssm : SSMサービス全般で使用する
・com.amazonaws.ap-northeast-1.ec2messages : SSMエージェントがSSMサービスを使用する
・com.amazonaws.ap-northeast-1.ssmmessages : Session Managerで使用する

VPCエンドポイントを作成① – ssm

  1. エンドポイントに移動し、「エンドポイントを作成」をクリックします。
  2. エンドポイント名を入力し、「AWSのサービス」を選択します。
  3. サービス検索欄に「ssm」を入力し、「com.amazonaws.ap-northeast-1.ssm」を選択します。
  4. 自分のVPCを選択し、DNS名を有効化します。
  5. サブネットでEC2を配置したプライベートサブネットを選択し、先ほど作成したセキュリティグループを選択します。
  6. 問題なければ「エンドポイントを作成」をクリックします。

VPCエンドポイントを作成② – ec2messages

エンドポイントを作成①の手順と同じく繰り返します。

  1. エンドポイント名を入力し、「AWSのサービス」を選択します。
  2. サービス検索欄に「ec2messages」を入力し、「com.amazonaws.ap-northeast-1.ec2messages」を選択します。
  3. 自分のVPCを選択し、DNS名を有効化します。
  4. サブネットでEC2を配置したプライベートサブネットを選択し、先ほど作成したセキュリティグループを選択します。
  5. 問題なければ「エンドポイントを作成」をクリックします。

VPCエンドポイントを作成③ – ssmmessages

  1. エンドポイント名を入力し、「AWSのサービス」を選択します。
  2. サービス検索欄に「ssmmessages」を入力し、「com.amazonaws.ap-northeast-1.ssmmessages」を選択します。
  3. 自分のVPCを選択し、DNS名を有効化します。
  4. サブネットでEC2を配置したプライベートサブネットを選択し、先ほど作成したセキュリティグループを選択します。
  5. 問題なければ「エンドポイントを作成」をクリックします。
  6. 三つのエンドポイントのステータスが「利用可能」になっていることを確認します。

Session ManagerでEC2に接続

  1. プライベートサブネットにある対象サーバーを選択し、右上にある「接続」をクリックします。
  2. 「セッションマネージャー」に移動し、「接続」をクリックします。
  3. プライベートサブネットにある AWS EC2へのアクセスができます。

まとめ

本記事では、Amazon Session Managerを利用してプライベートサブネットにあるAmazon EC2環境にアクセスする手順を初心者が見ても分かりやすいように紹介しました。
本記事が環境構築及び検証の際に微力でも役に立つことができたら幸いです。

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら