AWS Direct Connectでオンプレミスとの専用線接続を設計する方法|VPNとの違い・仮想インターフェース・冗長構成パターン

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)AWS(Amazon Linux) > AWS Direct Connectでオンプレミスとの専用線接続を設計する方法|VPNとの違い・仮想インターフェース・冗長構成パターン
「アクセス回線のVPNで繋いでいたオンプレとAWSの通信が、大量データ転送の時間帯にレイテンシが跳ね上がる」
「毎月のデータ転送コストが想定以上にかかっていて、どう改善すれば良いか分からない」

こういった相談は、AWSを本番稼働させているエンジニアからセミナーでもよく出てきます。Site-to-Site VPNは手軽に構築できますが、インターネット経由という構造上、帯域保証がなく転送コストも高くなりがちです。

この記事では、AWS Direct Connectの基本概念から、仮想インターフェース(VIF)の3種類の使い分け、BGP設定の要点、そして可用性要件に応じた冗長構成パターンまでを解説します。CLIの実行例も交えながら、実務判断に必要な内容を一気にカバーします。

この記事のポイント

・AWS Direct Connectは専用物理回線でAWSに直結し帯域が安定する
・VIFはPrivate・Public・Transitの3種類を用途で使い分ける
・本番環境はDX+VPNのアクティブ・スタンバイ冗長構成が定石
・CLIのdescribe-*コマンドでBGP状態と接続状態を確認できる


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

なぜ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(タイプにより異なる)
レイテンシの安定性 時間帯・混雑で変動 安定(物理距離のみ)
データ転送料金 アウトバウンド単価が高い DXポート料金+低単価の転送料
開通までの期間 数分 数週間~数ヶ月(物理工事あり)
大量データをオンプレとAWSで定常的に送受信するシステムや、帯域の安定が求められるリアルタイム処理には 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 に直接アクセスするケースで最もよく使われます。

Public VIF(パブリックVIF)
S3・DynamoDB・CloudWatch などの AWS パブリックサービスに、専用回線から直接アクセスします。NAT Gateway を経由したインターネット転送コストを削減したい場合に有効です。

Transit VIF(トランジットVIF)
AWS Transit Gateway に直接接続し、複数 VPC への通信をハブ形式で一括管理します。マルチ VPC 構成やマルチアカウント構成での接続統合に適しています。

3. BGPルーティングの要点

DX では BGP(Border Gateway Protocol)でルーティング情報を交換します。AWS 側の BGP ASN はデフォルトで 64512 ですが、カスタム ASN も指定できます。オンプレ側には BGP 対応ルーターが必要です。

BGP セッションが確立されると、AWS は VPC の CIDR を広告し、オンプレ側のルーターはオンプレ側の CIDR を広告します。この経路交換でエンドツーエンドのルーティングが実現します。

BGP MD5 認証を設定することで、不正なルーターが経路を注入することを防止できます。本番環境では必ず MD5 キーを設定しましょう。

冗長構成の設計パターン(可用性要件別)

DX を単独で使うのは本番環境では危険です。物理ケーブル断や DX Location 側の障害でアクセス不能になります。AWS ではいくつかの冗長パターンを公式に紹介しています。

1. アクティブ・スタンバイ(DX+VPN バックアップ)

コストを抑えながら基本的な冗長性を確保するパターンです。

・通常時: DX 経由で安定した低レイテンシ・低コスト通信を行う
・障害時: BGP が DX ルートを失うと自動的に Site-to-Site VPN へフェイルオーバーする
・注意点: VPN 側は帯域保証がないため、あくまで緊急時のバックアップとして設計する

オンプレ側のルーターで DX 経由の BGP ルートに高い Local Preference を設定することで、DX を優先経路にできます。障害時の VPN 自動切り替えを確認する定期的なテストも実施してください。

2. アクティブ・アクティブ(マルチロケーション冗長)

金融・医療など SLA が厳しいシステム向けのパターンです。

・2か所以上の DX Location からそれぞれ別の物理回線を引く
・1本の回線が断絶しても他の回線で通信を継続できる
・AWS は「2ロケーション×2接続 = 4接続構成」を最高可用性パターンとして推奨

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以上に変動するケースが多い

EC2 からオンプレ側の特定ポートへの疎通確認には nc コマンドが便利です。Linux でのポート確認コマンド全般についてはLinux ポート確認の全コマンドも参照してください。

また、Private VIF 経由でオンプレ側の DNS サーバーを使う場合は、EC2 の /etc/resolv.conf(または nmcli の dns 設定)との連携が必要です。Linux の DNS 設定についてはLinux DNS 設定の基本を参照してください。

トラブルシュート—よくある問題と対処法

「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接続の物理状態確認 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(プライマリ)+Site-to-Site VPN(バックアップ)のアクティブ・スタンバイ
可用性最優先の冗長構成 マルチロケーション2ロケーション×2接続(AWS推奨の4接続構成)
AWS Direct Connect は、物理回線の調達から BGP 設定・冗長構成まで考慮事項が多く、一見ハードルが高く見えます。しかし「なぜ VPN ではなく DX が必要なのか」という設計の意図さえ理解していれば、設定作業は手順通りに進められます。

AWS 環境での Linux サーバー構築・運用をさらに深く学びたい方は、AWS(Amazon Linux)の基礎から実践まで解説した入門ガイドもぜひ参考にしてください。

AWS Direct Connectの設計を「実務の型」として身につけませんか?

DXの接続方法は調べれば分かります。でも「なぜ VPN ではなく DX を選ぶのか」「冗長構成パターンをどう判断するのか」を現場で説明できますか?
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。