Amazon Virtual Private Cloud Connectivity Options（Customer NetworkからVPCへ）を整理してみた

# 背景・目的
私は、普段、オンプレミスとAWS 間のネットワーク設計など触れる機会がなく、知識も乏しいので整理しようと思います。


# まとめ
下記に接続オプションをまとめます。※1

※1 [ネットワークから Amazon VPC への接続オプション](https://docs.aws.amazon.com/ja_jp/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html)をコピーしています。最新の情報はドキュメントをご確認ください。

| オプション | ユースケース | 利点 | 制限事項|
|:--|:--|:--|:--|
|AWS Site-to-Site VPN|インターネット経由で個々の VPC への AWS マネージド IPsec VPN 接続|既存の VPN 機器とプロセスの再利用<BR><BR>既存のインターネット接続の再利用<BR><BR>AWS マネージド高可用性 VPN サービス<BR><BR>静的ルートまたは動的ボーダーゲートウェイプロトコル (BGP) ピアリングおよびルーティングポリシーをサポート|ネットワークのレイテンシー、変動性、可用性はインターネットの状態によって異なる<BR><BR>冗長性とフェイルオーバーの実装は利用者の責任<BR><BR>リモートデバイスは、シングルホップ BGP をサポートする必要がある|
|AWS Transit Gateway + AWS Site-to-Site VPN|複数の VPCs のリージョン別ルーターへのインターネット経由の AWS マネージド IPsec VPN 接続|上記と同様<BR><BR>最大 5,000 個のアタッチメント用の AWS マネージドの高可用性とスケーラビリティのリージョンネットワークハブ|上記と同様|
|AWS Direct Connect|プライベートライン経由の専用ネットワーク接続|より予測可能なネットワークパフォーマンス<BR><BR>帯域幅コストの削減<BR><BR>BGP ピアリングおよびルーティングポリシーをサポート|追加のテレコムとホスティングプロバイダーの関係や、新しいネットワーク回線のプロビジョニングが必要になる場合がある|
|AWS Direct Connect + AWS Transit Gateway|複数の VPCs のリージョンルーターへのプライベートライン経由の専用ネットワーク接続|上記と同様<BR><BR>最大 5,000 個のアタッチメント用の AWS マネージドの高可用性とスケーラビリティのリージョンネットワークハブ|上記と同様|
|AWS Direct Connect + AWS Site-to-Site VPN|プライベートライン経由の IPsec VPN 接続|より予測可能なネットワークパフォーマンス<BR><BR>帯域幅コストの削減<BR><BR>Direct Connectでの BGP ピアリングおよびルーティングポリシーのサポート <BR><BR>既存の VPN 機器とプロセスの再利用<BR><BR>AWS マネージド高可用性 VPN サービス<BR><BR>VPN 接続で静的ルートまたは動的ボーダーゲートウェイプロトコル (BGP) ピアリングおよびルーティングポリシーをサポート|追加のテレコムとホスティングプロバイダーの関係、または新しいネットワーク回線のプロビジョニングが必要になる場合がある<BR><BR>冗長性とフェイルオーバーの実装は利用者の責任<BR><BR>リモートデバイスは、シングルホップ BGP をサポートする必要がある|
|AWS Direct Connect ＋ AWS Transit Gateway + AWS Site-to-Site VPN|複数の VPCs のリージョン別ルーターへのプライベートライン経由の IPsec VPN 接続|前のオプションと同じ<BR><BR>最大 5,000 個のアタッチメント用の AWS マネージドの高可用性とスケーラビリティのリージョンネットワークハブ|上記と同様|
|AWS VPN CloudHub|プライマリ接続またはバックアップ接続用の hub-and-spoke モデルでリモートブランチオフィスを接続する|既存のインターネット接続と AWS VPN 接続の再利用<BR><BR>AWS マネージド高可用性 VPN サービス<BR><BR>ルートとルーティングの優先順位の交換のために BGP をサポート|ネットワークのレイテンシー、変動性、可用性はインターネットによって異なる<BR><BR>ユーザーマネージドブランチオフィスのエンドポイントは、冗長性とフェイルオーバーの実装を担当する|
|AWS Transit Gateway + SD-WAN ソリューション|AWS バックボーンまたはインターネットをトランジットネットワークとして使用して、リモートブランチとオフィスをソフトウェア定義の広域ネットワークに接続|幅広い SD-WAN ベンダー、製品、プロトコルをサポート<BR><BR>一部のベンダーソリューションには、AWS ネイティブサービスとの統合がある|Amazon VPC に配置される場合、SD-WAN アプライアンスの HA (高可用性) を実装する責任がある。|
|ソフトウェア VPN|インターネット経由のソフトウェアアプライアンスベースの VPN 接続|幅広い VPN ベンダー、製品、プロトコルをサポート<BR><BR>完全なカスタマーマネージドソリューション|すべての VPN エンドポイントに HA (高可用性) ソリューションを実装する責任は利用者にある|

## 接続パターンごとの構成
下記にパターンごとの構成を整理します

|分類 | パターン|VPC　|接続 |Customer Network|
|:--|:--|:--|:--|:--|
|Site-to-Site VPN | AWS Managed VPN |Virtual Private Gateway|インターネット/VPN|Customer Gateway|
||Redundant AWS Site-to-Site VPN Connections|Virtual Private Gateway|同上|Customer Gatewayを複数|
|AWS Transit Gateway + AWS Site-to-Site VPN|AWS Transit Gateway and AWS Site-to-Site VPN|Transit Gateway|インターネット/VPN|Customer Gateway|
||AWS Transit Gateway and Redundant VPN|Transit Gateway|同上|Customer Gatewayを複数|
||Accelerated AWS Site-to-Site VPN|Transit Gateway|Edge Location(Global Accelerator)<BR>/インターネット/VPN|Customer Gateway|
|AWS Direct Connect|AWS Direct Connect|Virtual Private Gateway|Direct Connect Location/802.1Q VNAL|Customer Gateway|
||Redundant AWS Direct Connect|Virtual Private Gateway|Direct Connect Locationが複数/802.1Q VLAN|Customer Gatewayが複数|
||AWS Direct Connect Gateway|Virtual Private Gateway|Direct Connect Gateway<BR><BR>Direct Connect Locationが複数/802.1Q VLAN|Customer Gatewayが複数|
|AWS Direct Connect and AWS Transit |AWS Direct Connect and AWS Transit Gateway|Transit Gateway|Direct Connect Gateway<BR><BR>Direct Connect Location/802.1Q VLAN|Customer Gateway|
|AWS Direct Connect and AWS Site-to-Site VPN|AWS Direct Connect and AWS Site-to-Site VPN|Virtual Private Gateway|Direct Connect Location/Public VIF + VPN|Customer Gateway|
|AWS Direct Connect ＋ AWS Transit Gateway + AWS Site-to-Site VPN|AWS Direct Connect, AWS Transit Gateway, and AWS Site-to-Site VPN (public VIF)|Transit Gateway|Direct Connect Location/Public VIF + VPN|Customer Gateway|
||AWS Direct Connect, AWS Transit Gateway, and AWS Site-to-Site VPN (transit VIF)|Transit Gateway|Direct Connect Gateway <BR><BR> Direct Connect Location/Transit VIF + IPSec VLAN|
|CloudHub|CloudHub|Virtual Private Gateway|インターネット/VPN|Customer Gateway|
|AWS Transit Gateway + SD-WAN ソリューション|SD-WAN connectivity with AWS Transit Gateway (virtual appliance in AWS)|Transit Gateway<BR><BR>Virtual Private Gateway<BR><BR>|インターネットまたは、Direct Connect Location|Customer Gateway等|
||SD-WAN connectivity with AWS Transit Gateway (Direct Connect as transport)|Transit Gateway|Direct Connect Gateway<BR><BR>Direct Connect Location/ 802.1Q VLAN|Customer Gateway|
|ソフトウェア VPN|ソフトウェア VPN|Internet Gateway|インターネット/VPN|Customer Gateway|
# 概要
[ネットワークから Amazon VPC への接続オプション](https://docs.aws.amazon.com/ja_jp/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html)を基に整理します。

> このセクションでは、リモートネットワークを Amazon VPC 環境に接続するための設計パターンについて説明します。これらのオプションは、内部ネットワークを AWS クラウドに拡張することで、AWS リソースを既存のオンサイトサービス (モニタリング、認証、セキュリティ、データ、その他のシステムなど) と統合する場合に役立ちます。このネットワーク拡張により、内部ユーザーは他の内部向けリソースと同様に、AWS でホストされているリソースにシームレスに接続することもできます。

- リモートNWをVPCに接続するための設計パターンの整理
- 内部NWを、AWSに拡張することで、AWSリソースを既存のオンサイトサービスと統合する場合に役立つ
- 内部ユーザは、他の内部向けリソースと同様に、AWSにホストされているリソースにシームレスに接続が可能になる

> リモートカスタマーネットワークへの VPC 接続は、接続されているネットワークごとに重複しない IP 範囲を使用する場合に最適です。例えば、1 つ以上の VPCs を企業ネットワークに接続する場合は、一意の Classless Inter-Domain Routing (CIDR) 範囲が設定されていることを確認します。重複しない 1 つの連続した CIDR ブロックを各 VPC で使用するように割り当てることをお勧めします。Amazon VPC のルーティングと制約の詳細については、「Amazon VPC のよくある質問」を参照してください。



## AWS Site-to-Site VPN
> Amazon VPC には、次の図に示すように、インターネット経由でリモートネットワークと Amazon VPC の間に IPsec VPN 接続を作成するオプションがあります。

- インターネット経由でリモートNWとVPC間でIPsec VPNを作成できる

### AWS Managed VPN
> VPN 接続の AWS 側に組み込まれた自動冗長性とフェイルオーバーを含む AWS マネージド VPN エンドポイントを利用する場合は、このアプローチを検討してください。
> 仮想プライベートゲートウェイは、次の図に示すように、VPN 接続のユーザー側で冗長性とフェイルオーバーを実装できるように、複数のユーザーゲートウェイ接続もサポートおよび推奨します。

- VPN接続のAWS側に組み込まれた自動冗長性とF/Oを含む、VPNエンドポイントを利用する場合
- 仮想プライベートGWでは、VPN接続ユーザ側で冗長性とF/Oを実装できるように、複数のGW接続もサポートしている

|VPC側のGW|接続|カスタマーNW側のGW|
|:--|:--|:--|
|Virtual Private Gateway | Site-to-Site VPN |Customer Gateway |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/62accfa9-f078-3dc7-89ea-5ec71b131da5.png)



### Redundant AWS Site-to-Site VPN Connections

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

- 動的ルーティングと静的ルーティングオプションの両方が用意されている。ルーティング設定に柔軟性がある
- 動的ルーティング
    - BGPピアリングを使用
    - AWSとリモートエンド間でルーティング情報を交換する
    - BGPアドバタイズで下記を指定し、NWとAWS間のNWパスに影響を与えることも可能
        - ルーティングの優先順位
        - ポリシー
        - 重み（メトリクス）
    - BGPを使用する場合、IPsecセッションとBGPセッションの両方を同じユーザGWで終端させる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/ea690cb9-2d90-e557-0478-9104a8d6e3d0.png)



