AWS

NAT Gatewayを用いたプライベートEC2のインターネット接続

NEW 2026年8月19日

目次Category


はじめに

こんにちは、26卒の仲山です。

本記事では、プライベートサブネットに配置したEC2インスタンスからインターネットへ安全に通信を行うための環境構築手順を解説します。

 

本記事の目標

パブリックIPを持たないプライベートサブネット上のEC2インスタンスから、NAT Gatewayを経由してインターネットへ疎通確認(ping)ができるようになることを目標とします。

 

使用するAWSサービス

  • Amazon VPC: プライベートサブネット、ルートテーブル、NAT Gatewayの構築
  • Amazon EC2: プライベートサブネットに配置する仮想サーバー
  • AWS Systems Manager (SSM): パブリックIPのないEC2へのセキュアなリモート接続(セッションマネージャー)

 

前提条件

  • VPC、パブリックサブネット、プライベートサブネットが作成済み
  • インターネットゲートウェイ(IGW)作成済み、パブリックサブネットのルートテーブルに関連付け済み

 

1. NAT Gatewayの作成

  • 名前: test-natgw-<name>-01(任意)
  • アベイラビリティーモード: ゾーナル
    ※リージョナルで設定すると、複数AZにまたがる可用性の高いNATゲートウェイが自動で構築されます。そのため、本番環境ではリージョナル、またはゾーナルを複数のAZに配置して構築することが推奨されます。
  • サブネット: パブリックサブネット
  • 接続タイプ: パブリック
  • Elastic IP: 「ElasticIPを割り当て」ボタンで自動生成

 

2. プライベート用ルートテーブルの新規作成

  • 名前: test-private-rtb-<name>-01(任意)
  • VPC: 自身のものを選択

 

3. プライベートサブネットをルートテーブルに紐付ける

  1. 自身のプライベート用ルートテーブルを選択
  2. 「サブネットの関連付け」タブを選択
  3. 「サブネットの関連付けを編集」をクリック
  4. 「利用可能なサブネット」からプライベートサブネットを選択
  5. 「関連付けを保存」をクリック

 

4. NAT Gateway へのルートを追加する

  1. 自身のプライベート用ルートテーブルを選択
  2. 「ルート」タブを選択
  3. 「ルートを編集」をクリック
  4. 「ルートを追加」
    • 送信先: 0.0.0.0/0
    • ターゲット: NATゲートウェイを選択し、自身のNAT Gatewayを選択
  5. 「変更を保存」をクリック

 

5. EC2インスタンスを作成(プライベートサブネットに配置)

  • 名前: test-private-ec2-<name>-01(任意)
  • アプリケーションおよび OS イメージ: Amazon Linux
  • インスタンスタイプ: (任意のものを選択)
  • ネットワーク設定:
    • VPC: 自身のもの
    • サブネット: プライベートサブネット
    • パブリック IP の自動割り当て: 無効化
    • セキュリティグループ: インバウンドルール無しのものが好ましい
  • 高度な詳細:
    • IAM インスタンスプロフィール: ポリシーに「AmazonSSMManagedInstanceCore」がアタッチされているものを選択

AmazonSSMManagedInstanceCore」がアタッチされているIAMロールが無い人は「新しいIAMプロファイルを作成」をクリックすると「AmazonSSMManagedInstanceCore」がアタッチされているロールを新規作成できます

以上の設定が終わったら、インスタンスを起動を選択しキーペア無しで作成。

 

6. EC2にSSM接続

接続方法で「SSMセッションマネージャー」を選択し、接続

 

7. pingコマンドを実行

以下のコマンドを実施し、画像のようになれば成功です!

ping.txt
ping -c 4 google.com

 

終わりに

本手順により、プライベートサブネット上のEC2から安全にインターネット通信を行う環境を無事に構築することができました。

今回は扱いませんでしたが、VPCエンドポイントを用いることでインターネットを経由せずにプライベートサブネット上のEC2から他のAWSサービスにアクセスすることもできます。

気になる方はそちらも試してみてください。

最後に、本日作成したリソースは全て削除するのを忘れずにお願いします。
※Elastic IPはNAT Gatewayを削除後に別途で削除する必要があるので注意してください。

最後までご覧いただき、ありがとうございました。

この記事を書いた人

仲山芳古

yoshifuru_nakayama

北海道から来ました。
Android開発が好きです。