AWS Direct Connect × VIF Parameters

Direct Connect VIF 設定パラメータ
全項目を完全図解

「VIFを作るとき、何を設定するの?」
ホテルの予約申込書のたとえ話で、VIFの全パラメータを直感的に理解しましょう

最初に押さえる3つのポイント

1
VIFは3種類で、それぞれ設定できるパラメータが微妙に異なる。共通パラメータ+種類別の専用パラメータを理解しよう
2
必須パラメータは2つだけ:virtualInterfaceName(VIF名)と vlan(VLAN ID)。他はオプションだが実運用ではASN・IPアドレスも重要
3
接続先の指定方法が種類で異なる:Private VIFは VGW or DXGW、Transit VIFは DXGWのみ、Public VIFは routeFilterPrefixes で経路指定
4
MTU・SiteLinkはPrivateとTransitのみ対応。Public VIFではジャンボフレームもSiteLinkも使えない点に注意

たとえ話:VIF作成 = ホテルの予約申込書

VIFの作成は、高級ホテルに宿泊予約するための申込書を書くようなものです。部屋の種類(Private / Public / Transit)によって記入項目が少し変わりますが、基本的な書式は同じです。

VIFパラメータ ホテル予約のたとえ 実際の役割
virtualInterfaceName 予約者名 VIFの識別名。人間が見て区別するためのラベル
vlan 部屋番号 物理回線上で通信を分離するためのVLAN ID
asn / asnLong 会員番号 BGPピアリングで使う自律システム番号(お客様側)
amazonAddress フロントの内線番号 AWS側のBGPピアリング用IPアドレス
customerAddress お客様の内線番号 お客様側のBGPピアリング用IPアドレス
authKey セキュリティコード BGP MD5認証キー(6〜80文字)
addressFamily 和室 or 洋室 IPv4 か IPv6 か(BGPピアのアドレスファミリー)
mtu ドアの大きさ 1回に送れるパケットの最大サイズ(1500 or 8500)
enableSiteLink 系列ホテル間の無料シャトルバス DXロケーション間のAWSバックボーン直接接続
virtualGatewayId 宿泊フロアの指定(低層階) Private VIF の接続先 VGW(1つのVPCに対応)
directConnectGatewayId 宿泊フロアの指定(全フロア対応ロビー) DXGWのID(複数VPC/TGWへの接続に対応)
routeFilterPrefixes 利用可能な施設リスト Public VIF で広告するCIDRプレフィックスの一覧
tags スーツケースの名札 AWS リソースのタグ(Key-Value ペア)
💡 ポイント:VIF作成で必ず記入するのは「予約者名」(virtualInterfaceName)と「部屋番号」(vlan)だけ。他の項目は省略可能ですが、BGP接続を確立するには「会員番号」(ASN)と「内線番号」(IP アドレス)も事実上必須です。

VIFの3種類と設定パラメータの違い

Private VIF

VPC内のプライベートリソースにアクセス

VGW / DXGW 経由で VPC へ

Public VIF

AWSのパブリックサービス(S3、DynamoDB等)にアクセス

routeFilterPrefixes で経路指定

Transit VIF

Transit Gateway 経由で複数VPCにアクセス

DXGW 経由で TGW へ

VIFパラメータの全体像:何がどこに効くのか

VIF パラメータの対応箇所マップ カスタマー ルーター DX接続 (connectionId) ★ VIF virtualInterface Name + vlan 接続先 VGW / DXGW / TGW BGPピアリング設定ゾーン asn / amazonAddress / customerAddress / authKey / addressFamily 接続先指定(VIFの種類で異なる) virtualGatewayId / directConnectGatewayId / routeFilterPrefixes 拡張設定 mtu / enableSiteLink 🏷 tags ― 全VIFタイプ共通のメタデータ(Key-Value ペア) 必須 BGP関連 接続先 拡張(Private/Transitのみ)

図1: VIFパラメータがDirect Connect構成のどの部分に対応するかのマップ

VIFタイプ別パラメータ対応表

