インターネットアクセスの設定
インスタンスをインターネットからトラフィックを送受信できるようにするには、次の操作を行います。
-
インターネットゲートウェイを作成して VPC にアタッチします。
-
サブネットのルートテーブルに、インターネットへのトラフィックをインターネットゲートウェイに誘導するルートを追加します。
-
サブネット内のインスタンスに、パブリック IPv4 アドレスまたは IPv6 アドレスが割り当てられていることを確認してください。詳細については、「Amazon EC2 ユーザーガイド」の「Instance IP アドレス指定」を参照してください。
-
セキュリティグループリストとネットワークアクセスコントロールリストがインスタンス間で目的のインターネットトラフィックを許可していることを確認します。
パブリック IP アドレスを割り当てずにインスタンスにインターネットアクセスを提供するには、代わりに NAT デバイスを使用します。NAT デバイスを使用すると、プライベートサブネットのインスタンスはインターネットに接続できますが、インターネット上のホストがインスタンスとの接続を開始できなくなります。詳細については、「NAT デバイス」を参照してください。
パブリックサブネットおよびプライベートサブネット
サブネットに関連付けられているルートテーブルにインターネットゲートウェイへのルートがある場合、そのサブネットは「パブリックサブネット」と呼ばれます。インターネットゲートウェイへのルートを持たないルートテーブルに関連付けられているサブネットは、「プライベートサブネット」と呼ばれます。
パブリックサブネットのルートテーブルでは、インターネットゲートウェイのルートに、ルートテーブルに明示的に知られていないすべての送信先 (0.0.0.0/0
の場合は IPv4、::/0
の場合は IPv6) を指定することができます。または、より狭い範囲の IP アドレスにルートを絞り込むこともできます。例えば、AWS 外部にある会社のパブリックエンドポイントのパブリック IPv4 アドレスや、VPC 外部にある他の Amazon EC2 インスタンスの elastic IP アドレスなどです。
IP アドレスおよび NAT
IPv4 でインターネット経由の通信ができるようにするには、インスタンスにパブリック IPv4 アドレスが必要です。インスタンスにパブリック IPv4 アドレスが自動的に割り当てられるように VPC を設定するか、インスタンスに Elastic IP アドレスを割り当てることができます。インスタンスは、VPC とサブネット内で定義されたプライベート(内部)IP アドレス空間のみを認識します。インターネットゲートウェイはインスタンスに代わって 1 対 1 の NAT を論理的に行います。そのため、トラフィックが VPC サブネットから出てインターネットへ向かうとき、返信アドレスフィールドは、インスタンスのプライベート IP アドレスではなくパブリック IPv4 アドレスまたは Elastic IP アドレスに設定されます。逆に、インスタンスのパブリック IPv4 アドレスまたは Elastic IP アドレス宛てのトラフィックは、その送信先アドレスがインスタンスのプライベート IPv4 アドレスに変換されてから、VPC に配信されます。
IPv6 のインターネット経由の通信を有効にするには、VPC およびサブネットは IPv6 CIDR ブロックと関連付け、インスタンスはサブネットの範囲の IPv6 アドレスに割り当てる必要があります。IPv6 アドレスは、グローバルに一意であるため、デフォルトではパブリックアドレスになっています。
次の図表では、アベイラビリティーゾーン A のサブネットはパブリックサブネットを示しています。このサブネットのルートテーブルには、インターネット経由の IPv4 トラフィックをすべてインターネットゲートウェイに送信するルートがあります。パブリックサブネット内のインスタンスは、インターネットゲートウェイを経由してインターネットとの通信を有効にするために、パブリック IP アドレスまたは Elastic IP アドレスが必要です。比較として、アベイラビリティーゾーン B 比較として、アベイラビリティーゾーン B のサブネットは、ルートテーブルにインターネットゲートウェイへのルートがないため、プライベートサブネットとなります。インターネットゲートウェイへのルートがないため、プライベートサブネット内のインスタンスは、パブリック IP アドレスが付与されている場合でもインターネットと通信できません。
デフォルトとデフォルト以外の VPC へのインターネットアクセス
次の表では、IPv4 または IPv6 経由でインターネットアクセスに必要なコンポーネントが VPC に自動的に付与されるかどうかについて示します。
コンポーネント | デフォルト VPC | デフォルトではない VPC |
---|---|---|
インターネットゲートウェイ | 可能 | 不可 |
IPv4 トラフィックのインターネットゲートウェイ (0.0.0.0/0) にルーティングするルートテーブル。 | 可能 | 不可 |
IPv6 トラフィックのインターネットゲートウェイ (::/0) にルーティングするルートテーブル。 | 不可 | なし |
サブネットに起動されるインスタンスに自動的に割り当てられたパブリック IPv4 アドレス。 | Yes (デフォルトサブネット) | No (デフォルト以外のサブネット) |
サブネットに起動されるインスタンスに自動的に割り当てられた IPv6 アドレス。 | いいえ (デフォルトサブネット) | No (デフォルト以外のサブネット) |
デフォルト VPC の詳細については、「デフォルト VPC」を参照してください。VPC の作成方法の詳細については、「「VPC を作成する」」を参照してください。