Amazon Virtual Private Cloud
ユーザーガイド

シナリオ 2: パブリックサブネットとプライベートサブネットを持つ VPC (NAT)

このシナリオの設定には、パブリックサブネットとプライベートサブネットを持つ Virtual Private Cloud (VPC) が含まれます。このシナリオは、パブリックにはアクセスできないバックエンドサーバーを維持しながら、パブリックなウェブアプリケーションを実行する場合にお勧めします。一般的な例としては、パブリックサブネットのウェブサーバーとプライベートサブネットのデータベースサーバーを持つ多階層のウェブサイトが挙げられます。ウェブサーバーがデータベースサーバーと通信できるように、セキュリティとルーティングを設定できます。

パブリックサブネットのインスタンスはアウトバウンドトラフィックを直接インターネットに送信できますが、プライベートサブネットのインスタンスはできません。代わりに、プライベートサブネットのインスタンスは、パブリックサブネットに存在するネットワークアドレス変換 (NAT) ゲートウェイを使用して、インターネットにアクセスできます。データベースサーバーは、NAT ゲートウェイを通じてインターネットに接続してソフトウェアアップデートを行うことができますが、インターネットはデータベースサーバーへの接続を確立できません。

注記

VPC ウィザードを使用して VPC を設定するために、NATインスタンスを使用することもできますが、代わりに NAT ゲートウェイを使用することをお勧めします。詳細については、「NAT ゲートウェイ」を参照してください。

このシナリオは、オプションで IPv6 にも設定することができます。VPC ウィザードを使用して、IPv6 CIDR ブロックを関連付けた VPC およびサブネットを作成できます。サブネットに起動されたインスタンスは、IPv6 を取得できます。また、IPv6 を使用して通信できます。プライベートサブネットのインスタンスは、Egress-Only インターネットゲートウェイを使用して IPv6 経由でインターネットに接続できますが、IPv6 経由でプライベートインスタンスに接続を確立することはできません。IPv4 アドレスと IPv6 アドレスの詳細については、「VPC の IP アドレス指定」を参照してください。

概要

次の図は、このシナリオの設定に重要なコンポーネントを示しています。


					シナリオ 2 の図: パブリックサブネットとプライベートサブネットを持つ VPC

このシナリオの設定には、以下の項目が含まれています。

  • IPv4 CIDR ブロックサイズが /16 (例: 10.0.0.0/16) の VPC。65,536 個のプライベート IPv4 アドレスを提供します。

  • IPv4 CIDR ブロックサイズが /24 (例: 10.0.0.0/24) のパブリックサブネット。256 個のプライベート IPv4 アドレスを提供します。パブリックサブネットは、インターネットゲートウェイへのルートが含まれているルートテーブルに関連付けられているサブネットです。

  • IPv4 CIDR ブロックサイズが /24 (例: 10.0.1.0/24) のプライベートサブネット。256 個のプライベート IPv4 アドレスを提供します。

  • インターネットゲートウェイ。VPC をインターネットおよび他の AWS サービスに接続します。

  • プライベート IPv4 アドレスがサブネットの範囲内 (例: 10.0.0.5、10.0.1.5) のインスタンス。これにより、VPC の各インスタンスは相互に通信できるようになります。

  • Elastic IPv4 アドレス (例: 198.51.100.1) を使用するパブリックサブネットのインスタンス。Elastic IPv4 アドレスは、インターネットからインスタンスにアクセスできるようにするパブリック IPv4 アドレスです。インスタンスには、起動時に Elastic IP アドレスではなくパブリック IP アドレスを割り当てることができます。プライベートサブネットのインスタンスは、インターネットからの着信トラフィックを受信する必要がないバックエンドサーバーであるため、パブリック IP アドレスを必要としません。ただし、NAT ゲートウェイを使用して、リクエストをインターネットに送信することができます (次の箇条書きを参照)。

  • NAT ゲートウェイとその独自の Elastic IPv4 アドレス。プライベートサブネットのインスタンスは、IPv4 で NAT ゲートウェイ経由でインターネットにリクエストを送信できます (例: ソフトウェアをアップデートする場合)。

  • パブリックサブネットに関連付けられているカスタムルートテーブル。このルートテーブルには、サブネットのインスタンスが IPv4 経由で VPC 内の他のインスタンスと通信できるようにするエントリと、サブネットのインスタンスが IPv4 経由でインターネットと直接通信できるようにするエントリが含まれます。

  • プライベートサブネットに関連付けられているメインルートテーブル。このルートテーブルには、サブネットのインスタンスが IPv4 経由で VPC 内の他のインスタンスと通信できるようにするエントリと、サブネットのインスタンスが IPv4 経由で NAT ゲートウェイを介してインターネットと通信できるようにするエントリが含まれます。