## AWS Transit Gateway + AWS Site-to-Site VPN
> AWS Transit Gateway は、VPC とカスタマーネットワークを相互接続するために使用される AWS マネージドの高可用性とスケーラビリティを備えたリージョンネットワークの中継ハブVPCs。AWS Transit Gateway + VPN は、Transit Gateway VPN アタッチメント を使用して、次の図に示すように、インターネット経由でリモートネットワークと Transit Gateway の間に IPsec VPN 接続を作成するオプションを提供します。


### AWS Transit Gateway and AWS Site-to-Site VPN

> このアプローチは、複数の Amazon VPCs への複数の IPsec VPN 接続の追加コストや管理を必要とせずに、同じリージョン内の複数の VPCs。
> AWS Transit Gateway は、次の図に示すように、VPN 接続のユーザー側で冗長性とフェイルオーバーを実装できるように、複数のユーザーゲートウェイ接続もサポートおよび推奨します。

- 同一リージョンの複数のVPCに対して、複数のVPN接続は不要
- 冗長性とF/Oを推奨


|VPC側のGW|接続|カスタマーNW側のGW|
|:--|:--|:--|
|Transit Gateway | Site-to-Site VPN |Customer Gateway |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/92590ddb-7718-7e84-ebdc-f681822c0c7d.png)

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

