AWS Systems Manager Session Managerを利用してプライベートにあるAmazon EC2環境に接続する
はじめに
初めまして。2022年度に入社した韓国出身のeunseoです。
本記事では、Amazon Session Managerを利用してプライベートサブネットにあるAmazon EC2環境にアクセスする手順を紹介します。
概要
AWS Session Managerを利用して接続できる方法は
- IGWを通じて接続
- 踏み台サーバーを使用して接続
- 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ロール作成
- IAMコンソールに移動します。
- 左にある「アクセス管理」→「ロール」をクリックし、「ロールを作成」を選択します。
- 信頼されたエンティティを選択の部分で「AWSのサービス」を選択します。
- ユースケースは「EC2」を選択し、「次へ」をクリックします。
- 許可ポリシーで「AmazonSSMManagedInstanceCore」を選択し、「次へ」をクリックします。
- ロール名を付けます。
- 許可ポリシーを確認し、「ロールを作成」をクリックします。
EC2にロールをアタッチ
- EC2コンソールのインスタンスに移動し、対象サーバー(eunseo-private-test)を選択します。
- 右上にある「アクション」→「セキュリティ」→「IAMロールを変更」の順で選択します。
- 「IAMロール」で先ほど作成したIAMロールを選択し、「IAMロールの更新」をクリックします。
VPCセキュリティグループを作成
- VPCコンソール画面上に移動します。
- セキュリティグループの「セキュリティグループを作成」を選択します。
- セキュリティグループ名を入力し、自分のVPCを選択します。
- インバウンドルール には 下記の設定を行います。
- タイプ:[HTTPS]
- ソース:[10.0.0.0/16](VPC の IPv4 CIDR値)
- 「セキュリティグループを作成」を押下
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
- エンドポイントに移動し、「エンドポイントを作成」をクリックします。
- エンドポイント名を入力し、「AWSのサービス」を選択します。
- サービス検索欄に「ssm」を入力し、「com.amazonaws.ap-northeast-1.ssm」を選択します。
- 自分のVPCを選択し、DNS名を有効化します。
- サブネットでEC2を配置したプライベートサブネットを選択し、先ほど作成したセキュリティグループを選択します。
- 問題なければ「エンドポイントを作成」をクリックします。
VPCエンドポイントを作成② – ec2messages
エンドポイントを作成①の手順と同じく繰り返します。
- エンドポイント名を入力し、「AWSのサービス」を選択します。
- サービス検索欄に「ec2messages」を入力し、「com.amazonaws.ap-northeast-1.ec2messages」を選択します。
- 自分のVPCを選択し、DNS名を有効化します。
- サブネットでEC2を配置したプライベートサブネットを選択し、先ほど作成したセキュリティグループを選択します。
- 問題なければ「エンドポイントを作成」をクリックします。
VPCエンドポイントを作成③ – ssmmessages
- エンドポイント名を入力し、「AWSのサービス」を選択します。
- サービス検索欄に「ssmmessages」を入力し、「com.amazonaws.ap-northeast-1.ssmmessages」を選択します。
- 自分のVPCを選択し、DNS名を有効化します。
- サブネットでEC2を配置したプライベートサブネットを選択し、先ほど作成したセキュリティグループを選択します。
- 問題なければ「エンドポイントを作成」をクリックします。
- 三つのエンドポイントのステータスが「利用可能」になっていることを確認します。
Session ManagerでEC2に接続
- プライベートサブネットにある対象サーバーを選択し、右上にある「接続」をクリックします。
- 「セッションマネージャー」に移動し、「接続」をクリックします。
- プライベートサブネットにある AWS EC2へのアクセスができます。
まとめ
本記事では、Amazon Session Managerを利用してプライベートサブネットにあるAmazon EC2環境にアクセスする手順を初心者が見ても分かりやすいように紹介しました。
本記事が環境構築及び検証の際に微力でも役に立つことができたら幸いです。
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterRecommends
こちらもおすすめ
-
AWS CodeCommit から GitHub へリポジトリを移行する
2024.10.18
-
AWS re:Invent 2023でEXPO出展企業ブースを50社回った話
2023.12.9
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16