サブネットの詳細については、「VPC とサブネット」を参照してください。インターネットゲートウェイの詳細については、「インターネットゲートウェイ」を参照してください。NAT ゲートウェイの詳細については、「NAT ゲートウェイ」を参照してください

IPv6 の概要

オプションでこのシナリオの IPv6 を有効にできます。上記のコンポーネントに加えて、この設定には、次に示す情報が含まれます。

  • VPC に関連付けられたサイズ /56 の IPv6 CIDR ブロック (例: 2001:db8:1234:1a00::/56)。Amazon の CIDR は自動的に割り当てられます。独自にアドレス範囲を選択することはできません。

  • パブリックサブネットに関連付けられたサイズ /64 の IPv6 CIDR ブロック (例: 2001:db8:1234:1a00::/64)。VPC に割り当てられた範囲からサブネットの範囲を選択できます。VPC の IPv6 CIDR ブロックのサイズを選択することはできません。

  • プライベートサブネットに関連付けられたサイズ /64 の IPv6 CIDR ブロック (例: 2001:db8:1234:1a01::/64)。VPC に割り当てられた範囲からサブネットの範囲を選択できます。サブネットの IPv6 CIDR ブロックのサイズを選択することはできません。

  • サブネットの範囲からのインスタンスに割り当てられていた IPv6 アドレス (例: 2001:db8:1234:1a00::1a)。

  • Egress-Only インターネットゲートウェイプライベートサブネットのインスタンスが、IPv6 経由でリクエストをインターネット送信できるようにします (例: ソフトウェアアップデート)。Egress-Only インターネットゲートウェイは、プライベートサブネットのインスタンスが IPv6 経由で通信を始められるようにする場合に必要です。詳細については、「Egress-Only インターネットゲートウェイ」を参照してください。

  • カスタムエントリテーブル内のルートテーブルエントリ。パブリックサブネットのインスタンスが IPv6 を使用して相互通信したり、インターネット経由で直接通信したりできるようにします。

  • メインルートテーブルのルートテーブル エントリ。プライベートサブネットのインスタンスが、IPv6 経由で相互に通信したり、Egress-Only インターネットゲートウェイを通じてインターネット通信したりできるようにします。


						パブリックサブネットとプライベートサブネットを持つ IPv6 対応 VPC

ルーティング

このシナリオでは、VPC ウィザードによって、プライベートサブネットで使用されるメインルートテーブルを更新し、カスタムルートテーブルを作成してパブリックサブネットに関連付けます。

このシナリオでは、各サブネットから AWS に向かう(例えば、Amazon EC2 または Amazon S3 エンドポイントに向かう)すべてのトラフィックが、インターネットゲートウェイを介して流れます。プライベートサブネットのデータベースサーバーには Elastic IP アドレスがありません。したがって、インターネットからのトラフィックを直接受け取ることはできません。ただし、パブリックサブネットで NAT デバイスを使用すれば、データベースサーバーでインターネットトラフィックを送受信できます。

追加のサブネットを作成した場合、そのサブネットはデフォルトでメインルートテーブルを使用します。つまり、デフォルトではプライベートサブネットです。サブネットをパブリックにする場合は、関連付けられているルートテーブルをいつでも変更できます。

以下の表は、このシナリオのルートテーブルを示しています。

メインルートテーブル

最初のエントリは、VPC のローカルルーティングのデフォルトエントリです。このエントリによって、VPC 内のインスタンスが相互に通信できるようになります。2 番目のエントリは、他のすべてのサブネットトラフィックを NAT ゲートウェイ (例: nat-12345678901234567) に送信します。

送信先 ターゲット

10.0.0.0/16

ローカル

0.0.0.0/0

nat-gateway-id

カスタムルートテーブル