- 動的ルーティングと静的ルーティングオプションの両方が用意されている。ルーティング設定に柔軟性がある
- 動的ルーティング
    - BGPピアリングを使用
    - AWSとリモートエンド間でルーティング情報を交換する
    - BGPアドバタイズで下記を指定し、NWとAWS間のNWパスに影響を与えることも可能
        - ルーティングの優先順位
        - ポリシー
        - 重み（メトリクス）
    - BGPを使用する場合、IPsecセッションとBGPセッションの両方を同じユーザGWで終端させる

> VPN 接続ごとに、1.25 Gbps のスループットと 1 秒あたり 140,000 パケットを実現できます。Transit Gateway で VPN 接続を終了する場合、等価コストマルチパス (ECMP) ルーティングを使用して、複数の VPN トンネルを集約することで VPN 帯域幅を高めることができます。ECMP を使用するには、VPN 接続で動的ルーティングを設定する必要があります。ECMP は静的ルーティングではサポートされていません。


- VPN接続毎に、1.25Gbpsのスループット
- 1秒あたりの140,000パケットを実現
- Transigt GatewayでVPN接続を終端させる場合、ECMPルーティングを使用して、複数のVPNトンネルを集約することで、VPN帯域幅を高めることが可能
- ECMPルーティングを使用するには、VPN接続で動的ルーティングを設定する。静的ルーティングではサポートされていない


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/d47d62fe-5811-c8e8-34ca-794ff668c7cd.png)