パラメータ名 Private VIF Public VIF Transit VIF 必須?
virtualInterfaceName 必須
vlan 必須
asn 任意
asnLong 任意
addressFamily 任意
amazonAddress 任意
customerAddress 任意
authKey 任意
mtu 任意
enableSiteLink 任意
virtualGatewayId 任意
directConnectGatewayId 任意
routeFilterPrefixes 任意
tags 任意
💡 覚え方:Public VIF だけが「仲間はずれ」。MTU変更(ジャンボフレーム)、SiteLink、そしてGatewayへの直接接続がいずれもできません。代わりにrouteFilterPrefixes(広告するプレフィックスリスト)が Public VIF だけの専用パラメータです。

なぜ routeFilterPrefixes は Public VIF だけなのか?

VIF のパラメータ一覧を見ると、routeFilterPrefixes だけが Public VIF 専用であることに気づきます。これは3種類のVIFが「どの世界のIPアドレスを扱うか」という根本的な違いから来ています。

🔒 Private / Transit VIF = ホテル館内の内線通話

Private VIF と Transit VIF は、閉じたプライベート空間での経路交換です。VGW や DXGW・TGW という「受け皿」のゲートウェイに接続すると、VPC の CIDR(例: 10.0.0.0/16)を AWS が自動で BGP 広告してくれます。お客様側のオンプレミス経路も BGP で自動交換されます。

ホテルのたとえでいえば、内線システム(VGW/DXGW)がどの部屋と通話できるか自動で管理してくれるので、お客様が「利用可能な施設リスト」を手書きする必要はありません。

🌐 Public VIF = 外部への公衆電話回線

一方、Public VIF は S3 や DynamoDB などAWS パブリックサービスのパブリック IP アドレスにアクセスするためのもので、VGW にも DXGW にも接続しません。ここが根本的に異なります。

① お客様が自分のパブリック IP を AWS に教える必要がある

AWS のパブリックサービスからの戻りトラフィックをお客様に届けるには、お客様が所有するパブリック IP レンジ(例: 203.0.113.0/24)を AWS に BGP で広告する必要があります。routeFilterPrefixes はまさにこの「AWS に広告したいパブリック IP プレフィックスのリスト」を指定するパラメータです。

② ゲートウェイという「受け皿」が存在しない

Private VIF には VGW/DXGW、Transit VIF には DXGW という仲介ゲートウェイがありますが、Public VIF にはそれがありません。代わりに AWS のパブリック IP レンジが直接 BGP 広告されてきて、お客様側も自分のパブリック IP を routeFilterPrefixes で広告するという対等な BGP ピアリングの形になります。

なぜ routeFilterPrefixes は Public VIF だけなのか? 🔒 Private / Transit VIF — ゲートウェイが経路を自動管理 オンプレミス 10.1.0.0/16 Private VIF / Transit VIF VGW / DXGW 🔄 経路自動交換 VPC 10.0.0.0/16 ✅ ゲートウェイ(VGW/DXGW)が VPC の CIDR を自動で BGP 広告 routeFilterPrefixes は不要 🌐 Public VIF — ゲートウェイなし、お客様が明示的にプレフィックスを広告 オンプレミス 203.0.113.0/24 Public VIF 対等なBGPピア AWS パブリック サービス S3 / DynamoDB 等 ✕ GW無 ⚠ routeFilterPrefixes で お客様のパブリック IP を明示的に広告 AWS 側は 全パブリック IP レンジを自動広告 結論:ゲートウェイのない Public VIF だけが、 お客様側の経路を明示指定(routeFilterPrefixes)する必要がある

図2: Private/Transit VIF(ゲートウェイが経路自動管理)vs Public VIF(routeFilterPrefixes で明示広告)の対比

各パラメータの詳細解説

✅ 必須パラメータ(2つ)

virtualInterfaceName

VIFの表示名。AWSコンソールやCLIで人間が識別するために使います。ホテルの「予約者名」のようなもの。

型:
String
最大長:
100文字
使用可能:
a-z, 0-9, ハイフン(-)

vlan

