AWS Direct Connect · ANS-C01対応

許可プレフィックスリスト完全ガイド

Direct Connectゲートウェイ × Transit Gateway構成での
許可プレフィックスの相互作用をたとえ話で完全理解

🎯

まず押さえる4つのポイント

1

許可プレフィックスリスト=フィルタ

Transit Gateway関連付けでは、許可プレフィックスリストに明示的に登録されたCIDRのみがオンプレミスにアドバタイズされる。暗黙の許可はない。

2

クォータは最大200プレフィックス

以前の上限20個から200個に拡張済み。ただし効率化のためCIDR集約が推奨される。

3

変更するとBGPリセット

プレフィックスリストの変更はBGPセッションのリセットを引き起こし、全プレフィックスが再アドバタイズされる。

4

複数TGWではオーバーラップ禁止

同じDXGWに複数のTGWを関連付ける場合、それぞれの許可プレフィックスが重複してはならない

🚚

たとえ話:国際物流ハブの配送許可リスト

💡 このガイド全体で使うたとえ話

Direct Connectゲートウェイを「国際物流ハブ」、Transit Gatewayを「地域配送センター」に見立てて考えましょう。許可プレフィックスリストは、物流ハブが海外(オンプレミス)に対して「ここに届けられますよ」と公開する配送可能エリアリストです。リストに載っていないエリアは、実際には倉庫(VPC)が存在していても「配送不可」と案内されます。

物流のたとえ AWSの実体 役割
🌎 国際物流ハブ(中継拠点) Direct Connect ゲートウェイ オンプレミスとAWSの中継点。ルート情報を仲介する
📦 地域配送センター Transit Gateway 複数の倉庫(VPC)をまとめ、ルートを集約する
🏢 各倉庫・店舗 VPC(10.0.0.0/16 など) 実際のワークロードが動作するネットワーク
📋 配送可能エリアリスト 許可プレフィックスリスト オンプレミスにアドバタイズするCIDRのフィルタ
💻 海外取引先 オンプレミスルーター BGPで経路情報を受け取り、通信先を決定する
📜 エリア統合(区→市レベル) CIDR集約 細かいCIDRを大きなブロックにまとめて効率化する
🗺

アーキテクチャ全体図

許可プレフィックスリストによるルートアドバタイズ制御 Direct Connect GW × Transit GW 構成 ON-PREMISES DIRECT CONNECT TRANSIT GATEWAY VPCs 💻 オンプレミス ルーター BGPピア 192.168.0.0/16 🌎 Direct Connect ゲートウェイ ルート仲介・中継 📋 許可プレフィックス リスト 10.0.0.0/16, 10.1.0.0/16 📦 Transit Gateway ルート集約ハブ 🏢 VPC-A 10.0.0.0/16 (本番環境) 🏢 VPC-B 10.1.0.0/16 (開発環境) 🏢 VPC-C 10.2.0.0/16 (リスト未登録) BGP 関連付け フィルタ適用 ✓ 許可 ✓ 許可 ✗ 未登録 📢 オンプレミスに広告される経路 10.0.0.0/16, 10.1.0.0/16 10.2.0.0/16 はアドバタイズされない 凡例 許可プレフィックスに登録済みVPC 許可プレフィックス未登録VPC 許可プレフィックスリスト(フィルタ) ルート広告方向 戻り経路 ブロックされた経路

許可プレフィックスリストの仕組み

⚠️

AWSマネージドプレフィックスリストとは別物!

VPCのルートテーブルで使う「AWSマネージドプレフィックスリスト」とは異なります。ここで言う許可プレフィックスリストは、Direct Connectゲートウェイの関連付け設定に対する専用のフィルタ機能です。混同しないように注意しましょう。

🔎

ホワイトリスト方式

TGW関連付けでは、許可プレフィックスリストに明示的に登録されたCIDRのみがオンプレミスにアドバタイズされます。たとえ話でいうと、配送可能エリアリストに載っていない地域には「配送不可」と案内されるのと同じです。

🔄

BGPリセットの影響

プレフィックスリストを変更すると、BGPセッションがリセットされます。物流にたとえると、配送可能エリアリストを更新すると、一度すべての配送契約を破棄して、新しいリストで再契約するようなものです。

