顧客拠点から Amazon VPCへの接続パターンまとめ (Whitepaper参照)

2020年最新のホワイトペーパーから「顧客拠点からVPCへの接続パターン図説」を、日本語訳で1ページに抜粋してまとめてみました。
2020.07.25

どうも、ちゃだいん(@chazuke4649)です。

今回は日本語訳ページが提供されていない AWS Whitepapers を参考に、「顧客拠点から Amazon VPCへの接続パターン」というテーマで1ページにまとめてました。

動機としては、まず最近更新の Whitepaper がPDFではなく、最新のUIで閲覧できるようになっていることに感動し、かつ図も多く構成パターンを比較するのに有用だと感じたので、欲が出て「1ページにまとまっていて日本語の状態で欲しい」と思ったのでいったん作ってみました。

概要

参照したWhitepaper

バージョン

  • 日付: 2020年6月6日
  • 変更内容: ホワイトペーパーの更新
  • 説明: AWS Transit GatewayとAWS Client VPNのオプションを追加し、全体を通して図と情報を更新しました。

Document revisions - Amazon Virtual Private Cloud Connectivity Options

参照した章

※このWhitepaperから以下項目のみ抜粋しています。

  • Network-to-Amazon VPC connectivity options(※このページは作成していません)
    • 1.AWS Managed VPN
    • 2.AWS Transit Gateway + VPN
    • 3.AWS Direct Connect
    • 4.AWS Direct Connect + AWS Transit Gateway
    • 5.AWS Direct Connect + VPN
    • 6.AWS Direct Connect + AWS Transit Gateway + VPN
    • 7.AWS VPN CloudHub
    • 8.Software Site-to-Site VPN

1. AWSマネージドVPN

Amazon VPCには、次の図に示すように、インターネットを介してリモートネットワークとAmazon VPCの間にIPsec VPN接続を作成するオプションがあります。

図1-AWSマネージドVPN

自動化された冗長性とフェイルオーバーを含むAWSマネージドのVPN接続を利用したい場合は、このアプローチの採用を検討してください。

次の図に示すように、仮想プライベートゲートウェイは複数のユーザーゲートウェイ接続をサポートおよび推奨するため、VPN接続のユーザー側でも冗長性とフェイルオーバーを実装できます。

図2-冗長なAWS管理VPN接続

ルーティング構成に柔軟性を与えるために、動的ルーティングオプションと静的ルーティングオプションの両方が用意されています。動的ルーティングは、BGPピアリングを使用して、AWSとこれらのリモートエンドポイント間でルーティング情報を交換します。動的ルーティングを使用すると、BGPアドバタイズメントでルーティングの優先度、ポリシー、および重み(メトリック)を指定して、ネットワークとAWS間のネットワークパスを制御することもできます。BGPを使用する場合、IPSec接続とBGP接続の両方を、同じユーザーゲートウェイデバイスで終端する必要があることに注意してください。

2. AWS Transit Gateway + VPN

AWS Transit Gatewayは、VPCと顧客ネットワークを相互接続するために使用される、AWSが管理する高可用性とスケーラビリティを持つリージョン単位のネットワークトランジットハブです。AWSトランジットゲートウェイ + VPNは、トランジットゲートウェイVPNアタッチメントを使用して、次の図に示すように、インターネットを介してリモートネットワークとトランジットゲートウェイの間にIPsec VPN接続を作成するオプションを提供します。

図3-AWSトランジットゲートウェイとVPN

AWSが管理するVPNエンドポイントを利用して、追加のコストや複数のAmazon VPCへの複数のIPSec VPN接続を管理することなく、同じリージョン内の複数のVPCに接続する場合は、このアプローチの使用を検討してください。

AWS Transit Gatewayは複数のユーザーゲートウェイ接続もサポートおよび推奨しているため、次の図に示すように、VPN接続のユーザー側でも冗長性とフェイルオーバーを実装できます。

図4-AWS Transit Gatewayと冗長VPN

