「毎月のデータ転送コストが想定以上にかかっていて、どう改善すれば良いか分からない」
こういった相談は、AWSを本番稼働させているエンジニアからセミナーでもよく出てきます。Site-to-Site VPNは手軽に構築できますが、インターネット経由という構造上、帯域保証がなく転送コストも高くなりがちです。「専用線なんて大企業向け」というイメージがありますが、月次のデータ転送量が1TB前後になるとVPNよりもトータルコストが低くなるケースが実際には少なくありません。
この記事では、AWS Direct Connectの基本概念から、仮想インターフェース(VIF)の3種類の使い分け、DX Gatewayによるマルチ構成、BGP設定の要点、そして可用性要件に応じた冗長構成パターンまでを解説します。CLIの実行例も交えながら、実務判断に必要な内容を一気にカバーします。
この記事のポイント
・AWS Direct Connectは専用物理回線でAWSに直結し帯域と遅延が安定する
・VIF 3種類(Private/Public/Transit)の使い分けとDX Gatewayの役割を押さえる
・本番環境はDX+VPNのアクティブ・スタンバイ冗長構成が定石
・CLIのdescribe-*コマンドでBGP状態と接続状態をリアルタイムに確認できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜDirect Connectが必要なのか—Site-to-Site VPNとの違い
Site-to-Site VPNはIPsecトンネルをインターネット上に構築する方式で、数分で開通できます。手軽な反面、帯域がインターネット回線の混雑状況に左右され、AWSのデータ転送料金(アウトバウンド)の単価が高いのが課題です。Direct Connect(以下 DX)は、AWSのデータセンターと自社のルーターを専用の物理ケーブルで直結するサービスです。接続点となる「Direct Connect Location」を経由するため、通信経路にインターネットが入りません。
主な比較を整理すると次の通りです。
| 項目 | Site-to-Site VPN | Direct Connect |
|---|---|---|
| 通信経路 | インターネット(IPsecトンネル) | 専用物理回線 |
| 帯域保証 | なし(インターネット帯域依存) | あり(契約帯域を専有) |
| 帯域の選択肢 | インターネット回線速度に依存 | 50Mbps~100Gbps(タイプにより異なる) |
| レイテンシの安定性 | 時間帯・混雑で変動 | 安定(物理距離のみ) |
| データ転送料金 | アウトバウンド単価が高い(約0.114USD/GB) | DXポート料金+低単価の転送料(約0.025USD/GB) |
| 開通までの期間 | 数分 | 数週間~数ヶ月(物理工事あり) |
| 初期費用 | ほぼゼロ | 工事費・月額ポート料金が発生 |
コスト観点では、月次のアウトバウンド転送量が1TB前後になると、DXのポート固定費用を加味してもVPNより割安になるケースがあります。月次転送量と契約帯域を試算した上で、導入可否を判断するのが実務の定石です。
Direct Connectの接続タイプと仮想インターフェースを理解する
1. DedicatedとHosted—物理接続の2タイプ
DXには物理接続の調達方式が2種類あります。Dedicated Connection(専用接続)
AWSから 1Gbps・10Gbps・100Gbps の専用ポートを直接払い出す方式です。DX Location にケーブルを引く物理工事が必要で、開通まで数週間~数ヶ月かかることがあります。大容量を長期で使う場合に向いています。
Hosted Connection(ホスト型接続)
NTT・SoftBank などの AWS パートナーが DX Location に引いた物理回線を共有し、50Mbps~10Gbps の帯域を切り出して提供する方式です。物理工事はパートナー側が担うため開通が比較的早く、小~中規模の帯域でも導入しやすいのが特徴です。
2. 仮想インターフェース(VIF)の3種類と使い分け
物理回線の上で論理的な接続を実現するのが VIF(Virtual Interface)です。用途に応じて3種類を使い分けます。Private VIF(プライベートVIF)
VGW(Virtual Private Gateway)または DX Gateway に接続し、VPC 内のプライベート IP(例: 10.0.0.0/8、172.16.0.0/12)に通信します。オンプレの端末から VPC 内の EC2 に直接アクセスするケースで最もよく使われます。DX Gateway を経由させることで、1本の Private VIF から複数の VPC・複数のリージョンへのルーティングを集約できます。
Public VIF(パブリックVIF)
S3・DynamoDB・CloudWatch などの AWS パブリックサービスに、専用回線から直接アクセスします。NAT Gateway を経由したインターネット転送コストを削減したい場合に有効です。S3 への大量データ転送をオンプレから行う際は、Public VIF と S3 VPC Endpoint(Gateway型)の使い分けも整理しておくと役立ちます。
Transit VIF(トランジットVIF)
AWS Transit Gateway に直接接続し、複数 VPC への通信をハブ形式で一括管理します。マルチ VPC 構成やマルチアカウント構成での接続統合に適しています。Transit Gateway の Route Table でオンプレ→各 VPC のルーティングポリシーを一元管理できるため、VPC 数が多い環境では Private VIF+VGW の個別管理より運用が大幅に楽になります。
3. DX Gatewayで複数VPC・複数リージョンを一本化する
Private VIF を VGW に直接接続する構成では、VPC ごとに VIF が必要になります。VPC が増えると管理が煩雑です。DX Gateway(Direct Connect Gateway)を間に挟むと、1本の Private VIF から最大10個の VPC(異なるリージョン・異なるアカウントも可)にルーティングを集約できます。東京リージョンの VPC と大阪リージョンの VPC を1本の DX 回線でカバーするマルチリージョン構成も、DX Gateway があれば実現できます。
| 接続方式 | 特徴 | 向いているケース |
|---|---|---|
| Private VIF → VGW | VPC 1つに対し VIF 1本 | VPC が1~2個の小規模構成 |
| Private VIF → DX Gateway → VGW | 1本の VIF から最大10 VPC に接続 | マルチ VPC・マルチリージョン |
| Transit VIF → Transit Gateway | Transit Gateway の Route Table で一元管理 | VPC 数が多い・マルチアカウント構成 |
4. BGPルーティングの要点
DX では BGP(Border Gateway Protocol)でルーティング情報を交換します。AWS 側の BGP ASN はデフォルトで 64512 ですが、カスタム ASN も指定できます。オンプレ側には BGP 対応ルーターが必要です。BGP セッションが確立されると、AWS は VPC の CIDR を広告し、オンプレ側のルーターはオンプレ側の CIDR を広告します。この経路交換でエンドツーエンドのルーティングが実現します。
BGP MD5 認証を設定することで、不正なルーターが経路を注入することを防止できます。本番環境では必ず MD5 キーを設定しましょう。
フェイルオーバーの検知速度を高めたい場合は、BFD(Bidirectional Forwarding Detection)の有効化も検討します。BFD は BGP のキープアライブよりも高頻度でリンク死活を検知するため、DX 障害からバックアップ VPN への切り替え時間を数分から数十秒に短縮できます。AWS は DX 上の BGP セッションで BFD をサポートしています。
冗長構成の設計パターン(可用性要件別)
DX を単独で使うのは本番環境では危険です。物理ケーブル断や DX Location 側の障害でアクセス不能になります。AWS ではいくつかの冗長パターンを公式に紹介しています。1. アクティブ・スタンバイ(DX+VPN バックアップ)
コストを抑えながら基本的な冗長性を確保するパターンです。・通常時: DX 経由で安定した低レイテンシ・低コスト通信を行う
・障害時: BGP が DX ルートを失うと自動的に Site-to-Site VPN へフェイルオーバーする
・注意点: VPN 側は帯域保証がないため、あくまで緊急時のバックアップとして設計する
オンプレ側のルーターで DX 経由の BGP ルートに高い Local Preference を設定することで、DX を優先経路にできます。BFD を有効にしておくと DX 障害を素早く検知して VPN へ迅速に切り替えられます。障害時の VPN 自動切り替えを確認する定期的なテストも実施してください。
2. アクティブ・アクティブ(マルチロケーション冗長)
金融・医療など SLA が厳しいシステム向けのパターンです。・2か所以上の DX Location からそれぞれ別の物理回線を引く
・1本の回線が断絶しても他の回線で通信を継続できる
・AWS は「2ロケーション×2接続 = 4接続構成」を最高可用性パターンとして推奨
2本の DX 回線を ECMP(Equal-Cost Multi-Path)で使うことで、負荷分散と冗長化を同時に実現できます。ECMP を使う場合は、オンプレ側のルーターが ECMP に対応していること、および両経路に同じ BGP Local Preference を設定することが前提です。
AWS でのマルチ AZ 冗長設計の全体像を体系的に学びたい場合は、ハンズオン形式で学べるAWSマスターセミナー【上級編】も参考にしてみてください。Direct Connect の冗長構成は、マルチ AZ 設計や RDS フェイルオーバーと組み合わせて初めて完全な可用性設計になります。
Direct Connectの設定手順(CLIで接続状態を確認する)
AWS CLI を使って DX 接続・VIF・BGP ピアの状態を確認する手順を示します。1. DX接続の状態確認
# DX接続の一覧と状態を確認する $ aws directconnect describe-connections --region ap-northeast-1 \ --query 'connections[*].{Name:connectionName,State:connectionState,BW:bandwidth}' \ --output table ------------------------------------------------------------------- | DescribeConnections | +----------+-------------------------------+---------------------+ | BW | Name | State | +----------+-------------------------------+---------------------+ | 1Gbps | corp-to-aws-tokyo-primary | available | | 1Gbps | corp-to-aws-osaka-secondary | available | +----------+-------------------------------+---------------------+ # connectionState: available = 物理リンクが正常 # connectionState: down = 物理リンクの障害(ケーブル断・工事中等)
2. 仮想インターフェースのBGP状態を確認する
# VIFのBGPピア状態を確認する $ aws directconnect describe-virtual-interfaces --region ap-northeast-1 \ --query 'virtualInterfaces[*].{Name:virtualInterfaceName,Type:virtualInterfaceType,BGP:bgpPeers[0].bgpStatus,State:virtualInterfaceState}' \ --output table ------------------------------------------------------------------------------------ | DescribeVirtualInterfaces | +------+-----------------------------------+----------+---------------------------+ | BGP | Name | State | Type | +------+-----------------------------------+----------+---------------------------+ | up | private-vif-vpc-prod-primary | available| private | | up | private-vif-vpc-prod-secondary | available| private | +------+-----------------------------------+----------+---------------------------+ # bgpStatus: up = BGPセッションが正常に確立済み # bgpStatus: down = BGP接続の障害(ASN/認証キーの不一致等)
3. EC2からオンプレへの疎通確認(実行例)
VIF が available・BGP が up になったら、プライベート VIF 経由で EC2 からオンプレのホストへ疎通確認します。# EC2(Amazon Linux 2023: ip-10-0-1-45)からオンプレのホストへ疎通確認 [ec2-user@ip-10-0-1-45 ~]$ ping -c 4 192.168.10.100 PING 192.168.10.100 (192.168.10.100) 56(84) bytes of data. 64 bytes from 192.168.10.100: icmp_seq=1 ttl=62 time=2.31 ms 64 bytes from 192.168.10.100: icmp_seq=2 ttl=62 time=2.29 ms 64 bytes from 192.168.10.100: icmp_seq=3 ttl=62 time=2.30 ms 64 bytes from 192.168.10.100: icmp_seq=4 ttl=62 time=2.28 ms --- 192.168.10.100 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 2.284/2.296/2.314/0.011 ms # 2ms台の安定したレイテンシ = 専用線接続の特徴 # インターネットVPN経由では20ms~50ms以上に変動するケースが多い
また、Private VIF 経由でオンプレ側の DNS サーバーを使う場合は、EC2 の /etc/resolv.conf(または nmcli の dns 設定)との連携が必要です。Linux の DNS 設定についてはLinux DNS 設定の基本を参照してください。
4. DX Gatewayのアソシエーション確認
DX Gateway を使っている構成では、Gateway に紐付いた VGW のアソシエーション状態も確認します。# DX Gatewayの一覧を確認する $ aws directconnect describe-direct-connect-gateways \ --query 'directConnectGateways[*].{Name:directConnectGatewayName,State:directConnectGatewayState,ASN:amazonSideAsn}' \ --output table ---------------------------------------------------- | DescribeDirectConnectGateways | +----------+----------------------------+----------+ | ASN | Name | State | +----------+----------------------------+----------+ | 64512 | dxgw-prod-tokyo | available| +----------+----------------------------+----------+ # DX GatewayとVGWのアソシエーション状態を確認する $ aws directconnect describe-direct-connect-gateway-associations \ --direct-connect-gateway-id dxgw-xxxxxxxx \ --query 'directConnectGatewayAssociations[*].{VpcId:associatedGateway.id,State:associationState}' \ --output table # associationState: associated = 正常に紐付き済み # associationState: associating = アソシエーション処理中(数分かかる)
トラブルシュート—よくある問題と対処法
「BGPステータスがdownのまま上がらない」
BGP セッションが確立しない原因は、設定値の不一致がほとんどです。次の順番で確認します。・VIF の BGP 設定(ASN・MD5 認証キー・BGP IP アドレス)がオンプレルーターの設定と完全一致しているか
・VLAN タグ番号がオンプレのトランクポート設定と一致しているか
・ファイアウォールが BGP ポート(TCP 179)をブロックしていないか
# VIFのBGP詳細設定を確認する $ aws directconnect describe-virtual-interfaces \ --virtual-interface-id dxvif-xxxx1234 \ --query 'virtualInterfaces[0].bgpPeers' [ { "asn": 65001, "authKey": null, "amazonAddress": "175.45.xxx.1/30", "customerAddress": "175.45.xxx.2/30", "bgpPeerState": "available", "bgpStatus": "down" } ] # bgpStatus: down の場合はASN/MD5キー/VLAN番号の不一致を疑う
「connectionStateがpendingのまま変わらない」
Dedicated Connection の物理工事完了前は pending 状態が続きます。LOA-CFA(Letter of Authorization and Connecting Facility Assignment)を AWS から発行し、コロケーション事業者に工事依頼が完了しているか確認します。# LOA(接続承認書)の発行確認 $ aws directconnect describe-loa --connection-id dxcon-abcd1234 \ --provider-name "YOUR-ISP-NAME" --loa-content-type application/pdf \ --output text 2>&1 | head -3 # LOA が発行済みなら Base64 エンコードの PDF データが返る # "LoaContent not available" が返る場合はまだ未発行
「DX経由で繋がるはずのEC2にアクセスできない」
BGP が up でも EC2 への通信が通らない場合、VPC 側の設定を確認します。・VGW がターゲット VPC に正しくアタッチされているか
・VPC ルートテーブルで VGW からの経路伝播(Route Propagation)が有効になっているか
・セキュリティグループがオンプレ側 CIDR からのインバウンドを許可しているか
・Network ACL がオンプレ側 CIDR を拒否していないか
# VPCルートテーブルにDX経由の経路が伝播されているか確認 $ aws ec2 describe-route-tables \ --filters "Name=vpc-id,Values=vpc-0a1b2c3d4e5f6g7h" \ --query "RouteTables[*].Routes[?Origin=='EnableVgwRoutePropagation']" \ --output table # 出力例(オンプレ CIDR が伝播済みの正常状態) --------------------------------------------------------------------------- | DestinationCidrBlock | GatewayId | State | +------------------------+-----------------+----------------------------+ | 192.168.0.0/16 | vgw-xxxx5678 | active | +------------------------+-----------------+----------------------------+ # このエントリが存在しない場合は VGW の Route Propagation が無効
「DX Gatewayのアソシエーションは正常なのにVPC間で通信できない」
DX Gateway を経由して複数の VPC に接続している場合、VPC の CIDR が重複していないかを確認します。DX Gateway は同一 CIDR を持つ複数の VPC を同時に接続できないため、CIDR 重複があるとルーティングが正しく機能しません。また、DX Gateway 経由では VPC 間のルーティングは行えません(オンプレ→各 VPC の通信のみ)。VPC 間の通信が必要な場合は、Transit VIF+Transit Gateway の構成を検討してください。
本記事のまとめ
| やりたいこと | コマンドまたは設計ポイント |
|---|---|
| DX接続の物理状態確認 | aws directconnect describe-connections --region ap-northeast-1 |
| VIFとBGPピアの状態確認 | aws directconnect describe-virtual-interfaces --region ap-northeast-1 |
| BGP設定の詳細確認 | aws directconnect describe-virtual-interfaces --virtual-interface-id dxvif-xxxx |
| LOA(接続承認書)発行確認 | aws directconnect describe-loa --connection-id dxcon-xxxx |
| VPCへのルート伝播確認 | aws ec2 describe-route-tables --filters "Name=vpc-id,Values=vpc-xxxx" |
| DX Gatewayのアソシエーション確認 | aws directconnect describe-direct-connect-gateway-associations --direct-connect-gateway-id dxgw-xxxx |
| コスト優先の冗長構成 | DX(プライマリ)+Site-to-Site VPN(バックアップ)のアクティブ・スタンバイ |
| 可用性最優先の冗長構成 | マルチロケーション2ロケーション×2接続(AWS推奨の4接続構成) |
| 複数VPC・複数リージョンを一本化 | DX Gateway(Private VIF経由で最大10 VPCに接続) |
AWS 環境での Linux サーバー構築・運用をさらに深く学びたい方は、AWS(Amazon Linux)の基礎から実践まで解説した入門ガイドもぜひ参考にしてください。
AWS Direct Connectの設計を「実務の型」として身につけませんか?
DXの接続方法は調べれば分かります。でも「なぜ VPN ではなく DX を選ぶのか」「冗長構成パターンをどう判断するのか」を現場で説明できますか?
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます