はじめに
前回の記事で、私はSession Managerを使ってプライベートサブネットにあるEC2インスタンスへ接続するときのネットワーク経路はどのようになっているのかを書かせていただきました。Session ManagerからプライベートなEC2インスタンスへの接続を実現する方法は以下の2パターンになります。
- NatGatewayを使用した経路
- ssm接続用のVPCエンドポイントを使用した経路
上記2つの経路の特徴については、以下の記事をご参照ください。
Session Managerを使ってEC2に接続するにはどのような経路が必要なのか
今回は、ssm接続用のVPCエンドポイントを使用して、プライベートなEC2にSession Managerで接続する手順を紹介いたします。
前提条件
今回はssm接続に必要なネットワーク経路の作成にフォーカスするため、以下の設定は完了している前提で説明していきます。
- プライベートサブネットでEC2インスタンス (Amazon Linux2023)が起動していること
- アクセスするユーザーが使用するIAMユーザを作成していること
- EC2インスタンスに必要なIAMロールがアタッチされていること
今回のゴール
本記事では、以下の画像のようにssm接続用のVPCエンドポイントを作成してSession ManagerからEC2インスタンスに接続できることを目標とします。
設定手順
プライベートなEC2インスタンスへssm接続をするためには、以下の3つのVPCエンドポイントが必要になります。なお、これらはインターフェースエンドポイントとなるため月額料金が発生します。
- ssm
- ssmmessages
- ec2messages
以下に、各エンドポイントの設定方法について説明します。
1. ssmエンドポイントの作成
①AWSマネジメントコンソールにログインし、検索窓で「VPC」と検索します。
②VPCのページに遷移したら、左のメニューから「エンドポイント」をクリックします。
③エンドポイント一覧の右上にある「エンドポイントの作成」ボタンからVPCエンドポイントを作成していきます。
④エンドポイントの設定で任意の名前を入力し、サービスカテゴリでは「AWSのサービス」を選択します。
⑤サービスの検索窓で「ssm」と検索し、「com.amazonaws.ap-northeast-1.ssm」を選択します。
⑥VPCはssm接続したいEC2インスタンスがあるVPCを選択します。
⑦サブネットは接続したいEC2インスタンスがあるアベイラビリティゾーン及びサブネットを選択します。
⑧セキュリティグループは「~」なものを選択する。
⑨ポリシーとタグは、特別な要件がない限り特に設定は必要ありません。ポリシーはフルアクセスを選択したままにします。
⑩「エンドポイントを作成」ボタンを押すとエンドポイントが作成されます。
作成したエンドポイントは、エンドポイント一覧から確認できます。
2. ssmmessagesエンドポイントの作成
上記と同じ手順で、「エンドポイントを作成」ボタンからssmmessagesのエンドポイントを作成していきます。
①サービスで、「com.amazonaws.ap-northeast-1.ssmmessages」を選択します。
②VPC、サブネット、セキュリティグループ、ポリシー、タグは「ssm」エンドポイントと同じ値を設定します。
3. ec2messagesエンドポイントの作成
上記と同じ手順で、「エンドポイントを作成」ボタンからec2messagesのエンドポイントを作成していきます。
①サービスで「com.amazonaws.ap-northeast-1.ec2messages」を選択します。
②VPC、サブネット、セキュリティグループ、ポリシー、タグは「ssm」エンドポイントと同じ値を設定します。
以上3つのエンドポイントをプライベートなEC2インスタンスがあるサブネットに作成することで、ssm接続が可能になります。
Session ManagerからEC2インスタンスへの接続手順
ここまでの設定で、ssm接続をするために必要な設定は完了しました。
ここからはAWSマネジメントコンソール上で、ssm接続をする流れを説明いたします。
①実行中のEC2インスタンスにチェックを入れ、右上の「接続」ボタンをクリックします。
②セッションマネージャータブを選択し「接続」ボタンをクリックします。
③以下のようなウィンドウが表示されると、接続成功です。
おわりに
今回はプライベートなEC2インスタンスに、Systems Manager Session Managerを利用して接続する手順について説明しました。上記手順でEC2へ接続することで、セキュリティグループを開けずにセキュアな接続ができるようになります。
本投稿がどなたかの役に立てば幸いです。