### Accelerated AWS Site-to-Site VPN
> さらに、AWS Site-to-Site VPN 接続でアクセラレーションを有効にすることもできます。高速 VPN 接続では、AWS Global Accelerator を使用して、ネットワークからカスタマーゲートウェイデバイスに最も近い AWS エッジロケーションにトラフィックをルーティングします。このオプションを使用すると、トラフィックがパブリックインターネット経由でルーティングされるときに発生する可能性のあるネットワークの中断を回避できます。アクセラレーションは、次の図に示すように、Transit Gateway にアタッチされた VPN 接続でのみサポートされます。

- AWS Site-to-Site VPN接続でアクセラレーションを有効にすることも可能
    - 　高速VPN接続では、Global Acceleratorを使用して、NWからカスタマーゲートウェイデバイスに最も近いエッジローケーションに、トラフィックをルーティングする
    - 　これにより、トラフィックがパブリックインターネット経由でルーティングされるときに発生する可能性があるNWの中断を回避できる
    - 　Transit GatewayにアタッチされたVPN接続でサポートされる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/1c8f1c7a-d4b4-68d5-c336-e829e2f736e8.png)

## AWS Direct Connect
> AWS Direct Connect を使用すると、オンプレミスネットワークから 1 VPCs への専用接続を簡単に確立 AWS Direct Connect できます。 は、インターネットベースの接続よりもネットワークコストを削減し、帯域幅スループットを向上させ、より一貫したネットワークエクスペリエンスを提供します。業界標準の 802.1Q VLANs、プライベート IP アドレスを使用して Amazon VPC に接続します。VLANs は仮想インターフェイス (VIFsを使用して設定され、次の 3 つの異なるタイプの VIFsを設定できます。

> - パブリック仮想インターフェイス - AWS パブリックエンドポイントとデータセンター、オフィス、またはコロケーション環境間の接続を確立します。
> - トランジット仮想インターフェイス - AWS Transit Gateway とデータセンター、オフィス、またはコロケーション環境との間にプライベート接続を確立します。この接続オプションについては、「」セクションで説明しますAWS Direct Connect + AWS Transit Gateway。
> - プライベート仮想インターフェイス - Amazon VPC リソースとデータセンター、オフィス、またはコロケーション環境との間にプライベート接続を確立します。プライベート VIFs の使用を次の図に示します。


- Direct Connectにより、オンプレミスNWから1 VPCsへの専用接続を簡単に確立できる
- インターネットベースの接続よりもNWコストを削減し、帯域幅スループットを向上させる
- 802.1Q VLANs、プライベートIPアドレスを使用して、VPCに接続する
- VLANは、仮想インターフェース（VIF）を使用して設定される
- VIFは、下記の通り
    - パブリックVIF：AWSパブリックエンドポイント、データセンタ等の間の接続を確立
    - トランジットVIF：Transit Gatewayとデータセンター等の間の接続を確立
    - プライベートVIF：VPCリソースとデータセンター等の間の接続を確立

### AWS Direct Connect
> Direct Connect ロケーション 内の AWS デバイスへのクロス接続を確立 AWS Direct Connect することで、 を使用して AWS バックボーンへの接続を確立できます。Direct Connect ロケーション (中国を除く) から任意の AWS リージョンにアクセスできます。ロケーションに機器がない場合は、WAN サービスプロバイダーのエコシステムから選択して、 AWS Direct Connect ロケーションのエンドポイントを AWS Direct Connect リモートネットワークと統合できます。
> では AWS Direct Connect、次の 2 種類の接続があります。
> - 専用接続 。物理的なイーサネット接続は 1 人の顧客に関連付けられます。1、10、または 100 Gbps のポート速度を注文できます。 AWS Direct Connect 接続とデータセンター、オフィス、またはコロケーション環境との間にネットワーク回線を確立するには、 AWS Direct Connect パートナープログラムのパートナーとの連携が必要になる場合があります。
> - ホスト接続 。物理的なイーサネット接続は AWS Direct Connect パートナーによってプロビジョニングされ、ユーザーと共有されます。50 Mbps～10 Gbps のポート速度を注文できます。は、確立された AWS Direct Connect 接続と、 AWS Direct Connect 接続とデータセンター、オフィス、またはコロケーション環境間のネットワーク回線の両方で パートナーと連携します。

> 専用接続の場合、Link Aggregation Group (LAG) を使用して、単一の AWS Direct Connect エンドポイントで複数の接続を集約することもできます。これらは単一のマネージド接続として扱います。1 または 10-Gbps の接続は最大 4 つ、100-Gbpsの接続は最大 2 つまで集約できます。


- Direct Connectロケーション内のAWSデバイスへのクロス接続を確立する
- 任意のロケーションから、AWSリージョンにアクセス可能
- ロケーションに機器がない場合、WANサービスのエコシステムから選択し、AWS Direct Connect ロケーションエンドポイントをDirect ConnectリモートNWと統合できる
- Direct Connectには、専用接続と、ホスト接続がある
- 専用接続
    - 物理的なイーサネット接続が、1人のクライアントに関連付けられる
    - 1Gbps、10Gbps、100Gbpsのポート速度を注文できる
    - Direct Connect接続と、データセンター等との間にNWと回線を確立するには、Directo Connect接続パートナープログラムのパートナーとの連携が必要
- ホスト接続
    - 物理的なイーサネット接続は、Direct Connectパートナーによってプロビジョニングされ、ユーサと共有される
    - 50 Mbps〜10Gbpsのポート速度を注文できる
    - Driect Connect接続と、データセンター等の両方でパートナーと連携する
- 専用接続の場合、LAGを使用して、単一のDirect Connectエンドポイントで接続を集約することもできる
    - 単一の接続として扱う
    - 1、10Gbps〜は最大4つまで
    - 100 Gbps〜は、最大2つまで

> AWS Direct Connect デフォルトでは、 は暗号化されません。10 または 100 Gbps の専用接続の場合、暗号化オプションとして MAC セキュリティ (MACsec ) を使用できます。1 Gbps 以下の接続の場合、接続の上に VPN トンネルを作成できます。このオプションについては、 AWS Direct Connect + AWS Site-to-Site VPNおよび AWS Direct Connect ＋ AWS Transit Gateway + AWS Site-to-Site VPNセクションで説明します。


- Direct Connectのデフォルトは暗号化されない
    - 10Gbps、100 Gbpsnの専用接続の場合は、暗号化オプションでMACsecを使用できる
    - 1Gbps以下の場合は、VPNトンネルを作成できる


|VPC側のGW|接続|カスタマーNW側のGW|
|:--|:--|:--|
|Virtual Private Gateway | AWS-Direct Connect Location間：Private VIF<BR><BR> Direct Connect Location- Customer Network間:専用線（802.1Q VLAN） |Customer Gateway |


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/acb1e36b-aee8-a005-d356-40f8a76926a8.png)