VLAN ID。1本の物理回線上で複数のVIFを論理的に分離するための番号。ホテルの「部屋番号」に相当します。

型:
Integer
範囲:
1〜4094
注意:
同一接続内で一意

🔗 BGPピアリング関連パラメータ

asn

お客様側のBGP AS番号(2バイトASN)。ホテルの「会員番号」のようなもので、BGPでの身元確認に使います。

型:
Integer
範囲:
1〜2,147,483,646
推奨:
asnLong の使用を推奨

asnLong

4バイトASN対応版。asnと同時指定した場合はasnLongが優先されます。より広い番号プールが使えます。

型:
Long
範囲:
1〜4,294,967,294
注意:
asn と排他。両方指定時は asnLong が優先

addressFamily

BGPピアのアドレスファミリー。「和室か洋室か」の選択のように、IPv4かIPv6かを指定します。

型:
String
有効値:
ipv4 | ipv6
IPv6の場合:
amazonAddress/customerAddress は自動割当

amazonAddress

AWS側のBGPピアリング用IPアドレス。フロントデスクの内線番号のようなもの。省略時はAWSが自動割当します。

型:
String
形式:
CIDR表記(例: 169.254.100.1/30)
範囲:
169.254.0.0/16 のリンクローカル

customerAddress

お客様側のBGPピアリング用IPアドレス。お客様の部屋の内線番号。amazonAddressと同じサブネットから選びます。

型:
String
形式:
CIDR表記(例: 169.254.100.2/30)
注意:
amazonAddress と /30 で対になる

authKey

BGP MD5認証キー。セキュリティコードのようなもので、BGPセッションの不正接続を防ぎます。省略時はAWSが自動生成。

型:
String
長さ:
6〜80文字
推奨:
本番環境では必ず設定

🔧 拡張設定パラメータ(Private / Transit VIF のみ)

mtu

最大転送単位(バイト)。ドアの大きさのようなもので、大きくするとより大きな荷物(パケット)を一度に運べます。

型:
Integer
有効値:
1500(デフォルト)/ 8500(ジャンボフレーム)
注意:
物理接続がジャンボフレーム対応であること
対応:
Private Transit

enableSiteLink

SiteLinkの有効化。系列ホテル間の無料シャトルバスのように、DXロケーション間をAWSバックボーン経由で直接接続できます。

型:
Boolean
デフォルト:
false(無効)
注意:
追加料金が発生。GovCloud/中国では不可
対応:
Private Transit

📍 接続先指定パラメータ(VIFタイプごとに異なる)

virtualGatewayId

接続先のVirtual Private Gateway(VGW)のID。低層階フロアの指定のように、特定の1つのVPCに直接接続します。

型:
String
形式:
vgw-xxxxxxxxxxxxxxxxx
対応:
Private VIF のみ
排他:
directConnectGatewayId と同時指定不可

directConnectGatewayId

Direct Connect GatewayのID。全フロア対応ロビーのように、複数リージョンのVPCやTGWに接続できます。

型:
String
形式:
UUIDフォーマット
対応:
Private Transit
注意:
Transit VIFではDXGW必須

routeFilterPrefixes

広告するルートプレフィックスのリスト。利用可能な施設リストのように、どのAWSパブリックIPレンジにアクセスするかを指定します。

型:
Array of { cidr: String }
形式:
CIDR表記の配列
対応:
Public VIF のみ

tags

AWSリソースのタグ(Key-Valueペア)。スーツケースの名札のように、リソース管理やコスト配分に使います。

型:
Array of { key, value }
最低数:
1個
対応:
全VIFタイプ

VIFタイプ別:パラメータの有無を視覚化

VIFタイプ別パラメータ比較マップ 🔒 Private VIF 🌐 Public VIF 🚌 Transit VIF 共通パラメータ(全VIFタイプ) name / vlan / asn address / authKey / tags name / vlan / asn address / authKey / tags name / vlan / asn address / authKey / tags 接続先パラメータ(VIFタイプで異なる) virtualGatewayId directConnectGatewayId routeFilterPrefixes directConnectGatewayId 拡張パラメータ mtu(8500対応) enableSiteLink mtu ✕ 非対応 SiteLink ✕ 非対応 mtu(8500対応) enableSiteLink 全13パラメータ対応 10パラメータ対応 12パラメータ対応 ※ asn / asnLong は排他のため実質1パラメータとしてカウント可

図3: VIFタイプごとのパラメータ対応状況の比較

VIF作成の設定例(AWS CLI)

Private VIF の作成

# Private VIF の作成(VGW接続)
aws directconnect create-private-virtual-interface \
  --connection-id dxcon-abc12345 \
  --new-private-virtual-interface \
    virtualInterfaceName="MyPrivateVIF",\
    vlan=100,\
    asn=65000,\
    amazonAddress="169.254.100.1/30",\
    customerAddress="169.254.100.2/30",\
    authKey="MyBGPAuthKey123",\
    addressFamily="ipv4",\
    mtu=8500,\
    enableSiteLink=true,\
    virtualGatewayId="vgw-0123456789abcdef"

# Private VIF の作成(DXGW接続)
aws directconnect create-private-virtual-interface \
  --connection-id dxcon-abc12345 \
  --new-private-virtual-interface \
    virtualInterfaceName="MyPrivateVIF-DXGW",\
    vlan=200,\
    asn=65000,\
    directConnectGatewayId="abcd1234-ef56-7890-abcd-1234567890ab"
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  MyPrivateVIF:
    Type: AWS::DirectConnect::VirtualInterface
    Properties:
      ConnectionId: dxcon-abc12345
      VirtualInterfaceName: MyPrivateVIF
      Type: private
      Vlan: 100
      Asn: 65000
      AddressFamily: ipv4
      AmazonAddress: 169.254.100.1/30
      CustomerAddress: 169.254.100.2/30
      VirtualGatewayId: vgw-0123456789abcdef

Public VIF の作成

# Public VIF の作成
# ※ mtu, enableSiteLink, Gateway系パラメータは使えない
aws directconnect create-public-virtual-interface \
  --connection-id dxcon-abc12345 \
  --new-public-virtual-interface \
    virtualInterfaceName="MyPublicVIF",\
    vlan=300,\
    asn=65000,\
    amazonAddress="203.0.113.1/30",\
    customerAddress="203.0.113.2/30",\
    routeFilterPrefixes="cidr=203.0.113.0/24"

# IPv6の場合(アドレスは自動割当)
aws directconnect create-public-virtual-interface \
  --connection-id dxcon-abc12345 \
  --new-public-virtual-interface \
    virtualInterfaceName="MyPublicVIF-v6",\
    vlan=301,\
    asn=65000,\
    addressFamily="ipv6"
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  MyPublicVIF:
    Type: AWS::DirectConnect::VirtualInterface
    Properties:
      ConnectionId: dxcon-abc12345
      VirtualInterfaceName: MyPublicVIF
      Type: public
      Vlan: 300
      Asn: 65000
      AddressFamily: ipv4
      AmazonAddress: 203.0.113.1/30
      CustomerAddress: 203.0.113.2/30

Transit VIF の作成

# Transit VIF の作成
# ※ directConnectGatewayId が実質必須
# ※ TGWとDXGWのASNは異なる値にすること
aws directconnect create-transit-virtual-interface \
  --connection-id dxcon-abc12345 \
  --new-transit-virtual-interface \
    virtualInterfaceName="MyTransitVIF",\
    vlan=400,\
    asn=65000,\
    amazonAddress="169.254.200.1/30",\
    customerAddress="169.254.200.2/30",\
    mtu=8500,\
    enableSiteLink=true,\
    directConnectGatewayId="abcd1234-ef56-7890-abcd-1234567890ab"
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  DXGateway:
    Type: AWS::DirectConnect::DirectConnectGateway
    Properties:
      Name: MyDXGateway
      AmazonSideAsn: 64512

  MyTransitVIF:
    Type: AWS::DirectConnect::VirtualInterface
    Properties:
      ConnectionId: dxcon-abc12345
      VirtualInterfaceName: MyTransitVIF
      Type: transit
      Vlan: 400
      Asn: 65000
      DirectConnectGatewayId: !Ref DXGateway

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