最初のエントリは、VPC のローカルルーティングのデフォルトエントリです。このエントリによって、この VPC 内のインスタンスが相互に通信できるようになります。2 番目のエントリは、他のすべてのサブネットトラフィックをインターネットゲートウェイ (例: igw-1a2b3d4d) 経由でインターネットにルーティングします。

送信先 ターゲット

10.0.0.0/16

ローカル

0.0.0.0/0

igw-id

IPv6 のルーティング

IPv6 CIDR ブロックを VPC およびサブネットと関連付ける場合は、IPv6 トラフィックの別のルートをルートテーブルに含める必要があります。VPC 内の IPv6 通信を有効化した場合のシナリオのルートテーブルを次の表に示します。

メインルートテーブル

2 番目のエントリは、IPv6 経由で VPC 内のローカルルーティングに自動的に追加されたデフォルトルートです。4 番目のエントリは、他のすべての IPv6 サブネットトラフィックを Egress-Only インターネットゲートウェイにルーティングします。

送信先 ターゲット

10.0.0.0/16

ローカル

2001:db8:1234:1a00::/56

ローカル

0.0.0.0/0

nat-gateway-id

::/0

egress-only-igw-id

カスタムルートテーブル

2 番目のエントリは、IPv6 経由で VPC 内のローカルルーティングに自動的に追加されたデフォルトルートです。4 番目のエントリは、他のすべての IPv6 サブネットトラフィックをインターネットゲートウェイにルーティングします。

送信先 ターゲット

10.0.0.0/16

ローカル

2001:db8:1234:1a00::/56

ローカル

0.0.0.0/0

igw-id

::/0

igw-id

セキュリティ

AWS では、セキュリティグループネットワーク ACL という 2 つの機能を使用して、VPC のセキュリティを強化できます。セキュリティグループは、インスタンスのインバウンドトラフィックとアウトバウンドトラフィックをコントロールします。ネットワーク ACL は、サブネットのインバウンドトラフィックとアウトバウンドトラフィックをコントロールします。通常、セキュリティグループで用が足りますが、VPC に追加のセキュリティレイヤーが必要な場合は、ネットワーク ACL を使用することもできます。詳細については、「セキュリティ」を参照してください。

シナリオ 2 では、セキュリティグループを使用しますが、ネットワーク ACL は使用しません。ネットワーク ACL を使用する場合は、「シナリオ 2 に推奨されるルール」を参照してください。

VPC には、デフォルトのセキュリティグループが用意されています。VPC 内に起動されるインスタンスは、起動時に別のセキュリティグループを指定しないと、デフォルトのセキュリティグループに自動的に関連付けられます。このシナリオでは、デフォルトのセキュリティグループを使用するのではなく、以下のセキュリティグループを作成することをお勧めします。

  • WebServerSG: パブリックサブネットでウェブサーバーを起動するときに、このセキュリティグループを指定します。

  • DBServerSG: プライベートサブネットでデータベースサーバーを起動するときに、このセキュリティグループを指定します。

セキュリティグループに割り当てられたインスタンスのサブネットは様々です。ただし、このシナリオでは、各セキュリティグループがインスタンスの役割の種類に対応しており、役割ごとにインスタンスが特定のサブネットに属さなければなりません。したがって、このシナリオでは、1 つのセキュリティグループに割り当てられたインスタンスはすべて、同じサブネットに属しています。

次の表では、WebServerSG セキュリティグループの推奨ルールについて説明します。このルールにより、ウェブサーバーがインターネットトラフィックを受信したり、ご利用のネットワークから SSH や RDP トラフィックを受信したりできます。また、ウェブサーバーはプライベートサブネットで、データベースサーバーへのリクエストの読み取り/書き込みを開始し、インターネットにトラフィックを送信できます (たとえば、ソフトウェアの更新プログラムを取得するなど)。ウェブサーバーがその他のアウトバウンド通信を開始しないため、デフォルトのアウトバウンドルールは削除されます。

注記

これらの推奨事項には SSH アクセスと RDP アクセスの両方、および Microsoft SQL Server アクセスと MySQL アクセスの両方が含まれます。この場合は、Linux (SSH および MySQL) または Windows (RDP および Microsoft SQL Server) に対するルールのみで十分かもしれません。

WebServerSG: 推奨ルール

インバウンド
送信元 プロトコル ポート範囲 コメント

0.0.0.0/0

TCP

80