### Redundant AWS Direct Connect
> で高可用性について議論する場合は AWS Direct Connect、追加の AWS Direct Connect 接続を使用することをお勧めします。AWS Direct Connect Resiliency Toolkit は、 AWS とデータセンター、オフィス、またはコロケーション環境との間に回復性の高いネットワーク接続を構築する際のガイダンスを提供します。次の図は、2 つの異なる AWS Direct Connect 場所で 2 つの接続が終了する、耐障害性が高い AWS Direct Connect 接続オプションの例を示しています。

- 高可用性が求められる場合、追加のDirect Connect 接続を推奨


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/70ebcd75-6d5d-33e5-4bc8-ca8d7342926e.png)

### AWS Direct Connect Gateway
> の重要なリソース AWS Direct Connect の 1 つは Direct Connect ゲートウェイです。Direct Connect ゲートウェイは、グローバルに利用可能なリソースで、異なるリージョンまたは AWS アカウントで複数の Amazon VPCs または Transit Gateway への接続を可能にします。このリソースでは、次の図に示すように、1 つのプライベート VIF またはトランジット VIF から参加している VPC または Transit Gateway に接続することもできます。これにより、管理が減少します AWS Direct Connect 。

- Direct Connect Gateway
    - 異なるリージョン、複数のVPC、Transit Gatewayへの接続が可能
    - 管理が減る
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/395e8771-9101-e2ce-dde6-053072f833b5.png)


