[アップデート] AWS Site-to-Site VPNがPrivate IP VPNをサポートしました

Direct Connectのトラフィックを暗号化するハードルが下がったぞ
2022.07.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Direct Connectのトラフィックを暗号化したいな

こんにちは、のんピ(@non____97)です。

皆さんはDirect Connectのトラフィックを暗号化したいなと思ったことはありますか? 私はあります。

AWS公式ドキュメントでも説明がある通り、Direct Connect内のトラフィックは暗号化されていません。

AWS Direct Connect では、転送中のトラフィックはデフォルトでは暗号化されません。AWS Direct Connect を通過する転送中のデータを暗号化するには、そのサービスの転送暗号化オプションを使用する必要があります。EC2 インスタンスのトラフィック暗号化の詳細については、Linux インスタンス用の Amazon EC2 ユーザーガイドから Encryption in Transit を参照してください。

AWS Direct Connect での暗号化 - AWS Direct Connect

Direct Connect内のトラフィックは暗号化されていなくても、オンプレミスやAWS側でL4以上の暗号化を実装すれば良いかもしれませんが、場合によっては難しい場合があります。

そのような場合、利用者のポリシーやコンプライアンスによってはDirect ConnectのトラフィックをL2、L3での暗号化を求められる可能性があります。

加えて、AWS Black Belt Online Seminarでも紹介されていますが、Direct Connectはオンプレミスと直接接続する専用線サービスではありません。

AWS Direct Connect とは 抜粋 : [AWS Black Belt Online Seminar] AWS Direct Connect

もしかしたら、この図を見て「オンプレミスネットワークとAWSネットワーク間で暗号化しないと何となく嫌だ」という方もいるかもしれません。

そんな折、AWS Site-to-Site VPNがPrivate IP VPNをサポートしました。

AWS公式ブログも投稿されていますね。

今回は、こちらのアップデートの内容を紹介します。

いきなりまとめ

  • Transit VIF上にSite-to-Site VPNでVPN接続を確立することができるようになった
  • Private IP VPNを使用する場合、アドバタイズできる経路情報数はアウトバウンドルートが5000、インバウンドルールが1000
  • Transit VIFが必須
    • VPC間をTransit Gatewayで接続し、その上にSite-to-Site VPNをすることはできない

従来のDirect Connectのトラフィックの暗号化方法

Public VIF内でAWS Site-to-Site VPNでVPN接続するパターン

それでは、まず従来のDirect Connectのトラフィックの暗号化方法を確認します。

Direct Connectのトラフィックの暗号化方法は2つあります。

  1. Public VIF内でAWS Site-to-Site VPNでVPN接続するパターン
  2. MACSecを使用するパターン

まず、「Public VIF内でAWS Site-to-Site VPNでVPN接続するパターンについて説明します。

Public VIF内でAWS Site-to-Site VPNでVPN接続するパターン」の構成図は以下の通りです。

抜粋 : AWS Direct Connect + VPN - Amazon Virtual Private Cloud の接続オプション

AWS Site-to-Site VPN Over AWS Direct Connect 抜粋 : Traffic Encryption Options in AWS Direct Connect

従来、AWS Site-to-Site VPNを使って暗号化通信をする際はパブリックIPアドレスが必要でした。そのため、Private VIFやTransit VIF内でAWS Site-to-Site VPNでVPN接続を確立することは出来ませんでした。

一方、Public VIFは、オンプレミスネットワークとAWSネットワークをパブリックIPアドレスでつなぐため、AWS Site-to-Site VPNでVPN接続をすることが可能です。

ただし、利用するにはパブリックIPアドレスを用意する手間がかかります。加えて、パブリックIPアドレスを持っているということは、その分第三者から攻撃される口が増えることにもなります。

MACSecを使用するパターン

次に、2つ目の「MACsecを使用するパターン」について説明します。

MACsecを使用するパターン」の構成図は以下の通りです。

MACsec Security in AWS Direct Connect 抜粋 : Traffic Encryption Options in AWS Direct Connect

MACsecはL2のMACフレームを暗号化する仕組みです。MACsec自体の詳細な説明はIPAの以下ページをご覧ください。

MACsecを使用すれば、「Public VIF内でSite-to-Site VPN接続するパターン」のように、Direct Connect上にVPN接続を確立する必要がなくなります。

これは便利ですね。