ベストプラクティス

  • VIF名は「環境-用途-番号」形式(例: prod-private-01)で命名規則を統一
  • authKeyは必ず設定し、BGPセッションを保護する
  • VLAN IDは管理表で一元管理し、重複を防止
  • asnLongを使用して4バイトASNに対応(将来性確保)
  • ジャンボフレーム(MTU=8500)は物理接続の対応確認後に設定
  • マルチリージョン接続にはDXGWを使用(VGWは単一VPCのみ)

アンチパターン

  • VIF名を「test」「vif1」のような曖昧な名前にする → 運用時に混乱
  • authKeyを省略してBGPセッションを無防備にする
  • Transit VIFでDXGWとTGWに同じASNを設定 → 関連付けが失敗
  • Public VIFでmtuを8500に設定しようとする → そもそも非対応
  • IPv6 Public VIFでカスタムIPアドレスを指定 → 非サポート
  • 物理接続未対応のままジャンボフレーム有効化 → 最大30秒の断絶

よくあるエラーと対処法

⚠ VIF作成時に「InvalidParameter」エラー

VLAN IDが既に使用されている、またはVIF名に無効な文字(大文字・特殊文字)が含まれている可能性があります。

対処:
使用可能文字(a-z, 0-9, -)を確認。VLANの重複を確認。

⚠ Transit VIFの関連付けが失敗する

DXGWとTGWのASNが同じ値(例: 両方とも64512)になっていると関連付けが失敗します。

対処:
DXGWのASNとTGWのASNを異なる値に設定。

⚠ MTU=8500設定後にネットワーク断絶

物理接続がジャンボフレーム未対応の場合、自動アップデートが発生し最大30秒の断絶が生じます。

対処:
事前にDescribeConnectionsで対応確認。メンテナンスウィンドウ内で実施。

⚠ Public VIFでIPv6カスタムアドレスが設定できない

Public VIFのIPv6はAmazon管理の自動割当のみ対応。カスタムIPv6アドレスはサポートされません。

対処:
addressFamily=ipv6指定時はamazonAddress/customerAddressを空にする。
ANS-C01 / SAP-C02 試験対策

VIFパラメータに関する頻出ポイント

📚 Public VIFの特殊性

「ジャンボフレーム(MTU=8500)を使ってS3へのデータ転送を高速化したい」→ Public VIFはMTU変更不可

★ Public VIFはMTU=1500固定。S3へのジャンボフレーム転送にはVPCエンドポイント+Private VIFが必要

📚 virtualGatewayId vs directConnectGatewayId

「複数リージョンのVPCに1つのDX接続で接続したい」→ VGWでは不可能

★ VGWは単一VPC。マルチリージョンにはDXGW(directConnectGatewayId)が必要

📚 SiteLinkの制約

「DXロケーション間をAWSバックボーンで直結したい」→ enableSiteLink=true

★ SiteLinkはPrivate/Transit VIFのみ対応。GovCloud/中国リージョンでは使用不可。追加料金あり

📚 ASN関連の出題

「4バイトASN(65536以上)を使用したい」→ asn パラメータでは不可

★ 4バイトASNには asnLong パラメータを使用。asn は2バイト(1〜2,147,483,646)まで

📚 Transit VIFの前提条件

「Transit Gateway経由で100個のVPCに接続したい」→ Transit VIF + DXGW

★ Transit VIFは必ずDXGW経由。TGWとDXGWのASNは異なる値が必須

📚 BGP認証キー

「セキュリティ要件でBGPセッションのMD5認証が必要」→ authKey

★ authKey は6〜80文字。省略するとAWSが自動生成。本番では明示的に設定を推奨

よくある質問(FAQ)