## AWS Direct Connect + AWS Transit Gateway
> AWS Direct Connect + はAWS Transit Gateway、Direct Connect ゲートウェイへのトランジット VIF アタッチメントを使用して、ネットワークが複数のリージョン集中型ルーターをプライベート専用接続経由で接続できるようにします。次の図は、2 つのルーターへの接続を示しています。

> 各 AWS Transit Gateway は、同じリージョン内の VPCs に相互接続するネットワーク中継ハブで、Amazon VPC ルーティング設定を 1 か所に統合します。このソリューションにより、プライベート接続を介した Amazon VPC とネットワーク間の接続の管理が簡素化され、インターネットベースの接続よりも一貫したネットワークエクスペリエンスを実現できます。


- Direct Connect から、Transit VIFアタッチメントを使用して、Transit Gatewayにプライベート専用接続が可能

- Transit Gatewayは同一リージョン内のVPCsに相互接続するNW中継ハブ
- VPCのルーティング設定を一箇所に統合する
- VPCとNW間接続の管理がシンプルになる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/289e1d33-31d2-c253-bf11-752b5cf4c533.png)

## AWS Direct Connect + AWS Site-to-Site VPN
> AWS Direct Connect + AWS Site-to-Site VPN を使用すると、AWS マネージド VPN ソリューションと AWS Direct Connect 接続を組み合わせることができます。 AWS Direct Connect パブリック VIFs は、ネットワークと AWS Site-to-Site VPN エンドポイントなどのパブリック AWS リソースとの間に専用のネットワーク接続を確立します。サービスへの接続を確立したら、対応する Amazon VPC 仮想プライベートゲートウェイへの IPsec 接続を作成できます。次の図は、このオプションを示しています。

> このソリューションは、 end-to-end 安全な IPsec 接続の利点を低レイテンシーで帯域幅を増や AWS Direct Connect し、インターネットベースの VPN 接続よりも一貫したネットワークエクスペリエンスを実現します。BGP 接続セッションは、パブリック VIF 上の AWS Direct Connect とルーターの間で確立されます。別の BGP セッションまたは静的ルートが、仮想プライベートゲートウェイと IPsec VPN トンネル上のルーターの間で確立されます。


- Direct ConnectとVPNの組み合わせ
- Direct Connct Public VIFは、NWとSite-to-Site VPNエンドポイントなどのパブリックAWSリソースとの間に専用のNW接続を確立する
- サービスへの接続を確立後、対応するVPC Public Private GatewayへのIPSec接続を作成できる
- end-to-endの安全なIPSec接続の利点を低レイテンシーで帯域幅を増やせて、VPN接続よりも一貫したNWエクスペリエンスを実現できる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/69d667b6-9f45-fdbc-044f-99eacf34417f.png)

## AWS Direct Connect ＋ AWS Transit Gateway + AWS Site-to-Site VPN
### AWS Direct Connect, AWS Transit Gateway, and AWS Site-to-Site VPN (public VIF)