任意の IPv4 アドレスからウェブサーバーへのインバウンド HTTP アクセスを許可する。

0.0.0.0/0

TCP

443

任意の IPv4 アドレスからウェブサーバーへのインバウンド HTTPS アクセスを許可する。

ホームネットワークのパブリック IPv4 アドレスの範囲

TCP

22

ホームネットワークから Linux インスタンスへのインバウンド SSH アクセス (インターネットゲートウェイ経由) を許可します。ローカルコンピュータのパブリック IPv4 アドレスは、http://checkip.amazonaws.com または https://checkip.amazonaws.com などのサービスを使用して取得できます。ISP 経由で、またはファイアウォールの内側から静的な IP アドレスなしで接続している場合は、クライアントコンピュータで使用されている IP アドレスの範囲を見つける必要があります。

ホームネットワークのパブリック IPv4 アドレスの範囲

TCP

3389

ホームネットワークから Windows インスタンスへのインバウンド RDP アクセス (インターネットゲートウェイ経由) を許可します。

アウトバウンド

送信先 プロトコル ポート範囲 コメント

DBServerSG セキュリティグループの ID

TCP

1433

DBServerSG セキュリティグループに割り当てられたデータベースサーバーへのアウトバウンド Microsoft SQL Server アクセスを許可する。

DBServerSG セキュリティグループの ID

TCP

3306

DBServerSG セキュリティグループに割り当てられたデータベースサーバーへのアウトバウンド MySQL アクセスを許可する。

0.0.0.0/0

TCP

80

任意の IPv4 アドレスへのアウトバウンド HTTP アクセスを許可します。

0.0.0.0/0

TCP

443

任意の IPv4 アドレスへのアウトバウンド HTTPS アクセスを許可します。

次の表では、DBServerSG セキュリティグループの推奨ルールについて説明します。このルールにより、ウェブサーバーからの読み込みおよび書き込みデータベースリクエストが許可されます。また、データベースサーバーはインターネットへのトラフィックを開始することもできます (そのトラフィックは、ルートテーブルから NAT ゲートウェイに送信され、さらに NAT ゲートウェイからインターネットゲートウェイを介してインターネットに転送されます)。

DBServerSG: 推奨ルール

インバウンド
送信元 プロトコル ポート範囲 コメント

WebServerSG セキュリティグループの ID

TCP

1433

WebServerSG セキュリティグループに関連付けられたウェブサーバーからのインバウンド Microsoft SQL Server アクセスを許可する。

WebServerSG セキュリティグループの ID

TCP

3306

WebServerSG セキュリティグループに関連付けられたウェブサーバーからのインバウンド MySQL Server アクセスを許可する。

アウトバウンド

送信先 プロトコル ポート範囲 コメント

0.0.0.0/0

TCP

80

IPv4 経由でインターネットへのアウトバウンド HTTP アクセス (例: ソフトウェアのアップデート用) を許可します。

0.0.0.0/0

TCP

443

IPv4 経由でインターネットへのアウトバウンド HTTPS アクセス (例: ソフトウェアのアップデート用) を許可します。

(オプション) VPC のデフォルトのセキュリティグループには、割り当てられたインスタンス間で相互に通信することを自動的に許可するルールがあります。そのような通信をカスタムセキュリティグループに許可するには、以下のルールを追加する必要があります。

インバウンド
送信元 プロトコル ポート範囲 コメント

セキュリティグループの ID

すべて

すべて

このセキュリティグループに割り当てられた他のインスタンスからのインバウンドトラフィックを許可する。

アウトバウンド
送信先 プロトコル ポート範囲 コメント
セキュリティグループの ID すべて すべて このセキュリティグループに割り当てられた他のインスタンスへのアウトバウンドトラフィックを許可する。

(オプション) ホームネットワークからプライベートサブネットへの SSH または RDP トラフィックのプロキシとして使用する踏み台ホストをパブリックサブネットで起動する場合は、踏み台インスタンスまたはその関連セキュリティグループからのインバウンド SSH または RDP トラフィックを許可するルールを DBServerSG セキュリティグループに追加します。

IPv6 のセキュリティ

