0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS プライベートサブネットのEC2にSSM接続してみる

Last updated at Posted at 2025-10-11

はじめに

AWSのよくある構成として、プライベートサブネットにEC2を配置し、SSM接続をするケースがよくあると思ます。
よくありますが、設定漏れがあったりして意外と時間を取られたりするので、備忘録として残しておこうと思います。

内容

ざっくり下記の2項目について試してみようと思います。

  • プライベートサブネットに配置したEC2へSSM接続
  • SSM接続に必要なリソースを消してみてどんなエラーが出るか確認

EC2のインスタンスタイプは無料枠、OSはデフォルトでSSMエージェントが入っているAmazonLinux2023を利用します。

構成図はこんな感じです。
image.png

事前知識

リソースの構築に入る前にそもそもSSM接続とは何かについてまとめます。

SSM接続とは

VPC環境において、EC2に接続する方法の1つです。
SSHポートを開放せずに接続ができるため、鍵の管理が不要でよりセキュアにEC2に接続することができます。

プライベートサブネットにおいてEC2に接続したい場合は下記の準備が必要になります。

  • EC2にSSMエージェントがインストールされており、実行中であること
  • EC2に「AmazonSSMManagedInstanceCore」の許可を含むロールがアタッチされていること
  • 以下3つのエンドポイントがプライベートサブネットに存在すること
    • ec2messages
    • ssm
    • ssmmessages
  • 上記エンドポイントにEC2が接続するためのアウトバウンドルール

詳しくは👇の公式で確認できます。

環境構築

早速構築に取り掛かっていきます。
👇の順番で進めます。

  1. VPC周りの構築
  2. EC2にアタッチする用のロール作成
  3. エンドポイントの作成
  4. EC2の作成
  5. SSM接続!!!

VPC周りの構築

マネージドコンソールから「VPC」>「VPCを作成」から下記情報でVPCを作成します。
image.png

続いてサブネットを作成します。
image.png

作成したVPCの「リソースマップタブ」に作成したサブネットが存在していることが確認できます。

image.png

また、VPCエンドポイントを作成するにあたって「DNSホスト名を有効化」を有効にする必要があります。
作成したVPCを選択し、「アクション」>「VPCの設定を編集」をクリックし、該当箇所にチェックを入れ保存します。

image.png

image.png

EC2にアタッチするIAMロールの作成

次にEC2にアタッチする用のIAMロールを作成します。

マネジメントコンソールから「IAM」>「ロール」>「ロールの作成」からIAMロールを作成していきます。
image.png
image.png

ステップ1:信頼されたエンティティを選択で下記情報を入力します

  • 信頼されたエンティティタイプ
    • AWSのサービス
  • ユースケース
    • サービスまたはユースケース:EC2
    • ユースケース:EC2

image.png

ステップ2:許可を追加で下記情報を入力します

  • 許可ポリシー
    • ポリシー名:AmazonSSMManagedInstanceCore
  • 許可の境界を設定-オプション
    • 許可の境界なしでロールを作成

環境によっては境界を指定する必要があるケースもあると思うので、確認してください。

image.png

ステップ3:名前、確認、および作成で下記情報を入力します

  • ロールの詳細
    • ロール名:任意のロール名を入力してください。今回は「EC2-SSM-Role-Miyazaki」で作成します
  • 説明
    • 任意の説明を入力してください。今回はデフォルトのままでいきます
      image.png

ロールの一覧に作成したロールが存在することを確認します

image.png

エンドポイントの作成

続いてVPCエンドポイントを作成していきます
必要なエンドポイントは上述した3つになります

  • ec2messages
  • ssm
  • ssmmessages

はじめに作成するエンドポイント用のセキュリティグループを作成します。

マネジメントコンソールから「VPC」>「セキュリティグループ」>「セキュリティグループを作成」から下記情報で作成します。

image.png

image.png

  • 基本的な詳細
    • セキュリティグループ名:任意のセキュリティグループ名
    • 説明:任意の説明
    • VPC:先ほど作成したVPCを指定
  • インバウンドルール
    • HTTPS、0.0.0.0/0
  • アウトバウンドルール
    • 設定なし

image.png

セキュリティグループ一覧に作成したセキュリティグループが存在することを確認します。

image.png

セキュリティグループの作成が確認できたので、VPCエンドポイントの作成を行います。

マネジメントコンソールから「VPC」>「エンドポイント」>「エンドポイントの作成」からエンドポイントを作成していきます。