> AWS Direct Connect + AWS Transit Gateway + AWS Site-to-Site VPN を使用すると、プライベート専用接続を介して、ネットワークと Amazon VPCs のリージョン集中型ルーター間の end-to-end IPsec 暗号化接続を有効にできます。
> AWS Direct Connect パブリック VIFs を使用して、まずネットワークと AWS Site-to-Site VPN エンドポイントなどのパブリック AWS リソース間の専用ネットワーク接続を確立できます。この接続が確立されたら、 への IPsec 接続を作成できます AWS Transit Gateway。次の図は、このオプションを示しています。

- プライベート接続を介して、NWとVPCsのリージョン集中型ルーター間の End-to-End IPSec暗号化接続を有効にできる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/fe441945-b041-301f-399c-93eaa9942ed0.png)

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

- 同一リージョン内の複数のVPCsへのIPSec VPN接続の管理を簡素化して、コストを最小限に抑える場合に検討する
- インターネットベースのVPNを介したプライベート専用接続のレイテンシーが低く、一貫したNWエクスペリエンスを実現できる
- BGPセッションは、パブリックVIF、トランジットVIFを使用して、Direct Connectとルーター間で確立される

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/d37f9708-f2bc-bb6b-f8f2-018a44906fbf.png)

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

> 次の図は、リモートサイト間のネットワークトラフィックが AWS VPN 接続経由でルーティングされていることを示す行を含む AWS VPN CloudHub アーキテクチャを示しています。


- CloudHub を使用して、あるサイトから別のサイトに安全に接続できる
- VPCの有無にかかわらず使用できる単純な Hub-and-spokeモデル
- 複数のブランチオフィスと既存のインターネット接続があり、これらのリモートオフィス間のプライマリ接続またはバックアップ接続に便利でコストが低い可能性のある、Hub-and-Spokeモデルを実装する場合に使用する

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

- CloudHubは、複数のカスタマーゲートウェイを持つVPC 仮想プライベートGWを使用して、それぞれが一位のBGP自律システム番号をアドバタイズする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/4dd6106b-f6db-ec5d-4c90-d593251db761.png)

