AWS Direct Connect – Deep Dive と VMware Cloud on AWS への接続
この記事は Nicolas Vibert 氏のブログ AWS Direct Connect – Deep Dive and Integration with VMware Cloud on AWS の翻訳です。 翻訳の一覧はこちら。
この記事は Direct Connect の概要、仮想インターフェースの概念および VMware Cloud on AWS の SDDC にアクセスするためにどのように Direct Connect を活用するかのウォークスルーになります。
データセンターと VMware Cloud on AWS の SDDC を接続するために Direct Connect(DX)を活用することができます。DX を接続に用いると、DX の高いバンド幅、そしてレイテンシと Egress データの料金を抑えることができます。
多くのネットワーク図と詳細な説明をしてくれた Humair Ahmed に感謝します。また、素晴らしい re:Invent の Deep Dive セッション(NET403)で講演した Steve Seymour に感謝します。
Direct Connect の原則
AWS Direct Connect は、基本的に DC から AWS の DC へのプライベートな回線になります。
AWS Direct Connect は AWS への専用のプライベート接続を提供し、プライベートとパブリックの VIF の概念が用いられます。
パブリック仮想インターフェース(Public VIF)とプライベート仮想インターフェース(Private VIF)の違いを理解することは重要になります。これらの詳細は以下のセクションで説明するとして、まずは Direct Connect の主な利点を見ていきましょう:
- バンド幅とスループットの増加
- レイテンシの軽減
- インターネット ベースの接続よりも一貫したネットワーク性能
- Egress データ課金の削減
Direct Connect はしばしば DX と省略されます。Azure ではこれに似たテクノロジーは Express Route と呼ばれます。
Direct Connect では、ルート情報の交換に BGP が用いられ、プライベート仮想インターフェースとパブリック仮想インターフェースは BGP ピアリングのために用いられます。
BGP はオンプレミスのルーターと AWS Direct Connect のインターフェース間でルート情報を交換することができる唯一のルーティング プロトコルです。BGP については後のセクションで立ち戻ります。まず、Direct Connect のポートと速度について見ていきましょう。
Direct Connect のポートと接続
Direct Connect の物リポートは 1G と 10G のリンクがあり、そのバンド幅の一部またはそれらの複数のリンクをリクエストすることもできます。これらは2つの異なる方法でけいやくすることがで契約することができます:
占有ポート
- 顧客にポートのフルスピードを予約
- AWS から注文
- 複数の仮想インターフェースのサポート
ホストされた接続 (1G 未満)
- パートナーのインターコネクト上で提供
- ホストされた接続はバンド幅と VLAN が定義されます。大抵の場合パートナーは 1 G を分割した、50Mbps、100Mbps といった接続をエンドユーザーに提供します。つまり本質的には、パートナーは 1G や 10G のパイプを小さいサイズに細切れにして複数の顧客に提供しています。これは 2019年3月19日のアナウンスによって変更されました。
- 現在では、選ばれた AWS Direct Connect パートナーは、高いバンド幅のホストされた接続を提供できます。(1,2,5,10 Gbps)
- ホストされた接続は 1 つの仮想インターフェースのみをサポートします。
最後の点は VMware Cloud on AWS を利用する上で重要です。ホストされた接続は 1 つの仮想インターフェースのみをサポートし、専用の VIF を VMC_AWS に割り当てなければなりませんので、ホストされた接続はネイティブの AWS または VMC_AWS のどちらかにしか接続できません。両方に接続することはできません。占有ポートでは複数の VIF を作成できますので、この制限は占有ポートには適用されません。
Direct Connect のロケーションは、AWS のバックボーンにより回復性と多様なパスを持ちます。
LAG – リンク アクセス グループ
- 複数の 1G/10G のポートを一つの Managed Connection にまとめることが出来ます。
- フロー毎にこれらのリンクに跨がりトラフィックをロードバランスできます。
- LAG は 4 つまでリンクを持つことができます。
理解すべき重要な用語: 接続 = 物理的な回線 仮想インターフェース (VIF) = AWS の仮想ルーターの論理インターフェース
Direct Connect Routing
Direct Connect はルート情報の交換に BGP を用い、BGP ピアリングにプライベート仮想インターフェースとパブリック仮想インターフェースを利用します。
BGP は、オンプレミスのルーターと AWS Direct Connect インターフェースの間でルート情報を交換することが許された唯一のプロトコルです。
BGP とは
BGP (Border Gateway Protocol) は、異なる自律システム間のプレフィックス 情報を交換するための外部向けのルーティング プロトコルです。
BGP のネイバーはピア接続を TCP(ポート 179)上に確立し、ルーティング情報(プリフィックス)を交換します。
BGP において、単一の管理組織内のルーター群は、自律システム(AS)を構成します。
BGP は、1 から 64511(パブリック)と 64512 から 65535(プライベート)の自律システム番号(AS 番号、ASN)を用います。
上の図では、ルーター A が ルーター B と BGP ピアリング セッションを張っています。
- ルーター A はルーター B に次のように伝えます:「ルーター B さん、AS 番号 64512 の私のローカルネットワークは 10.10.0.0/16 と 10.20.0.0/16 です。これらのルートに到達したい場合は、トラフィックを 192.168.10.1 に送って下さい。その後、私がトラフィックを送ります。あなたはどんなルートを知っていますか?」
- ルーター B は ルーター A に次のように伝えます:「ルーター A さん、AS 番号 65001 の私のローカルネットワークは 10.30.0.0/16 と 10.40.0.0/16 です。これらのルートに到達したい場合は、トラフィックを 192.168.10.2 に送って下さい。その後、 私がトラフィックを送ります。あなたはどんなルートを知っていますか?」
Direct Connect 接続の文脈においては、2 つの AS 番号の間では外部 BGP(eBGP)が使われます。この場合、片方の番号は顧客に属し、もう片方の番号は AWS に属します。
VMware Cloud on AWS 環境の Direct Connect のセッションでは、BGP のプライベート ASN 64512 がデフォルトでローカル ASN として用いられます。ローカル ASN は編集可能で、どんなプライベート ASN でも使うことができます(64512-65535)。もし 64512 がすでにオンプレミス環境で利用されている場合には、異なる ASN を使わなければなりません。
仮想インターフェース
Direct Connect のルーティングできる接続は、Public VIF または Private VIF を使って確立されます。
パブリック仮想インターフェース(Public VIF)
パブリック仮想インターフェースに BGP セッションを確立する時、オンプレミスのルーターは、AWS に属するすべてのパブリックのプレフィックス(2,000 を超えて増え続けている)を学習します。これは、オンプレミスのユーザー/サーバーがパブリックのサービス(S3 バケットなど)に、インターネットではなく Direct Connect を経由してアクセスすることを意味します。
以下にパブリック仮想インターフェースのその他の特徴を列挙します:
- AWS バックボーンへのプライベートの専用線接続
- パブリック IP アドレス空間の利用と AWS のリージョンレベルでの終端
- AWS のパブリックエンドポイント(S3、DynamoDB)への専用線によるネットワークパフォーマンスを備えた信頼性のある接続
- 顧客は Amazon のグローバル IP の経路情報を BGP で受け取り、ルーティング可能な Amazon のサービスへパブリックにアクセス可能
以下が論理ビューとなる:
プライベート仮想インターフェース (Private VIF)
プライベート仮想インターフェースに BGP セッションを確立するとき、オンプレミスのルーターは、VPC (または VMware Cloud on AWS)内の全てのプライベートプレフィックスを学習します。これは、オンプレミスのユーザー/サーバーが VPC にあるサービス(EC2、RDS など)へのアクセス または VMware Cloud on AWS 内へ インターネット越しの代わりに Direct Connect 経由でアクセスすることを意味します。
以下にプライベート仮想インターフェースのその他の特徴を列挙します:
- AWS バックボーンへのプライベートな専用線接続
- プライベート IP アドレス空間の利用と、顧客の VPC レベルでの終端
- 専用のネットワークパフォーマンスを備えた、顧客の VPC Subnet への直接の信頼性があり一貫性のある接続
- AWS は顧客 VPC の CIDR 全体か VMC ネットワークを BGP で広告するのみ
プライベート仮想インターフェースは、必要なプライベートなルートのみを広告/受信することを可能にします。これは VMware Cloud on AWS の文脈では理想的です。
初期の頃の VMware Cloud on AWS では、顧客のデータセンターと VMware Cloud on AWS の間のいくつかのトラフィックはパブリック仮想インターフェースを使う必要がありました。この制限は今日では取り除かれました。
プライベート仮想インターフェースの構成方法
- VLAN を指定します。(すでに指定されているかも知れません)
- ピア IP は自動生成することもできます。いくつかの問題に自動生成オプションで遭遇したため、両サイドの IP アドレスを明示して指定することを勧めます。例えば、169.254.255.1/30 と 169.254.255.2/30 を使うことができます。
- BGP の AS 番号を指定します。これはオンプレミス側の AS 番号になります。
- BGP キーは自動生成することもできます。
VIF が作成されたら、- Download Router Configuration - を選択します。下記のサンプルを参照して下さい。
VMware Cloud on AWS コンソールでは、VIF を承諾し、そして SDDC に VIF がアタッチされます。
BGP 構成がオンプレミスのルーターに設定されると、BGP セッションが確立され、ルート情報が広告・受信していることを確認できるでしょう。
下の例では、私のオンプレミスのネットワーク(192.168.0.0/16, 10.32.0.0/11, 10.64.0.0/10, 10.128.0.0/9)が VMC のネットワーク ( 10.33.1.0/26, 10.33.1.128/25, 192.168.1.0/24, 10.33.0.0/24 and 10.33.2.0/24 ) と Directo Connect 接続(500Mbps)で通信可能となっています。
BGP 設定の例
ルーティングについて特異でない場合は、ここで読むのを終えても大丈夫です。ここでは少々内容が深くなり、オンプレミスルーターの BGP セッションのセットアップを行うネットワークエンジニア向けになります。
以下は、VIF 作成時に AWS が自動生成するコンフィグの一部です。これを BGP ルーターに実装することができます。(よくあるのは Cisco か Juniper のルーターですが、ファイアウォールや NSX Edge で終端することもできます)
以下のボールド部分の設定について、もう少し説明していきます。
! Amazon Web Services
!=======================================IPV4=======================================
! Direct Connect
! Virtual Interface ID: dxvif-XXXXXXX
!
! ------------------------------------------------------------------
! Interface Configuration
interface GigabitEthernet0/1.302
description "Direct Connect to your Amazon VPC or AWS Cloud"
encapsulation dot1Q 302
ip address 169.254.255.1 255.255.255.252
! ------------------------------------------------------------------
! Border Gateway Protocol (BGP) Configuration
!
! BGP is used to exchange prefixes between the Direct Connect Router and your
! Customer Gateway.
!
! If this is a Private Virtual Interface, your Customer Gateway may announce a default route (0.0.0.0/0),
! which can be done with the 'network' and 'default-originate' statements. To advertise other/additional prefixes,
! copy the 'network' statement and identify the prefix you wish to advertise. Make sure the prefix is present in the routing
! table of the device with a valid next-hop.
!
!
router bgp 64661
address-family ipv4
neighbor 169.254.255.2 remote-as 64512
neighbor 169.254.255.2 password s3cur3p$ssw0rd
network 0.0.0.0
! default-originate might be used instead to advertise a default route.
network 192.168.0.0 255.255.0.0
network 10.32.0.0 255.224.0.0
! etc...
それではちょっと振り返ってみましょう:
- インターフェース GigabitEthernet0/1.302 は、あなたの BGP ルーターのインターフェースです。(GigabitEthernet0/1 は物理インターフェースで、.302 はサブインターフェースです)
- 169.254.255.1 は BGP ルーターのローカル IP アドレスです。
- router bgp 64661 − あなたのデータセンターのローカルの AS です。(AS 64661 はここでの例)
- neighbor 169.254.255.2 remote-as 64512 – AWS 側にある、リモートのピア(169.254.255.2)とリモートの BGP AS(64512)を設定しています
- network 0.0.0.0 – オンプレミスから VMC にデフォルトルートを広告するのに用いられます。(インターネット向けのトラフィックがオンプレミス側のインターネット向けの出口を通るように強制します)
- network 192.168.0.0 255.255.0.0 – VMC SDDC に 192.168.0.0/16 のレンジを広告するのに用いられます。
この詳細なブログポストが、Direct Connect の利点と Direct Connect がどのように VMware Cloud on AWS と統合されているかの理解の助けになれば幸いです。