Direct Connectゲートウェイ × Transit Gateway構成での
許可プレフィックスの相互作用をたとえ話で完全理解
Transit Gateway関連付けでは、許可プレフィックスリストに明示的に登録されたCIDRのみがオンプレミスにアドバタイズされる。暗黙の許可はない。
以前の上限20個から200個に拡張済み。ただし効率化のためCIDR集約が推奨される。
プレフィックスリストの変更はBGPセッションのリセットを引き起こし、全プレフィックスが再アドバタイズされる。
同じDXGWに複数のTGWを関連付ける場合、それぞれの許可プレフィックスが重複してはならない。
Direct Connectゲートウェイを「国際物流ハブ」、Transit Gatewayを「地域配送センター」に見立てて考えましょう。許可プレフィックスリストは、物流ハブが海外(オンプレミス)に対して「ここに届けられますよ」と公開する配送可能エリアリストです。リストに載っていないエリアは、実際には倉庫(VPC)が存在していても「配送不可」と案内されます。
| 物流のたとえ | AWSの実体 | 役割 | |
|---|---|---|---|
| 🌎 | 国際物流ハブ(中継拠点) | Direct Connect ゲートウェイ | オンプレミスとAWSの中継点。ルート情報を仲介する |
| 📦 | 地域配送センター | Transit Gateway | 複数の倉庫(VPC)をまとめ、ルートを集約する |
| 🏢 | 各倉庫・店舗 | VPC(10.0.0.0/16 など) | 実際のワークロードが動作するネットワーク |
| 📋 | 配送可能エリアリスト | 許可プレフィックスリスト | オンプレミスにアドバタイズするCIDRのフィルタ |
| 💻 | 海外取引先 | オンプレミスルーター | BGPで経路情報を受け取り、通信先を決定する |
| 📜 | エリア統合(区→市レベル) | CIDR集約 | 細かいCIDRを大きなブロックにまとめて効率化する |
VPCのルートテーブルで使う「AWSマネージドプレフィックスリスト」とは異なります。ここで言う許可プレフィックスリストは、Direct Connectゲートウェイの関連付け設定に対する専用のフィルタ機能です。混同しないように注意しましょう。
TGW関連付けでは、許可プレフィックスリストに明示的に登録されたCIDRのみがオンプレミスにアドバタイズされます。たとえ話でいうと、配送可能エリアリストに載っていない地域には「配送不可」と案内されるのと同じです。
プレフィックスリストを変更すると、BGPセッションがリセットされます。物流にたとえると、配送可能エリアリストを更新すると、一度すべての配送契約を破棄して、新しいリストで再契約するようなものです。
1つのTGW関連付けに対して最大200個のプレフィックスを登録可能です。以前は20個が上限でした。ただし、CIDR集約で数を抑えることがベストプラクティスです。
同じDXGWに複数のTGWが関連付けられている場合、各TGWの許可プレフィックスが重複してはなりません。物流でいうと、2つの配送センターが同じ配送エリアを担当宣言するのは禁止ということです。
細かい「○○町1丁目」「○○町2丁目」を個別に配送可能リストに書く代わりに、「○○町全域」とまとめて書くのがCIDR集約です。リストの行数が減り、管理が楽になります。
集約によりオンプレミスルーターが保持するルートエントリ数が減り、ルックアップ速度が向上します。
プレフィックスリストの管理が容易になり、変更時のBGPリセット回数も最小限に抑えられます。
BGPアップデートメッセージのサイズが小さくなり、コンバージェンス時間が短縮されます。
将来VPCを追加しても、集約CIDRの範囲内であれば許可プレフィックスリストの変更が不要です。
# 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",
]
}
原因:該当VPCのCIDRが許可プレフィックスリストに登録されていない。リストに登録されていないCIDRはオンプレミスにアドバタイズされないため、オンプレミスルーターはそのVPCへのルートを知らない。
原因:同じDXGWに関連付けられた別のTGWの許可プレフィックスとオーバーラップしている可能性がある。
原因:プレフィックスリストの変更によりBGPセッションがリセットされ、経路が再アドバタイズされるまで通信が途切れる。
許可プレフィックスリストが空の場合、TGWからのルートはオンプレミスにアドバタイズされません。つまり、オンプレミスからAWS側のVPCには到達できなくなります。物流でいうと、配送可能エリアリストが白紙 = どこにも配送しない、という状態です。
いいえ、大きく異なります。VGW関連付けではVPCのCIDRが自動的にアドバタイズされ、許可プレフィックスリストは追加のプレフィックスを広告するために使われます。一方、TGW関連付けでは許可プレフィックスリストに登録されたCIDRのみがアドバタイズされるホワイトリスト方式です。
通常、BGPセッションのリセットと再コンバージェンスに数十秒~数分程度かかります。ネットワーク環境やBGPの設定(タイマー値、Graceful Restart等)により変動します。メンテナンスウィンドウでの実施が推奨されます。
機能的には問題ありません。ただし、200個の上限に達しやすくなり、管理も煩雑になります。また、VPCを追加するたびにリストの更新(= BGPリセット)が必要になるため、集約が強く推奨されます。
TGW関連付けの許可プレフィックスリストではデフォルトルート(0.0.0.0/0)を登録できます。ただし、これはTGWに接続されたすべてのルートがアドバタイズ対象になることを意味するため、セキュリティ上のリスクがあります。最小権限の原則に基づき、必要なCIDRのみを登録することが推奨されます。
Created by SSuzuki1063
AWS SAP Learning Resources