Transit Gateway VPN IPSecアタッチメントのルーティング構成に柔軟性を与えるために、動的ルーティングオプションと静的ルーティングオプションの両方が提供されています。動的ルーティングは、BGPピアリングを使用して、AWSとこれらのリモートエンドポイント間でルーティング情報を交換します。動的ルーティングを使用すると、BGPアドバタイズメントでルーティングの優先度、ポリシー、および重み(メトリック)を指定して、ネットワークとAWS間のネットワークパスに影響を与えることもできます。BGPを使用する場合は、IPSec接続とBGP接続の両方を同じユーザーゲートウェイデバイスで終端する必要があるため、IPSec接続とBGP接続の両方を終端できる必要があることに注意してください。

3. AWS Direct Connect

AWS Direct Connect は、オンプレミスネットワークから同じリージョン内の1つ以上のVPCへの専用線接続を簡単に確立できます。AWS Direct ConnectでプライベートVIFを使用すると、次の図に示すように、AWSとデータセンター、オフィス、またはコロケーション環境との間にプライベート接続を確立できます。

図5-AWS Direct Connect

次の図に示すように、高可用性をサポートするには、動的にルーティングされる複数のAWS Direct Connect接続が必要です。

図6-冗長なAWS Direct Connect

AWS Direct Connectは、ネットワークコストを削減し、帯域幅のスループットを向上させ、インターネットベースの接続よりも一貫したネットワークエクスペリエンスを提供できます。業界標準の802.1q VLANを使用し、プライベートIPアドレスを使用してAmazon VPCに接続します。WANサービスプロバイダーのエコシステムから選択して、AWS Direct ConnectロケーションのAWS Direct Connectエンドポイントをリモートネットワークと統合できます。AWS Direct Connectを使用すると、AWSネットワークとAWS Direct Connectロケーションの1つとの間に1 Gbpsまたは10 Gbpsの専用ネットワーク接続(または複数の接続)を確立できます。プロバイダーと協力して1G未満の接続を作成することもできます。 リンク集約グループ(LAG)を使用して、1つのAWS Direct Connectエンドポイントで複数の1ギガビットまたは10ギガビット接続を集約し、それらを単一の管理された接続として扱うことができます。

Direct Connect gateway は、異なるリージョンまたはAWSアカウントを横切る複数のAmazon VPCへの接続を可能にするため、グローバルに利用可能なリソースです。この機能を使用すると、次の図に示すように、1つのプライベートVIFから複数の追加したVPCに接続できるので、AWS Direct Connectの管理を減らすこともできます。

図7-AWS Direct Connect Gateway

4. AWS Direct Connect + AWS Transit Gateway

AWS Direct Connect+ AWS Transit Gateway は、DXGW へのトランジットVIFアタッチメントを使用して、次の図に示すように、プライベート専用接続を介して最大3つの地域集中型ルーターにネットワークを接続できます。

図8-AWS Direct ConnectとAWS Transit Gateway

各AWS Transit Gatewayは、同じリージョンのVPCを相互接続し、Amazon VPCルーティング構成を1か所に統合​​するネットワークトランジットハブです。このソリューションは、プライベート接続を介したAmazon VPCとネットワーク間の接続の管理を簡素化し、ネットワークコストを削減し、帯域幅のスループットを向上させ、インターネットベースの接続よりも一貫したネットワークエクスペリエンスを提供します。

5. AWS Direct Connect + VPN

Direct Connect と VPNで、Direct Connectの専用ネットワーク接続をAmazon VPC VPNと組み合わせることができます。AWS Direct Connect パブリックVIFは、Amazon仮想プライベートゲートウェイIPsecエンドポイントなどのパブリックAWSリソースへのネットワーク間に専用ネットワーク接続を確立しました。次の図は、このオプションを示しています。

図9-AWS Direct ConnectとVPN

