💬
AWSでprivate subnet内に作成したEC2にSession Managerでアクセスする
題名の通りなのですが、実際VPCから構築してEC2作成し、アクセスしたところで躓きまくったので備忘録として書いておきます。
VPCとは?VPCエンドポイントとは?
まずVPC以前にネットワークの基礎知識があまりありませんでしたので参考にさせて頂きました。
すごくよくまとめてくださっていて私でも分かりやすかったです。
実作業
こちらも参考にさせて頂きました。とても助かりました。
VPCの作成
まず、VPCを作成します
「VPCなど」を選択すると色々自動で作成してくれるので便利です。
AZ数:2
パブリックサブネット:2
プライベートサブネット:2
NATゲートウェイ:0
VPCエンドポイント:S3ゲートウェイ
DNSオプション:☑DNSホスト名を有効化 ☑DNS解決を有効化
上記環境で作成しました。
VPCエンドポイントの作成
インバウンドルール
タイプ | ポート範囲 | ソース |
---|---|---|
HTTPS | 443 | private subnet1 |
HTTPS | 443 | private subnet2 |
アウトバウンドルール
タイプ | ポート範囲 | ソース |
---|---|---|
すべてのトラフィック | すべて | 0.0.0.0/0 |
エンドポイント用のSG(security group)の作成
443portを許可する必要があります
エンドポイント作成
- エンドポイントの設定とサービスの選択
- VPC:エンドポイントを作成するVPCを選択してください
- サブネット
- セキュリティグループ
先ほど作成したセキュリティグループ
EC2の作成
SSMAgentが入ったインスタンスかどうかの確認
SG(security group)の作成
port443(HTTPS)をアウトバンドで許可する必要があります
インバウンドルール
タイプ | ポート範囲 | ソース |
---|---|---|
HTTPS | 443 | private subnet1 |
HTTPS | 443 | private subnet2 |
アウトバウンドルール
タイプ | ポート範囲 | ソース |
---|---|---|
すべてのトラフィック | すべて | 0.0.0.0/0 |
IAMロールの変更
"AmazonSSMManagedInstanceCore"を付与したIAMロールを作成し、付与する必要があります
結果
ようやくprivate subnet上のEC2にアクセスすることができました
Discussion