📈

上限200プレフィックス

1つのTGW関連付けに対して最大200個のプレフィックスを登録可能です。以前は20個が上限でした。ただし、CIDR集約で数を抑えることがベストプラクティスです。

🚫

複数TGWのオーバーラップ禁止

同じDXGWに複数のTGWが関連付けられている場合、各TGWの許可プレフィックスが重複してはなりません。物流でいうと、2つの配送センターが同じ配送エリアを担当宣言するのは禁止ということです。

フィルタ処理フロー ― 物流ハブのたとえ ① TGWのルートテーブル 10.0.0.0/16 (VPC-A) 10.1.0.0/16 (VPC-B) 10.2.0.0/16 (VPC-C) =全VPCの経路を保持= (配送センターの在庫台帳) 経路送出 ② 許可プレフィックスフィルタ ✓ 10.0.0.0/16 → 許可 ✓ 10.1.0.0/16 → 許可 ✗ 10.2.0.0/16 → 拒否 =リストに載ったものだけ通過= (配送可能エリアリスト) 通過 🚫 ドロップ 10.2.0.0/16は オンプレミスに届かない ③ DXGWが広告 10.0.0.0/16 10.1.0.0/16 =フィルタ済みの経路のみ= (物流ハブが海外に通知) BGP広告 ④ オンプレミス 受信した経路: 10.0.0.0/16 10.1.0.0/16 (海外取引先の 受領リスト) 💡 物流たとえでの理解 配送センター(TGW)は在庫台帳に全倉庫を記載 → 国際物流ハブ(DXGW)は配送可能エリアリスト  (許可プレフィックス)に載った倉庫だけを  海外取引先(オンプレミス)に通知する
📊

CIDR集約の実践

🚚 物流たとえ:エリアの統合

細かい「○○町1丁目」「○○町2丁目」を個別に配送可能リストに書く代わりに、「○○町全域」とまとめて書くのがCIDR集約です。リストの行数が減り、管理が楽になります。

📈

ルートテーブル削減

集約によりオンプレミスルーターが保持するルートエントリ数が減り、ルックアップ速度が向上します。

🛠

設定の簡素化

プレフィックスリストの管理が容易になり、変更時のBGPリセット回数も最小限に抑えられます。

帯域幅の効率化

BGPアップデートメッセージのサイズが小さくなり、コンバージェンス時間が短縮されます。

🚀

スケーラビリティ

将来VPCを追加しても、集約CIDRの範囲内であれば許可プレフィックスリストの変更が不要です。

🔎 集約の具体例:10.0.32.0/21 と 10.0.40.0/21

10.0.32.0/21 = 00001010.00000000.00100000.00000000
10.0.40.0/21 = 00001010.00000000.00101000.00000000
共通プレフィックス = 00001010.00000000.001?????.00000000
共通ビット数 = 20ビット(第3オクテット上位3ビットまで一致)
➤ 集約結果:10.0.32.0/20(32~47のサブネット範囲をカバー)
CIDR集約:細かいブロックを大きなブロックにまとめる 集約前(個別エントリ) 10.0.32.0/21 32~39 のサブネット 10.0.40.0/21 40~47 のサブネット 集約 10.0.32.0/20 32~47 のサブネット全体をカバー 🚚 物流たとえ 「○○町1~8丁目」+「○○町9~16丁目」 → 「○○町 全域」に統合して1行で記載 ✓ 集約の効果 ● プレフィックスリストのエントリ数: 2 → 1 ● オンプレミスルーターの負荷軽減 ● 将来 10.0.33.0/24 等を追加しても変更不要 ● BGPリセットの発生回数を最小化
💻

設定コード例

# TGWとDXGWの関連付け作成(許可プレフィックス付き)
aws directconnect create-transit-gateway-association \
  --direct-connect-gateway-id dxgw-xxxxxxxx \
  --gateway-id tgw-yyyyyyyy \
  --add-allowed-prefixes-to-direct-connect-gateway \
    cidr=10.0.0.0/16 \
    cidr=10.1.0.0/16

