Egress-Only Internet Gateway(EIGW)とは?
IPv6のプライベートサブネットから「外に出る」通信だけを許可し、インターネットからの「入ってくる」通信をブロックするVPCコンポーネントです。IPv4のNAT Gatewayに相当する役割を、IPv6の世界で無料で提供します。
IPv6専用の出口ゲート
IPv6トラフィックのみ対象。IPv4はNAT Gatewayを使う
ステートフルに応答を返す
内部からのリクエストの応答は自動で通過させる
利用料金は無料
EIGW自体の料金は不要。データ転送料のみ発生
高可用性を標準装備
水平スケーリング・冗長化済み。AZ障害にも耐える
たとえ話:「出口専用の回転ドア」
マンションのセキュリティシステムでEIGWを理解する
| マンションのたとえ | AWS の実態 | |
|---|---|---|
| 🏢 | マンション全体 | VPC(IPv6 CIDRブロック付き) |
| 🚶 | 住人(外に出たい) | プライベートサブネット内のEC2インスタンス |
| 🚪 | 出口専用の回転ドア | Egress-Only Internet Gateway |
| 🕶 | 正面玄関(出入り自由) | Internet Gateway(双方向) |
| 👥 | 外部の訪問者 | インターネット上のホスト |
| 📝 | 管理人の外出記録帳 | ステートフル接続追跡 |
| 🔎 | フロアごとの入退室ルール | ネットワークACL |
| 📑 | 住人名簿の掲示板 | ルートテーブル(::/0 → eigw-id) |
アーキテクチャ図
EIGW を使ったデュアルスタック VPC の通信フロー
EIGWの主要特徴
NAT Gatewayの IPv6 版として理解するのが最短ルート
一方向通信のみ許可
VPC 内部 → インターネットのアウトバウンド通信だけ許可。外部からの接続開始(インバウンド)は自動的にブロックされます。
ステートフル動作
内部から開始した通信に対する応答パケットは自動的に許可。管理人が「この人はさっき出た住人だ」と記録しているイメージです。
完全無料(EIGW自体)
NAT Gateway のように時間課金やデータ処理料金は不要。発生するのは EC2 のデータ転送料のみです。
マネージドで高可用性
AWSが自動で水平スケーリング・冗長構成を管理。NAT Gatewayのように AZ ごとの配置を考える必要がありません。
セキュリティグループ非対応
EIGW にはセキュリティグループを関連付けられません。トラフィック制御にはネットワーク ACL を使用します。
IPv6 専用コンポーネント
IPv6 トラフィックのみ対象。IPv4 の一方向通信が必要な場合は NAT Gateway を別途構成します。
EIGW vs NAT Gateway vs Internet Gateway 比較
3つのゲートウェイの役割と違いを一目で把握
| 比較項目 | Egress-Only IGW | NAT Gateway | Internet Gateway |
|---|---|---|---|
| 対象プロトコル | IPv6 のみ | IPv4 のみ | IPv4 / IPv6 |
| 通信方向 | アウトバウンドのみ | アウトバウンドのみ | 双方向 |
| インバウンド接続 | ブロック | ブロック | 許可 |
| ステートフル | はい | はい | いいえ |
| アドレス変換(NAT) | なし | あり | なし |
| 利用料金 | 無料 | 有料(時間+GB) | 無料 |
| SG 関連付け | 不可 | 不可 | 不可 |
| サブネット配置 | VPC レベル | サブネットレベル | VPC レベル |
| たとえ話 | 🚪 出口専用回転ドア | 📦 代理発送の受付窓口 | 🕶 正面玄関(出入り自由) |
構成コード例
AWS CLI / CloudFormation / Terraform による EIGW 作成手順
# 1. Egress-Only Internet Gateway を作成 aws ec2 create-egress-only-internet-gateway \ --vpc-id vpc-0abc123def456 # 出力例: eigw-015e0e244e24dfe8a # 2. ルートテーブルに IPv6 デフォルトルートを追加 aws ec2 create-route \ --route-table-id rtb-0abc123def456 \ --destination-ipv6-cidr-block ::/0 \ --egress-only-internet-gateway-id eigw-015e0e244e24dfe8a # 3. 確認 aws ec2 describe-egress-only-internet-gateways \ --egress-only-internet-gateway-ids eigw-015e0e244e24dfe8a
AWSTemplateFormatVersion: '2010-09-09' Description: Egress-Only Internet Gateway for IPv6 Resources: # EIGW の作成 EgressOnlyIGW: Type: AWS::EC2::EgressOnlyInternetGateway Properties: VpcId: !Ref MyVPC # プライベートサブネット用ルートテーブルにルート追加 IPv6DefaultRoute: Type: AWS::EC2::Route Properties: RouteTableId: !Ref PrivateRouteTable DestinationIpv6CidrBlock: ::/0 EgressOnlyInternetGatewayId: !Ref EgressOnlyIGW
# Egress-Only Internet Gateway resource "aws_egress_only_internet_gateway" "eigw" { vpc_id = aws_vpc.main.id tags = { Name = "eigw-private-ipv6" } } # ルートテーブルに IPv6 デフォルトルート追加 resource "aws_route" "ipv6_default" { route_table_id = aws_route_table.private.id destination_ipv6_cidr_block = "::/0" egress_only_gateway_id = aws_egress_only_internet_gateway.eigw.id }
ベストプラクティス vs アンチパターン
正しい使い方と避けるべき構成
✅ ベストプラクティス
❌ アンチパターン
トラブルシューティング
よくあるエラーと解決方法
⚠ IPv6 でインターネットに接続できない
原因:ルートテーブルに ::/0 → eigw-id のルートが未設定
✔ 解決策:プライベートサブネットのルートテーブルに ::/0 → EIGW のルートを追加
⚠ 「There are existing ipv6 routes with next hop as IGW」エラー
原因:同一ルートテーブルの ::/0 がすでに IGW に設定されている
✔ 解決策:既存の IGW への ::/0 ルートを削除してから EIGW ルートを追加
⚠ EIGW 削除後に通信が止まった
原因:ルートテーブルのルートが blackhole 状態になっている
✔ 解決策:blackhole ルートを手動で削除するか、新しい EIGW を作成してルートを更新
⚠ IPv4 通信が EIGW を通過しない
原因:EIGW は IPv6 専用。IPv4 には対応していない
✔ 解決策:IPv4 の一方向通信には NAT Gateway を使用する
⚠ インターネットから EC2 に IPv6 で接続したい
原因:EIGW は出口専用であり、インバウンドは不可
✔ 解決策:パブリックサブネットに配置し、Internet Gateway を使用する
試験対策ポイント
ANS-C01 / SAP-C02 で問われるEIGWの頻出論点
📚 試験で狙われるポイント
よくある質問(FAQ)
📋 Egress-Only Internet Gateway チートシート
- 正式名称
- Egress-Only Internet Gateway(EIGW)
- 対象プロトコル
- IPv6 のみ(IPv4 は NAT Gateway)
- 通信方向
- アウトバウンドのみ(ステートフル応答は許可)
- 料金
- EIGW 自体は無料(データ転送料のみ)
- 配置レベル
- VPC レベル(AZ 指定不要)
- セキュリティ制御
- ネットワーク ACL(SG は非対応)
- ルート設定
- ::/0 → eigw-id
- たとえ話
- 🚪 マンションの出口専用回転ドア