💭

3. Direct Connect + Site-to-Site VPN

2023/05/23に公開

Direct Connect

イメージはAWSとオンプレミス環境を接続する占有線サービス
→正しくはDirect Connectロケーション内でAWSと接続するサービス

BlackBelt ※これが一番大事

https://d1.awsstatic.com/webinars/jp/pdf/services/20210209-AWS-Blackbelt-DirectConnect.pdf

開始方法

  1. コンソール上から接続の作成を行う ※ここがリクエスト
  2. LOA-CFAをダウンロードする (Letter of Authorization and Connecting Facility Assignment )
  3. クロスネットワーク接続 (別名クロスコネクト) を完了する
  4. VIFを作成する
  5. ルータ設定用ファイルをダウンロードする(VIFのステータスがアップになってから)

※接続リクエスト後にポートスピードの変更はできない
https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/WorkingWithConnections.html

占有型

単一のユーザが占有する接続
 →コンソール/CLI/API経由でのリクエストを行う
指定できるポートは 1/10/100Gbps

ホスト型

Direct Connectパートナーがプロビジョニングを行う
 →リクエスト先はDirect Connectパートナープログラムのパートナー
指定できるポートは 50/100/200/300/400/500Mbps, 1/2/5/10Gbps

クロスコネクト

AWS Direct Connect ロケーションに設置した機器をAWSネットワークに接続すること
 →完了することでVIFの作成が可能になる

機器がまだ設置できていない場合、APNのパートナー企業に設置依頼を行う
https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/Colocation.html

