💬

AWSでprivate subnet内に作成したEC2にSession Managerでアクセスする

2024/10/01に公開

題名の通りなのですが、実際VPCから構築してEC2作成し、アクセスしたところで躓きまくったので備忘録として書いておきます。

VPCとは?VPCエンドポイントとは?

まずVPC以前にネットワークの基礎知識があまりありませんでしたので参考にさせて頂きました。
すごくよくまとめてくださっていて私でも分かりやすかったです。

https://qiita.com/c60evaporator/items/2f24d4796202e8b06a77

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/operating-systems-and-machine-types.html#supported-machine-types

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/agent-install-al2.html

実作業

こちらも参考にさせて頂きました。とても助かりました。

https://dev.classmethod.jp/articles/troubleshooting-ssm-session-manager-configuration/#%25E5%25BF%2585%25E8%25A6%2581%25E3%2581%25AAVPC%25E3%2582%25A8%25E3%2583%25B3%25E3%2583%2589%25E3%2583%259D%25E3%2582%25A4%25E3%2583%25B3%25E3%2583%2588%25E3%2581%258C%25E3%2581%25AA%25E3%2581%2584%25E3%2581%2593%25E3%2581%25A8%25E3%2581%25AF%25E3%2581%25AA%25E3%2581%2584%25E3%2581%25A7%25E3%2581%2599%25E3%2581%258B%25EF%25BC%259F

https://dev.classmethod.jp/articles/ssm-session-manager-private/

VPCの作成

まず、VPCを作成します

「VPCなど」を選択すると色々自動で作成してくれるので便利です。

AZ数:2
パブリックサブネット:2
プライベートサブネット:2
NATゲートウェイ:0
VPCエンドポイント:S3ゲートウェイ
DNSオプション:☑DNSホスト名を有効化 ☑DNS解決を有効化

上記環境で作成しました。

VPCエンドポイントの作成

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/setup-create-vpc.html

インバウンドルール

タイプ ポート範囲 ソース
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