# 許可プレフィックスリストの更新
aws directconnect update-direct-connect-gateway-association \
  --association-id dxgw-assoc-zzzzzzzz \
  --add-allowed-prefixes-to-direct-connect-gateway \
    cidr=10.2.0.0/16 \
  --remove-allowed-prefixes-to-direct-connect-gateway \
    cidr=10.1.0.0/16

# 関連付けの確認
aws directconnect describe-direct-connect-gateway-associations \
  --direct-connect-gateway-id dxgw-xxxxxxxx
AWSTemplateFormatVersion: '2010-09-09'
Description: DXGW - TGW Association with Allowed Prefixes

Resources:
  DxGwTgwAssociation:
    Type: AWS::DirectConnect::TransitGatewayAssociation
    Properties:
      DirectConnectGatewayId: !Ref DirectConnectGateway
      GatewayId: !Ref TransitGateway
      AllowedPrefixes:
        - Cidr: '10.0.0.0/16'
        - Cidr: '10.1.0.0/16'

  DirectConnectGateway:
    Type: AWS::DirectConnect::DirectConnectGateway
    Properties:
      DirectConnectGatewayName: my-dxgw
      AmazonSideAsn: 64512

Outputs:
  AssociationId:
    Value: !Ref DxGwTgwAssociation
# Direct Connect Gateway
resource "aws_dx_gateway" "main" {
  name            = "my-dxgw"
  amazon_side_asn = 64512
}

# TGW Association with Allowed Prefixes
resource "aws_dx_gateway_association" "tgw" {
  dx_gateway_id         = aws_dx_gateway.main.id
  associated_gateway_id = aws_ec2_transit_gateway.main.id

  allowed_prefixes = [
    "10.0.0.0/16",
    "10.1.0.0/16",
  ]
}

# 集約版(推奨)
resource "aws_dx_gateway_association" "tgw_aggregated" {
  dx_gateway_id         = aws_dx_gateway.main.id
  associated_gateway_id = aws_ec2_transit_gateway.main.id

  # /16 × 2 を /15 に集約
  allowed_prefixes = [
    "10.0.0.0/15",
  ]
}

ベストプラクティス vs アンチパターン

✅ ベストプラクティス

🟢 CIDRを集約して許可プレフィックス数を最小化する。将来の拡張を見越してスーパーネットで登録する。
🟢 変更はメンテナンスウィンドウ中に行う。BGPリセットが発生するため、業務影響の少ない時間帯を選ぶ。
🟢 複数TGW構成では、IP空間を事前に整理し、オーバーラップが発生しない設計にする。
🟢 CloudFormation/Terraformで許可プレフィックスをIaCとして管理し、変更履歴を追跡する。

❌ アンチパターン

🔴 全VPCのCIDRを個別に登録する。管理が煩雑になり、BGPリセットの頻度が上がる。
🔴 本番トラフィック中に許可プレフィックスを変更する。BGPリセットで一時的に通信断が発生する。
🔴 複数TGWの許可プレフィックスを重複させる。AWSが関連付けを拒否する。
🔴 AWSマネージドプレフィックスリストと混同して、VPCルートテーブルで代用しようとする。
🔧

トラブルシューティング

🚨 オンプレミスからVPCに到達できない

原因:該当VPCのCIDRが許可プレフィックスリストに登録されていない。リストに登録されていないCIDRはオンプレミスにアドバタイズされないため、オンプレミスルーターはそのVPCへのルートを知らない。

対処:aws directconnect describe-direct-connect-gateway-associations でリストを確認し、不足しているCIDRを update-direct-connect-gateway-association で追加する。

🚨 TGW関連付けが「associating」のまま進まない

原因:同じDXGWに関連付けられた別のTGWの許可プレフィックスとオーバーラップしている可能性がある。

対処:すべてのTGW関連付けの許可プレフィックスを確認し、CIDR範囲の重複がないか検証する。重複がある場合はIP設計を見直す。

🚨 許可プレフィックス変更後に通信断が発生

原因:プレフィックスリストの変更によりBGPセッションがリセットされ、経路が再アドバタイズされるまで通信が途切れる。

対処:変更はメンテナンスウィンドウ中に実施する。また、変更前にBGP Graceful Restartの設定を確認し、コンバージェンス時間を最小化する。
🎓

