今回構築する環境イメージ
VPCとプライベートサブネットを用意します。
VPCやサブネットにEndpointを用意して、セッションマネージャはそのEndpointを経緯してプライベートサブネット上にあるEC2にアクセスしていこうと思います。

ハンズオン
前提
別件で作ったバージニアリージョンのVPC-subnet環境を使っていきます。
VPC Endpoint用のSG作成
VPCの管理コンソール画面のセキュリティタブからセキュリティグループを押下します。
※EC2のところで管理しているのと基本的には同じっぽいので、EC2の画面から作っても問題ないようです。
セッションマネージャはHTTPSを使うので、インバウンドで開放しておきます。
VPCはSGを適用したいVPCを選択します。

VPC Endpointの作成
以下の2つのEndpointを作成する必要があるようです。
- com.amazonaws.region.ssm
Systems Managerのコアサービスとの通信に使用されます
EC2インスタンスがマネージドインスタンスとして登録されるために必要です - com.amazonaws.region.ssmmessages
Session Managerのセッション通信に使用されます
実際のセッションデータの送受信を担当します
まずssmから
ここからVPCやサブネット、VPCEに当てはめるIPアドレスやSGなどを指定することができるようですね。

利用可能になることを確認します。
タイプがInterfaceになっていることを確認します。

EC2用のIAMロールの作成
AmazonSSMManagedInstanceCoreという名前のpolicyがアタッチされているIAMロールを作成します。これをEC2にアタッチします。

EC2のデプロイと、IAMロールのアタッチ
AmazonLinux2023でt2.microを選択します。
キーペアは指定しません。
VPCやサブネットはVPC Endpointをデプロイしたところを指定します。
SGは新規作成でインバウンドは何も指定しません。(すべてブロックしています。)
いっぽうでアウトバウンド全部開放しています(443だけ空いていればいいっぽいです。)
IAMロールは先ほど作成したものをアタッチして起動していきます。
セッションマネージャからEC2に接続する。
EC2が実行中になることを確認します。
接続ボタンを押下します。

EC2へアクセスする方法が複数提示されています。
セッションマネージャを選択して、接続ボタンを押下します。

ターミナル画面が表示されていればOKです。
ping google.comでインターネットに抜けていないことも確認しておくとよいでしょう。