そんな気になるMACsecの前提条件は以下の通りです。

  1. 10Gbps、および100Gbpsの専用Direct Connect接続がある
  2. エンドのルーターがMACsecをサポートしている

参考 : 専用接続での Macsec の使用開始 - AWS Direct Connect

1つ目の前提条件を満たすハードルがかなり高いように思います。元々、10Gbps、および100Gbpsの専用Direct Connect接続を持っていれば良いですが、暗号化のためだけに10Gbps、および100Gbpsの専用Direct Connect接続を用意するのは悩ましいです。

アップデートで何が変わったのか

AWS Site-to-Site VPNがPrivate IP VPNをサポートしました。

このアップデートにより、AWS Site-to-Site VPNでVPN接続をする際にパブリックIPアドレスを使う必要がなくなりました。

ということは、Public VIFを準備しなくてもDirect Connectのトラフィックを暗号化できるということです。これはありがたい。

加えて、AWS Site-to-Site VPNを使うので、Direct Connect単体の場合はアウトバウンドルートが20、インバウンドルール100までしかアドバタイズできなかった経路情報が、アウトバウンドルートが5000、インバウンドルールが1000と大幅に増えました。オンプレミス内のネットワークアドレスがバラけていても安心ですね。

Private IP VPNの構成を図にすると以下のようになります。

構成図

1つのVIFの上に複数のAWS Site-to-Site VPNのVPN接続を作成することも可能です。また、VIF全体を暗号化する訳ではないので、Site-to-Site VPNを通らない経路にルーティングすることも可能です。

複数Site-to-Site VPNの構成図

前提条件

気になる前提条件を確認します。

  1. オンプレミスネットワークとAWSネットワークをDirect Connect(Transit VIF)で接続している
  2. Transit GatewayとDirect Connect Gatewayを関連づけている
  3. Transit GatewayにTransit Gateway CIDR ブロックが付与されている
  4. オンプレミスネットワーク内のCutomer Gatewayデバイスと対応するCutomer Gatewayがある

参考 : Private IP VPN with AWS Direct Connect - AWS Site-to-Site VPN

Transit VIFが必要というのがポイントですね。10Gbps、および100Gbpsの専用Direct Connect接続を用意するよりもハードルは低いと思います。

Transit Gateway CIDR ブロックはTransit Gateway Connectを使用する際に使うCIDRブロックです。Transit Gateway Connectを使うことでGREトンネルを掘ることができます。Transit Gateway ConnectでGREトンネルを活用した例は以下記事をご覧ください。

AWS公式ドキュメント内でAWS Site-to-Site VPNのPrivate IP VPNの際に、Transit Gateway Connectを使用していると言及している箇所は見つけられませんでしたが、Transit Gateway ConnectでVRF拡張するAWS公式ブログがありました。

料金

Private IP VPN接続の料金は、通常のSite-to-Site VPN接続と同じです。

東京リージョンの場合VPN接続ごとに 0.048USD/h です。最新は以下料金表をご覧ください。

また、別途アウトバウンドのデータ転送量がかかります。毎月100GBまでは無料で、超過した最初の10TBは0.114USD/GBです。最新は以下料金表をご覧ください。

手順

Private IP VPNの大まかな設定手順は以下の通りです。

  1. Transit VIFの準備
  2. Direct Connect Gatewayの作成
  3. Transit Gatewayの作成
  4. Transit GatewayとDirect Connect Gatewayの関連付け
  5. Customer Gatewayの作成
  6. Site-to-Site VPNの作成
  7. Cusomer GatewayでVPNの設定

具体的な設定手順は以下AWS公式ドキュメントに記載があります。

私の方でもVPC間をTransit Gatewayで接続し、その上にSite-to-Site VPNでVPN接続を確立しようとしましたが、Direct Connect GatewayにアタッチされたTransit Gatewayでなければ設定できませんでした。無念。そういった意味でもTransit VIFは必要ですね。

Direct Connectのトラフィックを暗号化するハードルが下がったぞ

AWS Site-to-Site VPNがPrivate IP VPNをサポートしました。

Transit VIFさえあれば簡単に暗号化できるのは非常にありがたいですね。

また、副次作用としてアドバタイズできる経路情報数はアウトバウンドルートが5000、インバウンドルールが1000になったのも嬉しいですね。より柔軟なルーティングができるようになったと思います。

この記事が誰かの助けになれば幸いです。

以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!