試験対策(ANS-C01 / SAP-C02)

💡 出題されやすいポイント

🔸 TGW関連付けの許可プレフィックス=ホワイトリスト。登録されたCIDRのみがアドバタイズされる。VGW関連付けとは動作が異なる点に注意(VGWではVPC CIDRが自動広告される)。
🔸 複数TGWではオーバーラップ禁止。同じDXGWに複数のTGWを関連付ける場合、許可プレフィックスの重複は許されない。IPアドレス設計の問題として出題されやすい。
🔸 CIDR集約の計算。2つのCIDRブロックをバイナリで展開し、共通プレフィックスを求める問題が出題される。スーパーネットの計算に慣れておく。
🔸 BGPリセットの影響を理解。許可プレフィックスリストの変更がBGPセッションに与える影響と、メンテナンスウィンドウの必要性が問われる。
🔸 AWSマネージドプレフィックスリストとの区別。DXGWの許可プレフィックスリストとVPCルートテーブルのマネージドプレフィックスリストの違いを正確に把握する。

よくある質問(FAQ)

許可プレフィックスリストが空の場合、TGWからのルートはオンプレミスにアドバタイズされません。つまり、オンプレミスからAWS側のVPCには到達できなくなります。物流でいうと、配送可能エリアリストが白紙 = どこにも配送しない、という状態です。

いいえ、大きく異なります。VGW関連付けではVPCのCIDRが自動的にアドバタイズされ、許可プレフィックスリストは追加のプレフィックスを広告するために使われます。一方、TGW関連付けでは許可プレフィックスリストに登録されたCIDRのみがアドバタイズされるホワイトリスト方式です。

通常、BGPセッションのリセットと再コンバージェンスに数十秒~数分程度かかります。ネットワーク環境やBGPの設定(タイマー値、Graceful Restart等)により変動します。メンテナンスウィンドウでの実施が推奨されます。

機能的には問題ありません。ただし、200個の上限に達しやすくなり、管理も煩雑になります。また、VPCを追加するたびにリストの更新(= BGPリセット)が必要になるため、集約が強く推奨されます。

TGW関連付けの許可プレフィックスリストではデフォルトルート(0.0.0.0/0)を登録できます。ただし、これはTGWに接続されたすべてのルートがアドバタイズ対象になることを意味するため、セキュリティ上のリスクがあります。最小権限の原則に基づき、必要なCIDRのみを登録することが推奨されます。

📖

用語集

Direct Connect Gateway (DXGW)
複数のDirect Connect接続やVIFを集約し、複数リージョンのVPCやTGWと接続するためのグローバルなゲートウェイリソース。
Transit Gateway (TGW)
複数のVPC、VPN、Direct Connect接続を中央ハブとして接続するリージョナルなルーティングサービス。
許可プレフィックスリスト
DXGWとTGWの関連付けにおいて、オンプレミスにアドバタイズするCIDRブロックを制御するフィルタリスト。
CIDR集約(スーパーネッティング)
複数の小さなCIDRブロックを1つの大きなブロックにまとめる技術。ルーティングテーブルの効率化に寄与する。
BGP (Border Gateway Protocol)
自律システム間の経路情報を交換するプロトコル。Direct Connectではオンプレミスとの経路交換に使用される。
アドバタイズ
BGPにおいて、自身のネットワーク経路情報を隣接ルーターに通知(広告)すること。
📋

チートシート

⚡ 許可プレフィックスリスト 早見表

動作モード
TGW: ホワイトリスト(登録されたCIDRのみ広告)
VGW: 追加広告(VPC CIDRは自動 + リストで追加)
上限
1つのTGW関連付けあたり200プレフィックス(旧上限: 20)
変更時の影響
BGPセッションがリセットされ、全プレフィックスが再アドバタイズされる
複数TGW制約
同一DXGWに関連付けられたTGW間で、許可プレフィックスのオーバーラップ禁止
CIDR集約のコツ
バイナリ展開 → 共通プレフィックスビットを数える → /N で集約
混同注意
VPCルートテーブルの「AWSマネージドプレフィックスリスト」とは別物

Created by SSuzuki1063

AWS SAP Learning Resources