お客様DC → パートナーロケーション → AWS
>パートナーロケーション(お客様ルータ - AWS ルータ →DX

LAG

Link Aggregation Group
複数の接続を論理的に集約し利用できる帯域幅を増やす

最大リンク数は4(1GBか10GB)、占有型、同一の帯域幅、同一のDirect Connectエンドポイントで終了する必要アリ

作成時、作成後両方でLAGの設定を行うことは可能
 →作成後の場合、LAGの作成中に通信断が発生する

要件

  • イーサネットトランスポート
  • シングルモードファイバ
  • 1000BASE-LX、10GBASE-LR、100GBASE-LR4
  • 802.1Q VLANのサポート

VIF

AWS Direct Connect 仮想インターフェイス

パブリックVIF

AWSのパブリックサービスにアクセスを行う
S3などへの接続やSite-to-Site VPNの使用時
※現在S3へはPrivateLinkでの接続が可能だがコストに注意

プライベートVIF

VPC内のリソースに対してアクセスを行う
Direct Connect ゲートウェイタイプが推奨されている
 →VGWと違い複数のVPCに対して接続可能なため
S3にアクセスする場合プライベートVIFにしてVPC-E(Int)でアクセスをすることが多い
*VPC-E(GW):推移的ルーティングになるので×

※使用タイミング
DX - VGW
DX - DXGW - VGW

トランジットVIF

Direct Connectゲートウェイに関連付けられたTransit Gatewayにアクセスを行う
※使用タイミング
DX - DXGW - TGW

ホスト型VIF

別アカウントのDirect Connect接続を使用する際に使う
パブリック/VPCリソースにアクセス可能

BGP

Border Gateway Protocol
AS間の経路情報を広報するルーティングプロトコル

ASパス属性

以下がルーティング時の優先度
We Love Oranges AS Oranges Mean Pure Refreshment
*訳注:直訳すると「私たちはオレンジが好きです。なぜならオレンジは純粋な、(私たちを) リフレッシュさせてくれるもの、を意味するから。」
 →Weight, Local Pref, Originate, AS_PATH, Origin, MED, Paths, RouterID

Direct Connectで使用できるのはLocal Pref/AS_Path/MED
 →パブリックVIFの場合、パブリックAS利用時のみでAS_Path属性が使用可能

Local Pref

一番優先される
高い値が優先される
ルートに付与するもののため同一の宛先の場合使い分けることが出来ない
※CGWが二つあり、接続性がない(同一のIPを持っている場合)などはLPで優先度付けはできない

AS_Path

経路広告が通過したAS番号を連結したもの
短いほど優先される

MED

低い値が通線される
特定の経路を指定する際に使用する

https://aws.amazon.com/jp/blogs/news/creating-active-passive-bgp-connections-over-aws-direct-connect/

AS番号

パブリックASN(AS番号)を使用する場合、ユーザが所有しているもの
プライベートASNを使用する場合、64512 ~ 65535

※ASNが同一の場合、同一ASN間では通信が出来ない
ASN が一意かどうか = Only One(唯一無二)
→同一だと
TGW65001 - DXGW - TGW65001
|
TGW65002
※65001どうしでは通信が出来ない

コミュニティタグ

BGPでのルート公告時に付与、優先度の決定に使用

https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/routing-and-bgp.html

パブリックVIFで使用可能

AWSに広告するプレフィックスの伝播を制御するためのBGP コミュニティ

  • 7224:9100—ローカル AWS リージョン内のみに伝播
  • 7224:9200—同じ大陸のすべての AWS リージョン (例:北米全域)に伝播
  • 7224:9300—グローバル (すべてのパブリック AWS リージョン)に伝播
  • デフォルト=すべてのパブリック AWS リージョン (グローバル) に伝播
    ※7224:1 - 7224:65535 はDirect Connectに予約されている

AWSが広告するプレフィックスに付与されるBGP コミュニティ

  • 7224:8100— AWS Direct Connect のプレゼンスポイントが関連付けられている

AWS リージョンと同じリージョンから送信されるルート

  • 7224:8200—AWS Direct Connect のプレゼンスポイントが関連付けられている大陸と同じ大陸から送信されるルート
  • タグなし—グローバル (すべてのパブリック AWS リージョン)

プライベートVIFで使用可能

AWSに広告する経路のローカルプリファレンスを制御するためのBGPコミュニティ

  • 7224:7100—優先設定: 低
  • 7224:7200—優先設定: 中
  • 7224:7300—優先設定: 高

BFD

→Bidirectional Forwarding Detection
BGPで経路障害があった際に高速検知して通知する機能
※L2スイッチなどが存在し、リンクステータスが伝わらない場合にも有効
https://www.infraexpert.com/study/routing11.html

DX + VPN

パブリックVIFを使用して接続
接続先はVGW

https://docs.aws.amazon.com/ja_jp/whitepapers/latest/aws-vpc-connectivity-options/aws-direct-connect-vpn.html

https://docs.aws.amazon.com/ja_jp/vpn/latest/s2svpn/private-ip-dx.html

冗長構成

デュアルロケーションでの分散(同一/他リージョン構成)

iBGPをオンプレルータで使用し、パス属性ベースで制御

AWSからのルート評価は以下の順

  1. より詳細な(サブネットマスクが小さな)ルート
  2. BGP Local Preference Community タグ
  3. BGP AS Path 属性

Active/Activeの場合、AWSへ送信するBGPルートのASパス長、LPコミュニティパス、MEDとAWSから受信するBGPルートのLP値を同一にする必要アリ

Active/Standbyの場合、AWSへ送信するBGPルートのASパス長をStandby側長くなるようにする(AS-Path Prepend)、AWSから受信するBGPルートのLP値をStandby側で小さくなるようにする

BFDの有効化はユーザルートの設定に依存。検出間隔の最低は300ミリ秒×3回(約1秒)

Direct Connect ゲートウェイ

VGWとプライベートVIFをグループ化する機能
オンプレミスとVPCを1対多で接続する

関連付けは1つのプライベートVIF+Direct Connect ゲートウェイで10VPCまで可能

※VPC間でのルーティングは不可のためPeeringまたはTGWの利用が必要

https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/direct-connect-gateways-intro.html

VGW、TGWのアタッチ制限は重要
https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/limits.html

複数アカウントでの利用方法

制限

BGPセッションの広告数は最大100
 →超えた場合セッションが停止する
そのため経路集約を検討する
https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/limits.html

DXの要件、接続するルータがサポートしていないといけないもの

・BGP/ASN
・VLAN
・シングルモードファイバー
*EBGPマルチホップ無効化、オートネゴシエーション無効
 →これが有効だと接続できない

経路の優先順位

DX マルチロケーション + マルチリージョン VPC(DX + DXGW + TGW*ピアリング + VPC)
BGPのルーティング優先度
1.より細かいPrefix(ロンゲストマッチ)10.0.0.1/32 > 10.0.0.1/24
2.コミュニティタグ 7300 ↑ 7100 ↓
3.AS Path 属性

  1. ローカルプリファレンス ↑優先
  2. AS Path ホップ数が少ない 優先
  3. MED ↓優先

参照

https://aws.amazon.com/jp/directconnect/faqs/?nc=sn&loc=6

Site-toSite VPN

BlackBelt

https://d1.awsstatic.com/webinars/jp/pdf/services/202110_AWS_Black_Belt_Site-to-Site_VPN.pdf

Site-to-Site VPNで使用するポート

→UDP500、IP50
https://docs.aws.amazon.com/ja_jp/vpn/latest/s2svpn/your-cgw.html#FirewallRules

DPD

→Dead Peer Detection
IPSecで通信断を検出する機能
http://www.rtpro.yamaha.co.jp/RT/docs/ipsec/dpd.html

ジャンボフレーム

→AWSは "Don't Fragment "フラグが設定されている場合、MTUが1500以上のデータをドロップする
※VPG IPsec VPN 接続ではサポートされていない
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/network_mtu.html

最大帯域

1.25Gbps

※ECMPを使用してVPNを集約することが可能

Direct Connect の冗長性パターン

各VIFのルーティングポリシー

https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/routing-and-bgp.html

パブリック VIF

  • 最長のプレイフィックス一致
  • AS_PATH 属性

※コミュニティタグも使用できるが対象はアドバタイズの範囲(リージョン)を制限するもの

プライベート VIF

  • 最長のプレフィックス一致
  • コミュニティタグ(7300👆7100👇)
  • AS_PATH 属性(DXとVPCが同一リージョンの場合のみ)

非サポート

  • eBGPマルチホップ
  • 推移的ルーティング (オンプレミス - DX - VPC - VPC-E(GW)など)
    ※VPC外からVPC内部のルートテーブルを参照させる通信を指す

注意

  • VPN 接続は最大速度 1.25 Gbps
  • Direct Connect ゲートウェイに接続できるVPCは最大10 ※現在は増加している
  • Direct Connect ゲートウェイに接続できるTransit GWは最大3 ※現在は増加している
     →複数の Transit GWに接続する場合 Transit GWごとに一意のASNが必要

メモ

VIF はデータセンター側に存在
VIF - VGW / DXGW / TGW / AWS パブリックエンドポイント

VIF 毎に有効化を行い設定をおこなったVIF同士で経路情報を交換する
 →オンプレミスのデータセンター間でのルーティングが可能になる

https://aws.amazon.com/jp/about-aws/whats-new/2021/12/aws-direct-connect-sitelink/
https://dev.classmethod.jp/articles/introducing-aws-direct-connect-sitelink/

回復性

1 接続 (単一ロケーション)

単一 Direct Connect パートナーロケーション
※どこでも障害が発生した場合接続に失敗する

2 接続 (単一ロケーション)

単一 Direct Connect パートナーロケーション、複数ラック
※ラック障害が起こってもセーフ

2 接続 (複数ロケーション)

複数 Direct Connect パートナーロケーション、複数ラック
※パートナーロケーションが落ちても大丈夫

Direct Connect + VPN

同一の VPC に接続する場合常に Direct Connect が優先される
https://aws.amazon.com/jp/directconnect/faqs/

暗号化

特定の要件がない場合、パブリックVIFを使用し Site-to-Site VPNを使う

Discussion