IPv6 CIDR ブロックを VPC およびサブネットと関連付ける場合は、別のルールを WebServerSG および DBServerSG セキュリティグループに追加して、インバウンドおよびアウトバウンドの IPv6 トラフィックを制御する必要があります。このシナリオでは、ウェブサーバーは、IPv6 経由ですべてのインターネットトラフィックを受信したり、IPv6 経由でローカルネットワークから SSH または RDP トラフィックを受信したりできます。また、インターネットへのアウトバウンド IPv6 トラフィックを開始することもできます。データベースサーバーは、インターネットへのアウトバウンド IPv6 トラフィックを開始できます。

WebServerSG セキュリティグループの IPv6 固有ルールを次に示します (上記のルールは含まない)。

インバウンド
送信元 プロトコル ポート範囲 コメント

::/0

TCP

80

任意の IPv6 アドレスからウェブサーバーへのインバウンド HTTP アクセスを許可する。

::/0

TCP

443

任意の IPv6 アドレスからウェブサーバーへのインバウンド HTTPS アクセスを許可する。

ネットワークの IPv6 アドレス範囲

TCP

22

(Linux インスタンス) ネットワークからの IPv6 経由のインバウンド SSH アクセスを許可する。

ネットワークの IPv6 アドレス範囲

TCP

3389

(Windows インスタンス) ネットワークからの IPv6 経由のインバウンド RDP アクセスを許可する

アウトバウンド
送信先 プロトコル ポート範囲 コメント
::/0 TCP HTTP 任意の IPv6 アドレスへのアウトバウンド HTTP アクセスを許可します
::/0 TCP HTTPS 任意の IPv6 アドレスへのアウトバウンド HTTPS アクセスを許可します

DBServerSG セキュリティグループの IPv6 固有ルールを次に示します (上記のルールは含まない)。

アウトバウンド

送信先 プロトコル ポート範囲 コメント

::/0

TCP

80

任意の IPv6 アドレスへのアウトバウンド HTTP アクセスを許可します

::/0

TCP

443

任意の IPv6 アドレスへのアウトバウンド HTTPS アクセスを許可します

シナリオ 2 を実装する

VPC ウィザードを使用して、VPC や、サブネット、NAT ゲートウェイ、さらにはオプションで、Egress-Only インターネットゲートウェイを作成できます。NAT ゲートウェイに Elastic IP アドレスを指定します。アドレスがない場合は、それを最初にアカウントに割り当てる必要があります。既存の Elastic IP アドレスを使用する場合は、そのアドレスが別のインスタンスやネットワークインターフェイスに現在関連付けられていないことを確認します。NAT ゲートウェイは、VPC のパブリックサブネットで自動的に作成されます。

この手順には、VPC の IPv6 通信を有効化して設定するオプションのステップが含まれます。VPC 内で IPv6 を使用する場合は、上記のステップを実行する必要はありません。

(オプション) Elastic IP アドレスを NAT ゲートウェイ (IPv4) に割り当てるには

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. ナビゲーションペインで [Elastic IP] を選択します。

  3. [Allocate new address] を選択します。

  4. [Allocate] を選択します。

    注記

    アカウントが EC2-Classic をサポートしている場合には、まず [VPC] を選択します。