image.png

image.png

ec2messages

  • エンドポイントの設定
    • 名前タグ:任意のエンドポイント名
    • タイプ:AWSのサービス
  • サービス
    • サービス名:com.amazonaws.ap-northeast-1.ec2messages
  • ネットワーク設定
    • VPC:先ほど作成したVPC
    • DNS名を有効化:✅を入れる
    • DNSレコードのIPタイプ:IPv4
  • サブネット
    • サブネット:先ほど作成したプライベートサブネットを指定
    • IPアドレスタイプ:IPv4
  • セキュリティグループ
    • グループID:先ほど作成したセキュリティグループ
  • ポリシー
    • フルアクセス ※必要に応じて設定してください

image.png
image.png
image.png
image.png

ssm
サービス以外は同じ情報で作成します。差異がある箇所のみ記載します。

  • サービス
    • サービス名:com.amazonaws.ap-northeast-1.ssm

image.png

ssmmessages
こちらも同様です。差異がある箇所のみ記載します。

  • サービス
    • サービス名:ssmmessages

image.png

エンドポイント一覧から対象のエンドポイントが作成されたことを確認します。

image.png

ステータスがすべて使用可能であることも確認してください

EC2の作成

最後に接続対象のEC2を作成していきます

その前にEC2用にもセキュリティグループの用意が必要なので作成していきます。

マネジメントコンソールから「VPC」>「セキュリティグループ」>「セキュリティグループを作成」から下記情報で作成します。

image.png

image.png

  • 基本的な詳細
    • セキュリティグループ名:任意のセキュリティグループ名
    • 説明:任意の説明
    • VPC:先ほど作成したVPCを指定
  • インバウンドルール
    • 設定なし
  • アウトバウンドルール
    • HTTPS、0.0.0.0/0

image.png

セキュリティグループ一覧から、作成したセキュリティグループが存在していることを確認します。

image.png

それではEC2の作成に取り掛かります。

冒頭に記載しましたが、OSはSSMエージェントがプリインストールされているAmzon Linux2023を利用します。

SSMエージェントがプリインストールされているかは下記の記事を参考に確認できます。プリインストールされていない場合は別途SSMエージェントのインストール&起動が必要です。

マネジメントコンソールから「EC2」>「インスタンス」>「インスタンスを起動」から下記の情報でEC2を作成します。
※設定項目が多いため主要な箇所のみを記載します。

名前とタグ

  • 名前:任意の名前

image.png

アプリケーションおよびOSイメージ(Amazonマシンイメージ)

  • Amazonマシンイメージ(AMI):Amazon Linux 2023 kernel-6.1 AMI

image.png

インスタンスタイプ

  • インスタンスタイプ:t3.micro 

キーペア(ログイン)

  • キーペア名:キーペアなしで続行(推奨されません)

image.png

SSH接続が必要な場合やはキーペアの作成を推奨します

ネットワーク設定

  • VPC:先ほど作成したVPC
  • サブネット:先ほど作成したサブネット
  • パブリックIPの自動割り当て:無効化
  • ファイアウォール(セキュリティグループ):既存のセキュリティグループ
    • 共通のセキュリティグループ:先ほど作成した、EC2用のセキュリティグループ

image.png

高度な詳細

  • IAMインスタンスプロフィール:先ほど作成したEC2用のIAMロールを選択

image.png

インスタンスの起動を押下後、下記の表示あがあれば作成は成功です。

image.png

インスタンス一覧に作成したEC2が存在することを確認し、ステータスチェックがOKになるまで待機します。

image.png

しばらくたつとステータスがOKになったのでこれにてEC2の構築は完了です

image.png

SSM接続

それではリソースの構築が完了したので、EC2にSSM接続を実施してみます
マネジメントコンソールから「EC2」>「インスタンス」> 作成したEC2を選択します

image.png

右上のほうにある「接続」をクリックします

image.png

下記のキャプチャの画面に遷移するので、「セッションマネージャー」タブ >「接続」をクリックして接続してみます

image.png

接続ボタンがアクティブではない場合、何らかの設定ミスがないか確認してみてください。
まれに設定不備がなくてもアクティブになるまでに時間がかかるケースもあるようです。

👇のキャプチャのような画面に遷移できればSSM接続は成功です :tada:

image.png

終わりに

今回はプライベートサブネットのEC2にSSM接続する内容を書いてみました。
この記事がどなたかの一助になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?