このソリューションは、エンドツーエンドの安全なIPSec接続の利点とAWS Direct Connectの低レイテンシおよび増加した帯域幅を組み合わせて、インターネットベースのVPN接続よりも一貫したネットワークエクスペリエンスを提供します。AWS Direct ConnectとパブリックVIF上のルーターとの間にBGP接続が確立されます。別のBGPセッションまたは静的ルーターが、仮想プライベートゲートウェイとIPSec VPNトンネル上のルーターの間に確立されます。

6. AWS Direct Connect + AWS Transit Gateway + VPN

Direct Connect + AWS Transit gateway + VPNは、Direct ConnectでパブリックVIFを使用して、プライベート専用接続を介したネットワークとAmazon VPCのリージョン集中型ルーター間のエンドツーエンドのIPSec暗号化接続を可能にします。

図10-AWS Direct ConnectとAWS Transit GatewayおよびVPN

管理を簡素化し、同じリージョン内の複数のAmazon VPCへのIPSec VPN接続のコストを最小限に抑え、インターネットベースのVPNを介したプライベート専用接続の低レイテンシと一貫したネットワークエクスペリエンスのメリットを実現したい場合は、このアプローチを検討してください。AWS Direct ConnectとパブリックVIF上のルーターとの間にBGP接続が確立されます。AWS Transit GatewayとIPSec VPNトンネル上のルーターの間に別のBGPセッションまたは静的ルーターが確立されます。

7. AWS VPN CloudHub

前述のAWSマネージドVPNオプションに基づいて構築し、AWS VPN CloudHubを使用して、サイト間で安全に通信できます。AWS VPN CloudHubは、VPCの有無にかかわらず使用できるシンプルなハブアンドスポークモデルで動作します。複数の支社と既存のインターネット接続があり、これらのリモートオフィス間のプライマリまたはバックアップ接続に便利で低コストのハブアンドスポークモデルを実装する場合は、このアプローチを使用します。

次の図は、AWS VPN CloudHubアーキテクチャを示しています。破線は、AWS VPN接続を介してルーティングされているリモートサイト間のネットワークトラフィックを示しています。

図11-AWS VPN CloudHub

AWS VPN CloudHubは、それぞれが一意のBGP自律システム番号(ASN)を使用する複数のカスタマーゲートウェイを持つAmazon VPC仮想プライベートゲートウェイを使用します。ゲートウェイは、VPN接続を介して適切なルート(BGPプレフィックス)をアドバタイズします。これらのルーティングアドバタイズは受信され、各BGPピアに再アドバタイズされるため、各サイトは他のサイトとデータを送受信できます。各スポークのリモートネットワークプレフィックスには一意のASNが必要であり、サイトに重複するIP範囲があってはなりません。

8. ソフトウェア サイト間VPN

Amazon VPCは、リモートネットワークとAmazon VPCネットワークで実行されているソフトウェアVPNアプライアンスとの間にVPN接続を作成することにより、Amazon VPC接続の両側を完全に管理する柔軟性を提供します。このオプションは、コンプライアンスの目的で、または現在Amazon VPCのVPNソリューションでサポートされていないゲートウェイデバイスを活用するために、VPN接続の両端を管理する必要がある場合に推奨されます。次の図は、このオプションを示しています。

図12-ソフトウェアサイト間VPN

Amazon EC2で動作するソフトウェアVPNアプライアンスを作成した複数のパートナーとオープンソースコミュニティのエコシステムから選択できます。この選択に加えて、構成、パッチ、アップグレードなど、ソフトウェアアプライアンスを管理する必要があります。

ソフトウェアVPNアプライアンスは単一のAmazon EC2インスタンスで実行されるため、この設計はネットワーク設計に潜在的な単一障害点をもたらすことに注意してください。詳細については、「付録A:ソフトウェアVPNインスタンスの高レベルHAアーキテクチャ、ソフトウェアVPNインスタンスのアーキテクチャ」を参照してください。

終わりに

基本的にWhitepaperベースですが、自分が何度も読みたくなるだろうと思ったのと、これはこれでニーズがあるかもしれないと思ったので試しに作ってみました。誤字脱字などあればご指摘いただけるとありがたいです。

それではこの辺で。ちゃだいん(@chazuke4649)でした。