asnは2バイトASN(1〜2,147,483,646)、asnLongは4バイトASN(1〜4,294,967,294)に対応しています。AWSはasnLongの使用を推奨しています。両方を同時に指定した場合、asnLongが優先されます。プライベートASN範囲(64512〜65534 または 4200000000〜4294967294)を使用するのが一般的です。
省略するとAWSが169.254.0.0/16の範囲から自動割り当てします。ただし、自社ルーター側の設定と合わせる必要があるため、本番環境では明示的に指定することを推奨します。IPv6の場合はPublic VIFで自動割当のみ対応(カスタム指定不可)です。
いいえ、排他的です。virtualGatewayId(VGW)は1つのVPCへの直接接続に使い、directConnectGatewayId(DXGW)は複数リージョン/複数VPCへの接続に使います。どちらか一方のみを指定できます。
いいえ。Public VIFはMTU=1500固定です。ジャンボフレームが必要な場合は、Private VIFまたはTransit VIFを使用し、VPCゲートウェイエンドポイントやPrivateLinkを経由してAWSサービスにアクセスする構成を検討してください。
小文字の英字(a-z)、数字(0-9)、ハイフン(-)のみが使用可能です。最大100文字まで。大文字やアンダースコアは使えないので注意してください。命名規則の例:prod-private-tokyo-01
SiteLinkを有効にすると、異なるDXロケーション間をAWSのバックボーンネットワーク経由で直接通信できます。通常はリージョンを経由する必要がありますが、SiteLinkにより最短経路で接続できます。ただし追加料金が発生し、GovCloudと中国リージョンでは利用不可です。
Public VIF専用のパラメータで、お客様がAWSに広告するパブリックIPプレフィックスを指定します。例えばお客様が所有するパブリックIPレンジ(203.0.113.0/24等)をAWSに通知するために使用します。作成後にプレフィックスを追加する場合はAWSサポートへの連絡が必要です。

VIF パラメータ チートシート

必須パラメータ(全VIF共通)

virtualInterfaceName(VIF名・最大100文字・a-z/0-9/-のみ)と vlan(VLAN ID・1〜4094)の2つだけ

ASN の選択

2バイト: asn(1〜2,147,483,646)。4バイト: asnLong(1〜4,294,967,294)。推奨はasnLong。両方指定時はasnLongが優先

Public VIF の制約

MTU変更不可・SiteLink不可・Gateway接続不可。専用パラメータ: routeFilterPrefixes。IPv6はカスタムアドレス不可

Private VIF の接続先

VGW(virtualGatewayId)= 単一VPC。DXGW(directConnectGatewayId)= マルチリージョン/マルチVPC。排他的に指定

Transit VIF のルール

DXGW必須(directConnectGatewayId)。TGWとDXGWのASNは異なる値が必須。MTU=8500対応・SiteLink対応

MTU の注意点

有効値: 1500(デフォルト)/ 8500(ジャンボ)。Private/Transit VIFのみ。物理接続がジャンボ未対応だと自動更新で最大30秒断絶

用語集

VIF(Virtual Interface)
DX接続上の仮想インターフェース。Private / Public / Transit の3種類
VLAN
仮想LAN。物理回線を論理的に分離する技術。802.1Q規格
ASN
自律システム番号。BGPルーティングでネットワークを一意に識別
BGP MD5認証
BGPセッションにMD5ハッシュで認証をかけ、不正接続を防止
VGW(Virtual Private Gateway)
VPC側のDX接続ポイント。1つのVPCに対応
DXGW(Direct Connect Gateway)
複数リージョンのVPC/TGWへの接続ハブ。グローバルリソース
SiteLink
DXロケーション間をAWSバックボーンで直接接続する機能。追加料金あり
MTU(Maximum Transmission Unit)
1回で転送可能な最大パケットサイズ。1500(標準)or 8500(ジャンボ)
routeFilterPrefixes
Public VIF専用。AWSに広告するパブリックIPプレフィックスの一覧
リンクローカルアドレス
169.254.0.0/16 の範囲。BGPピアリング用のポイントツーポイントIP

Created by SSuzuki1063

AWS SAP Learning Resources