## AWS Transit Gateway + SD-WAN ソリューション
> Software Defined Wide Area Networks (SD-WANsは、データセンター、オフィス、またはコロケーション環境をさまざまなトランジットネットワーク ( を使用するパブリックインターネット、TAK ネットワーク、AWS バックボーンなど AWS Direct Connect) に接続し、ネットワーク条件、アプリケーションタイプ、サービス品質 (QoS) 要件に基づいて、最も適切で効率的なパス全体でトラフィックを自動的かつ動的に管理するために使用します。

- SD-WANは、データセンター等の様々なトランジネットワークを接続して、NW条件、アプリケーションタイプ、サービス品質要件に基づいて、最も適切で効率的なパス全体でトラフィックを自動的かつ動的に管理するために使用する

> このアプローチは、自分と AWS の間で通信する必要がある複数のデータセンター、オフィス、またはコロケーション環境がある複雑なネットワークトポロジーがある場合に使用します。SD-WAN ソリューションは、このタイプのネットワークを効率的に管理するのに役立ちます。

> SD-WAN ネットワークから AWS への接続について言及する場合、 は、VPC と SD-WAN ネットワークを相互接続するための、可用性が高くスケーラブルVPCsマネージドリージョンネットワーク中継ハブ AWS Transit Gateway を提供します。Transit Gateway 接続アタッチメントは、SD-WAN インフラストラクチャとアプライアンスを AWS に接続するためのネイティブな方法を提供します。これにより、IPsec VPNs をセットアップしなくても、SD-WAN を AWS に簡単に拡張できます。

- SD-WANネットワークからAWSへの接続について、Transit Gatewayを提供する

> Transit Gateway 接続アタッチメントは、VPN 接続よりも高い帯域幅パフォーマンスを実現する汎用ルーティングカプセル化 (GRE) をサポートしています。動的ルーティングのボーダーゲートウェイプロトコル (BGP) をサポートし、静的ルートを設定する必要がなくなります。これにより、ネットワーク設計が簡素化され、関連する運用コストが削減されます。さらに、Transit Gateway Network Manager との統合により、グローバルネットワークトポロジ、アタッチメントレベルのパフォーマンスメトリクス、テレメトリデータを通じて高度な可視性が得られます。

- Transit Gateway接続アタッチメントは、VPNよりも高い帯域幅パフォーマンスを実現する汎用ルーティングカプセル化（GRE）をサポートしている
- BGPをサポートし、静的ルートを設定する必要がない
- Network Managerと統合により、グローバルNWトポロジ、アタッチメントレベルのパフォーマンスメトリクス、テレメトリデータを通じて高度な可視性が得られる

> 接続アタッチメントを使用して SD-WAN ネットワークを Transit Gateway に統合する場合、2 つの一般的なパターンがあります。1 つ目は、SD-WAN ネットワークの仮想アプライアンスを AWS 内の VPC に配置することです。次に、次の図に示すように、仮想アプライアンスと Transit Gateway 間の Transit Gateway Connect アタッチメントの基盤となるトランスポートとして VPC アタッチメントを使用します。

- SD-WANをTransit Gatewayに統合する場合に、2つのパターンがある
    - SD-WANネットワークの仮想アプライアンスをAWS内のVPCに配置する
    - 仮想アプライアンスとTransit Gateway間のTransit Gateway Connect アタッチメントの基盤となるトランスポートとして、VPCアタッチメントを使用する



### SD-WAN connectivity with AWS Transit Gateway (virtual appliance in AWS)
> Transit Gateway Connect アタッチメントを使用する際には、注意すべき点がいくつかあります。
> - 既存の Transit Gateway で接続アタッチメントを作成できます。
> - 接続アタッチメントを使用して Transit Gateway からトラフィックを送受信するには、サードパーティーアプライアンスを GRE トンネルで設定する必要があります。動的ルート更新とヘルスチェックのために、アプライアンスを BGP で設定する必要があります。
> - Connect アタッチメントは静的ルートをサポートしていません。
> - Transit Gateway 接続アタッチメントは、GRE トンネルあたり 5 Gbps の最大帯域幅をサポートします。5 Gbps を超える帯域幅は、同じ Connect アタッチメントに対して複数の Connect ピア (GRE トンネル) に同じプレフィックスをアドバタイズすることで実現できます。
> - 接続アタッチメントごとに最大 4 つの Connect ピアがサポートされます。
> - Transit Gateway 接続アタッチメントは、マルチプロトコル拡張による BGP (MBGP または MP-BGP) 経由の IPv6 および動的ルートアドバタイズをサポートします。

- 注意点
    - 既存のTransit Gatewayで接続アタッチメントを作成できる
    - 接続アタッチメントを使用してTransit Gatewayからトラフィックを送受信するには、サードパーティアプライアンスをGREトンネルで設定する
    - Connectアタッチメントは、静的ルートをサポートしてない
    - Transit Gatewayアタッチメントは、GREトンネルあたり、5Gbpsの最大帯域幅をサポート
        - 5Gbpsを超える帯域幅は、同じConnectアタッチメントに対して、複数のConnectピア（GREトンネル）に同じプレフィックスをアドバタイズすることで実現する
    - 背通俗アタッチメント毎に最大4つのConnectピアがサポートされる
    - Transit Gateway接続アタッチメントは、マルチプロトコル拡張によるBGP経由のIPv6および動的ルートアドバタイズをサポートする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/74c9fa01-d860-f52b-7900-88eb70da6fba.png)

### SD-WAN connectivity with AWS Transit Gateway (Direct Connect as transport)
> または、インフラストラクチャを追加せずに SD-WAN トラフィックを AWS に拡張およびセグメント化することもできます。次の図に示すように、基盤となるトランスポートとして AWS Direct Connect 接続を使用して Transit Gateway Connect アタッチメントを作成できます。

- SD-WANトラフィックをAWSに拡張および、セグメント化することも可能


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/65243a77-b7d1-6e31-f278-a7748c1df256.png)

## ソフトウェア VPN
### ソフトウェア Site-to-Site VPN


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

- VPCは、リモートNWとVPCのネットワークで実行されているVPNアプライアンスの間にVPN接続を作成し、VPC接続の両側を完全に管理できる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/4069b068-8096-ba79-1f91-404c854df016.png)


# 考察
今回、Customer NetworkとVPC間の接続パターンについて整理してみました。
基本的には、VPNか、Direct Connectか。VPCが複数であれば、Transit Gatewayを利用するといったところでしょうか。
まだまだ、理解が浅いのでこれからの継続して学習してきます。


# 参考
https://docs.aws.amazon.com/ja_jp/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html