VPC を作成するには

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. [Your VPCs]、[Launch VPC Wizard] の順に選択します。

    
						Amazon VPC ダッシュボード
  3. 2 つ目のオプション [パブリックとプライベートサブネットを持つ VPC] を選択してから、[Select] (選択) を選択します。

  4. (オプション) 後でコンソールで見つけやすいように、VPC とサブネットに名前を付けることができます。VPC とサブネットに独自の IPv4 CIDR ブロックを指定するか、デフォルト値のままにすることができます。

  5. (オプション、IPv6 のみ) [IPv6 CIDR block] で、[Amazon-provided IPv6 CIDR block] を選択します。[パブリックサブネットの IPv6 CIDR] で、[カスタム IPv6 CIDR を指定する] を選択し、16 進法でサブネットのキーペア値を選択するか、デフォルト値のままにします。[Private subnet's IPv6 CIDR] で、[Specify a custom IPv6 CIDR] を選択します。16 進法で IPv6 サブネットのキーペア値を選択するか、デフォルト値のままにします。

  6. [Specify the details of your NAT gateway] セクションで、アカウントの Elastic IP アドレスに割り当て ID を指定します。

  7. このページの残りの設定はデフォルト値のままにし、[VPC の作成] を選択します。

WebServerSG セキュリティグループと DBServerSG セキュリティグループは互いに参照し合うので、ルールを追加する前に、このシナリオで必要なすべてのセキュリティグループを作成します。

WebServerSG および DBServerSG セキュリティグループを作成するには

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. ナビゲーションペインで [セキュリティグループ] を選択して、[セキュリティグループの作成] を選択します。

  3. セキュリティグループの名前と説明を指定します。このトピックでは、名前 WebServerSG が例として使用されます。[VPC] で、作成した VPC の ID を選択し、[作成] を選択します。

  4. [Create Security Group] を再度選択します。

  5. セキュリティグループの名前と説明を指定します。このトピックでは、名前 DBServerSG が例として使用されます。[VPC] で、VPC の ID を選択して [作成] を選択します。

ルールを WebServerSG セキュリティグループに追加するには

  1. 作成した WebServerSG セキュリティグループを選択します。詳細ペインに、セキュリティグループの詳細と、インバウンドルールおよびアウトバウンドルールを操作するためのタブが表示されます。

  2. [インバウンドルール] タブで [編集] を選択して、次に示すようにインバウンドトラフィックのルールを追加します。

    1. [タイプ] の [HTTP] を選択します。[送信元] に「0.0.0.0/0」と入力します。

    2. [別のルールの追加] を選択し、[タイプ] の [HTTPS] を選択します。[送信元] に「0.0.0.0/0」と入力します。

    3. [別のルールの追加] を選択し、[タイプ] の [SSH] を選択します。[Source] に、ネットワークのパブリック IPv4 アドレスの範囲を入力します。

    4. [別のルールの追加] を選択し、[タイプ] の [RDP] を選択します。[Source] に、ネットワークのパブリック IPv4 アドレスの範囲を入力します。

    5. (オプション、IPv6 のみ) [Add another rule]、[Type]、[HTTP] を選択します。[送信元] に「::/0」と入力します。

    6. (オプション、IPv6 のみ) [Add another rule]、[Type]、[HTTPS] を選択します。[送信元] に「::/0」と入力します。

    7. (オプション、IPv6 のみ) [Add another rule]、[Type]、[SSH] (Linux の場合) または [RDP] (Windows の場合) を選択します。[送信元] で、ネットワークの IPv6 アドレスの範囲を入力します。

    8. [Save] を選択します。

  3. [アウトバウンドルール] タブで [編集] を選択して、次に示すようにアウトバウンドトラフィックのルールを追加します。

    1. すべてのアウトバウンドトラフィックを有効にするデフォルトのルールを見つけ、[削除] を選択します。

    2. [タイプ] の [MS SQL] を選択します。[送信先] に、DBServerSG セキュリティグループの ID を指定します。

    3. [別のルールの追加] を選択し、[タイプ] の [MySQL] を選択します。[送信先] に、DBServerSG セキュリティグループの ID を指定します。

    4. [別のルールの追加] を選択し、[タイプ] の [HTTPS] を選択します。[送信先] に「0.0.0.0/0」と入力します。

    5. [別のルールの追加] を選択し、[タイプ] の [HTTP] を選択します。[送信先] に「0.0.0.0/0」と入力します。

    6. (オプション、IPv6 のみ) [Add another rule]、[Type]、[HTTPS] を選択します。[送信先] に「::/0」と入力します。

    7. (オプション、IPv6 のみ) [Add another rule]、[Type]、[HTTP] を選択します。[送信先] に「::/0」と入力します。

    8. [Save] を選択します。

推奨ルールを DBServerSG セキュリティグループに追加するには

  1. 作成した DBServerSG セキュリティグループを選択します。詳細ペインに、セキュリティグループの詳細と、インバウンドルールおよびアウトバウンドルールを操作するためのタブが表示されます。

  2. [インバウンドルール] タブで [編集] を選択して、次に示すようにインバウンドトラフィックのルールを追加します。

    1. [タイプ] の [MS SQL] を選択します。[送信元] フィールドに、WebServerSG セキュリティグループの ID を指定します。

    2. [別のルールの追加] を選択し、[タイプ] の [MYSQL] を選択します。[送信元] フィールドに、WebServerSG セキュリティグループの ID を指定します。

    3. [Save] を選択します。

  3. [アウトバウンドルール] タブで [編集] を選択して、次に示すようにアウトバウンドトラフィックのルールを追加します。

    1. すべてのアウトバウンドトラフィックを有効にするデフォルトのルールを見つけ、[削除] を選択します。

    2. [タイプ] の [HTTP] を選択します。[送信先] に「0.0.0.0/0」と入力します。

    3. [別のルールの追加] を選択し、[タイプ] の [HTTPS] を選択します。[送信先] に「0.0.0.0/0」と入力します。

    4. (オプション、IPv6 のみ) [Add another rule]、[Type]、[HTTP] を選択します。[送信先] に「::/0」と入力します。

    5. (オプション、IPv6 のみ) [Add another rule]、[Type]、[HTTPS] を選択します。[送信先] に「::/0」と入力します。

    6. [Save] を選択します。

VPC 内にインスタンスを起動できるようになりました。

インスタンスを起動するには(ウェブサーバーまたはデータベースサーバー)

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ダッシュボードから、[インスタンスの作成] を選択します。

  3. AMI およびインスタンスタイプを選択し、[次の手順: インスタンスの詳細の設定] を選択します。

    注記

    インスタンスを使用して IPv6 通信するには、サポートされているインスタンスタイプを選択する必要があります (例: T2)。詳細については、「Amazon EC2インスタンスタイプ」を参照してください。

  4. [インスタンスの詳細の設定] ページの [ネットワーク] で、前に作成した VPC を選択し、サブネットを選択します。例えば、パブリックサブネット内にウェブサーバーを起動し、プライベートサブネット内にデータベースサーバーを起動します。

  5. (オプション) デフォルトでは、デフォルト以外の VPC に起動するインスタンスには、パブリック IPv4 アドレスは割り当てられません。パブリックサブネットでインスタンスへの接続を可能にするには、ここでパブリック IPv4 アドレスを割り当てることも、Elastic IP アドレスを割り当て、インスタンスの起動後にそれをインスタンスに割り当てることもできます。ここでパブリック IPv4 アドレスを割り当てるには、必ず [Auto-assign Public IP] リストから [Enable] を選択します。プライベートサブネットのインスタンスにパブリック IP アドレスを割り当てる必要はありません。

    注記

    パブリック IPv4 の自動割り当て機能は、デバイスインデックスが eth0 になっている単一の新しいネットワークインターフェイスにのみ使用できます。詳細については、「インスタンス起動時のパブリック IPv4 アドレスの割り当て」を参照してください。

  6. (オプション、IPv6 のみ) サブネットの範囲からインスタンスに IPv6 アドレスを自動的に割り当てることができます。[Auto-assign IPv6 IP] で、[Enable] を選択します。

  7. ウィザードの次の 2 ページで、インスタンスのストレージを設定し、タグを追加できます。[セキュリティグループの設定] ページで、[既存のセキュリティグループを選択する] オプションを選択し、前に作成したセキュリティグループの 1 つ (ウェブサーバーの場合、[WebServerSG]、データベースサーバーの場合、[DBServerSG]) を選択します。[Review and Launch] を選択します。

  8. 選択した設定を確認します。必要な変更を行い、[作成] を選択し、キーペアを選択してインスタンスを起動します。

ステップ 5 のパブリックサブネットでパブリック IPv4 アドレスをインスタンスに割り当てていない場合、インスタンスへ接続することはできません。パブリックサブネットのインスタンスにアクセスするには、そのインスタンスに Elastic IP アドレスを割り当てておく必要があります。

Elastic IP アドレスを割り当て、インスタンスに割り当てるには (IPv4)

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. ナビゲーションペインで [Elastic IP] を選択します。

  3. [Allocate new address] を選択します。

  4. [Allocate] を選択します。

    注記

    アカウントが EC2-Classic をサポートしている場合には、まず [VPC] を選択します。

  5. リストから Elastic IP アドレスを選択し、[Actions]、[Associate address] を選択します。

  6. ネットワークインターフェイスまたはインスタンスを選択します。[Private IP] で、Elastic IP アドレスを関連付けるアドレスを選択して、[Associate] を選択します。

これで、VPC のインスタンスに接続できるようになりました。Linux インスタンスに接続する方法については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の Connect to Your Linux Instance を参照してください。Windows インスタンスに接続する方法については、「Windows インスタンスの Amazon EC2 ユーザーガイド」の Connect to Your Windows Instance を参照してください。

NAT インスタンスを使用してシナリオ 2 を実装する

NAT ゲートウェイの代わりに NAT インスタンスを使用してシナリオ 2 を実装できます。NAT インスタンスの詳細については、「NAT インスタンス」を参照してください。

上記と同じ手順に従うことができます。ただし、VPC ウィザードの NAT セクションでは、[代わりに NAT インスタンスを使用] を選択して NAT インスタンスの詳細を指定します。また、NAT インスタンスのセキュリティグループ (NATSG) が必要です。これにより、NAT インスタンスはプライベートサブネットのインスタンスからのインターネット向けトラフィックやご利用のネットワークからの SSH トラフィックを受信できるようになります。また、NAT インスタンスは、ネットワークにトラフィックを送信することもできます。これにより、プライベートサブネットのインスタンスがソフトウェア更新を取得できます。

NAT インスタンスを使用して VPC を作成したら、NAT インスタンスに関連付けられているセキュリティグループを NATSG セキュリティグループに変更する必要があります (デフォルトでは NAT インスタンスはデフォルトのセキュリティグループを使用して起動されます)。

NATSG: 推奨ルール

インバウンド
送信元 プロトコル ポート範囲 コメント

10.0.1.0/24

TCP

80

プライベートサブネットにあるデータベースサーバーからのインバウンド HTTP トラフィックを許可する

10.0.1.0/24

TCP

443

プライベートサブネットにあるデータベースサーバーからのインバウンド HTTPS トラフィックを許可する

ネットワークのパブリック IP アドレス範囲

TCP

22

ネットワークから NAT インスタンスへのインバウンド SSH アクセス (インターネットゲートウェイ経由) を許可する

アウトバウンド

送信先 プロトコル ポート範囲 コメント

0.0.0.0/0

TCP

80

インターネットへのアウトバウンド HTTP アクセス (インターネットゲートウェイ経由) を許可する

0.0.0.0/0

TCP

443

インターネットへのアウトバウンド HTTPS アクセス(インターネットゲートウェイ経由)を許可する

NATSG セキュリティグループを作成するには

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. ナビゲーションペインで [セキュリティグループ] を選択して、[セキュリティグループの作成] を選択します。

  3. セキュリティグループの名前と説明を指定します。このトピックでは、名前 NATSG が例として使用されます。[VPC] で、VPC の ID を選択して [作成] を選択します。

  4. 作成した NATSG セキュリティグループを選択します。詳細ペインに、セキュリティグループの詳細と、インバウンドルールおよびアウトバウンドルールを操作するためのタブが表示されます。

  5. [インバウンドルール] タブで [編集] を選択して、次に示すようにインバウンドトラフィックのルールを追加します。

    1. [タイプ] の [HTTP] を選択します。[送信元] に、プライベートサブネットの IP アドレス範囲を入力します。

    2. [別のルールの追加] を選択し、[タイプ] の [HTTPS] を選択します。[送信元] に、プライベートサブネットの IP アドレス範囲を入力します。

    3. [別のルールの追加] を選択し、[タイプ] の [SSH] を選択します。[送信元] に、ネットワークのパブリック IP アドレスの範囲を入力します。

    4. [Save] を選択します。

  6. [アウトバウンドルール] タブで [編集] を選択して、次に示すようにアウトバウンドトラフィックのルールを追加します。

    1. すべてのアウトバウンドトラフィックを有効にするデフォルトのルールを見つけ、[削除] を選択します。

    2. [タイプ] の [HTTP] を選択します。[送信先] に「0.0.0.0/0」と入力します。

    3. [別のルールの追加] を選択し、[タイプ] の [HTTPS] を選択します。[送信先] に「0.0.0.0/0」と入力します。

    4. [Save] を選択します。

VPC ウィザードは、NAT インスタンスを起動したときに、VPC のデフォルトのセキュリティグループを使用しました。この NAT インスタンスは、NATSG セキュリティグループに関連付ける必要があります。

NAT インスタンスのセキュリティグループを変更するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. リストから NAT インスタンスを選択し、[アクション]、[ネットワーク]、[セキュリティグループの変更] の順に選択します。

  4. 作成した NATSG セキュリティグループ (セキュリティ) を選択し、[セキュリティグループの割り当て] を選択します。