カスタマーゲートウェイデバイス - AWS Site-to-Site VPN

カスタマーゲートウェイデバイス

カスタマーゲートウェイデバイスは、オンプレミスネットワーク (Site-to-Site VPN 接続のユーザー側) で所有または管理している物理アプライアンスまたはソフトウェアアプライアンスです。ユーザーまたはネットワーク管理者は、Site-to-Site VPN 接続で動作するようにデバイスを設定する必要があります。

次の図は、ネットワーク、カスタマーゲートウェイデバイス、VPN 接続 (VPC にアタッチされている仮想プライベートゲートウェイへの接続) を示しています。カスタマーゲートウェイデバイスと仮想プライベートゲートウェイの間の 2 つの線は、VPN 接続のトンネルを表しています。AWS でデバイス障害が発生した場合、VPN 接続は自動的に 2 番目のトンネルにフェールオーバーして、アクセスが中断されないようにします。ときどき、AWS は、仮想プライベートゲートウェイの定期メンテナンスも実行します。これにより、VPN 接続の 2 つのトンネルの 1 つが短時間無効になる場合があります。このメンテナンスの実行中、VPN 接続は自動的に 2 番目のトンネルにフェイルオーバーします。したがって、カスタマーゲートウェイデバイスを設定するときは、両方のトンネルを設定することが重要です。


				高レベルのカスタマーゲートウェイの概要

VPN 接続を設定する手順については、「開始方法」を参照してください。このプロセス中に、AWS でカスタマーゲートウェイリソースを作成します。このリソースは、デバイスのパブリック IP アドレスなど、デバイスに関する情報を AWS に提供します。詳細については、「Site-to-Site VPN 接続のカスタマーゲートウェイのオプション」を参照してください。AWS のカスタマーゲートウェイリソースは、カスタマーゲートウェイデバイスを設定または作成しません。このデバイスは、自分で設定する必要があります。

VPN 接続を作成した後、Amazon VPC コンソールから設定ファイルをダウンロードします。このファイルには、VPN 接続に固有の情報が含まれています。この情報を使用して、カスタマーゲートウェイデバイスを設定します。場合によっては、Amazon でテスト済みのデバイス用に、デバイス固有の設定ファイルが用意されています。それ以外の場合は、汎用設定ファイルをダウンロードできます。

Amazon でテスト済みのカスタマーゲートウェイデバイス

カスタマーゲートウェイデバイスは、物理アプライアンスにすることも、ソフトウェアアプライアンスにすることもできます。Amazon では、以下のデバイスの設定情報をテストし、提供しています。

  • Check Point Security Gateway (R77.10 以降のソフトウェアを実行)

  • Cisco ASA (Cisco ASA 8.2 以降のソフトウェアを実行)

  • Cisco IOS (Cisco IOS 12.4 以降のソフトウェアを実行)

  • SonicWALL(SonicOS 5.9(またはそれ以降)のソフトウェアを搭載)

  • Fortinet Fortigate 40+ シリーズ (FortiOS 4.0 以降のソフトウェアを実行)

  • Juniper J-Series (JunOS 9.5 以降のソフトウェアを実行)

  • Juniper SRX (JunOS 11.0 (またはそれ以降) のソフトウェアを搭載)

  • ScreenOS 6.1 もしくは 6.2 (またはそれ以降) を実行する Juniper SSG

  • ScreenOS 6.1 もしくは 6.2 (またはそれ以降) を実行する Juniper ISG

  • OS 2.2.5 (またはそれ以降) のソフトウェアを実行する Netgate pfSense。

  • Palo Alto Networks PANOS 4.1.2 (またはそれ以降) ソフトウェア

  • Yamaha RT107e、RTX1200、RTX1210、RTX1500、RTX3000、および SRT100 ルーター

  • Microsoft Windows Server 2008 R2 以降のソフトウェア

  • Microsoft Windows Server 2012 R2 以降のソフトウェア

  • 静的にルーティングされる VPN 接続用の Zyxel Zywall シリーズ 4.20 (またはそれ以降) ソフトウェア、または動的にルーティングされる VPN 接続用の 4.30 (またはそれ以降) ソフトウェア

これらのデバイスのいずれかを持っているものの、設定ファイルで示されているのとは異なる方法で IPsec 用に設定している場合は、お客様の特定のニーズに合わせて推奨設定を変更できます。

カスタマーゲートウェイデバイスの要件

上記のテスト済みデバイスの一覧にないデバイスを使用している場合、このセクションでは、デバイスを使用して Site-to-Site VPN 接続を確立するために必要なデバイスの要件について説明します。

カスタマーゲートウェイデバイスの設定には、4 つの主要部分があります。次の記号は、構成の各部分を表しています。

インターネットキー交換 (IKE) セキュリティアソシエーション。IPsec セキュリティアソシエーションを確立するために使用されるキーの交換に必要です。

IPsec セキュリティアソシエーション。これは、トンネルの暗号化、認証などを処理します。

トンネルインターフェイス。トンネルを通じて送受信されるトラフィックを受け取ります。

(オプション) Border Gateway Protocol (BGP) ピア接続。BGP を使用するデバイスの場合、カスタマーゲートウェイデバイスと仮想プライベートゲートウェイ間でルートを交換します。

次の表は、カスタマーゲートウェイデバイスの要件、関連する RFC (参照用)、および要件に関するコメントの一覧です。

各 VPN 接続は 2 つの個別のトンネルで構成されています。各トンネルには、IKE セキュリティアソシエーション、IPsec セキュリティアソシエーション、および BGP ピア接続が含まれています。トンネルごとに 1 つの一意のセキュリティアソシエーション (SA) ペア (受信用に 1 つと送信用に 1 つ) に制限されるため、2 つのトンネルで合計 2 つの一意の SA ペア (4 つの SA) になります。一部のデバイスは、ポリシーベースの VPN を使用して、ACL エントリと同数の SA を作成します。そのため、不要なトラフィックを許可しないように、ルールを統合してからフィルタリングする必要がある場合があります。

デフォルトでは、トラフィックが生成され、VPN 接続のユーザー側から IKE ネゴシエーションが開始されると、VPN トンネルが開始されます。VPN 接続の設定で、代わりに接続の AWS 側から IKE ネゴシエーションを開始するように指定することもできます。詳細については、「Site-to-Site VPN トンネル開始オプション」を参照してください。

VPN エンドポイントはキー再生成をサポートしており、カスタマーゲートウェイデバイスが再ネゴシエーショントラフィックを送信しなくなってフェーズ 1 の期限が切れそうになると、再ネゴシエーションを開始できます。

要件 RFC コメント

IKE セキュリティアソシエーションを確立する

RFC 2409

RFC 7296

IKE セキュリティアソシエーションは、事前共有キーまたは認証コードとして AWS Certificate Manager Private Certificate Authority を使用するプライベート証明書を使用して、仮想プライベートゲートウェイとカスタマーゲートウェイデバイスの間に最初に確立されます。IKE は確立されると、一時キーをネゴシエートして今後の IKE メッセージを保護します。暗号化パラメータや認証パラメータなど、パラメータ間で完全な合意が必要です。

AWS で VPN 接続を作成するとき、各トンネルのための独自の事前共有キーを指定するか、または AWS で新しい事前共有キーを生成できます。または、AWS Certificate Manager Private Certificate Authority を使用して、カスタマーゲートウェイデバイスで使用するようにプライベート証明書を指定することもできます。VPN トンネルの設定の詳細については、「Site-to-Site VPN 接続用のトンネルオプション」を参照してください。

IKEv1 および IKEv2 バージョンがサポートされています。

メインモードは IKEv1 でのみサポートされています。

Site-to-Site VPN サービスは、ルートベースのソリューションです。ポリシーベースの設定を使用する場合は、設定を 1 つのセキュリティアソシエーション (SA) に制限する必要があります。

トンネルモードで IPsec セキュリティアソシエーションを確立する

RFC 4301

IKE の一時キーを使用すると、IPsec セキュリティアソシエーション (SA) を形成するために、仮想プライベートゲートウェイとカスタマーゲートウェイデバイス間でキーが確立されます。この SA を使用して、ゲートウェイ間のトラフィックの暗号化および暗号化の解除を行います。IPsec SA 内のトラフィックの暗号化に使用される一時キーは、通信の機密性を確保するために、定期的なローテーションで IKE によって自動的に変更されます。

AES 128 ビット暗号化または AES 256 ビット暗号化関数を使用する

RFC 3602

この暗号化機能は、IKE と IPsec の両方のセキュリティアソシエーションでプライバシーを確保するために使用されます。

SHA-1 または SHA-2 (256) ハッシュ関数を使用する

RFC 2404

このハッシュ関数は、IKE と IPsec の両方のセキュリティアソシエーションを認証するために使用されます。

Diffie-Hellman Perfect Forward Secrecy を使用する。

RFC 2409

IKE は、カスタマーゲートウェイデバイスと仮想プライベートゲートウェイ間のすべての通信を保護するために、Diffie-Hellman を使用して一時キーを確立します。

以下のグループがサポートされます。

  • フェーズ 1 グループ: 2、14~24

  • フェーズ 2 グループ: 2、5、14~24

暗号化前に IP パケットをフラグメント化する

RFC 4459

パケットが送信するには大きすぎる場合は、フラグメント化する必要があります。フラグメント化されて暗号化されたパケットは、再アセンブルされません。したがって、VPN デバイスは、VPN ヘッダーでカプセル化する前にパケットをフラグメント化する必要があります。フラグメントはリモートホストに個別に送信され、そこで再アセンブルされます。

(動的にルーティングされた VPN 接続) IPsec Dead Peer Detection を使用する

RFC 3706

Dead Peer Detection を使用すると、VPN デバイスは、ネットワークの状態によりインターネットでのパケット配信が妨げられていることをすばやく特定できます。この場合、ゲートウェイはセキュリティアソシエーションを削除し、新しいアソシエーションを作成しようとします。このプロセス中、可能であれば、代わりの IPsec トンネルが使用されます。

(動的にルーティングされた VPN 接続) トンネルを論理インターフェイスにバインドする (ルートベースの VPN)

なし

デバイスは、IPsec トンネルを論理インターフェイスにバインドできる必要があります。論理インターフェイスには、仮想プライベートゲートウェイへの BGP ピア接続を確立するために使用される IP アドレスが含まれています。この論理インターフェイスは、追加のカプセル化 (たとえば、GRE、IP in IP) を実行しないでください。インターフェイスは、1399 バイトの最大送信単位 (MTU) に設定する必要があります。

(動的にルーティングされた VPN 接続) BGP ピア接続を確立する

RFC 4271

BGP は、カスタマーゲートウェイデバイスと BGP を使用するデバイスの仮想プライベートゲートウェイ間でルートを交換するために使用されます。すべての BGP トラフィックは、IPsec Security Association を通じて暗号化され、送信されます。BGP は、両方のゲートウェイが IPsec SA を通じて到達可能な IP プレフィックスを交換するために必要です。

接続はパケットを追加のネットワークヘッダー (IPsec を含む) でカプセル化するため、1 つのパケットで送信できるデータの量は減少します。IPsec トンネルを介して送信できるデータ量に関連する問題を最小限にするために、次の表で挙げられている手法を使用することをお勧めします。

手法 RFC コメント

VPN トンネルに入る TCP パケットの最大セグメントサイズ (MSS) を調整する

RFC 4459

多くの場合、TCP パケットは IPsec トンネル間で最も一般的なタイプのパケットです。一部のゲートウェイでは、TCP パケットの最大セグメントサイズ (MSS) のパラメータを変更できます。これにより、TCP エンドポイント (クライアント、サーバー) は、各パケットで送信されるデータの量を減らします。VPN デバイスに届くパケットが小さくなってカプセル化および送信が可能になるため、これは最適な方法です。

SHA2-384 または SHA2-512 ハッシュアルゴリズムを使用する場合は、カスタマーゲートウェイデバイスの MSS を 1359 に設定することをお勧めします。この設定は、より大きいヘッダーに対応するために必要です。

パケットの "フラグメント化しない" フラグをリセットする

RFC 791

一部のパケットには、フラグメント化しない (DF) と呼ばれるフラグがあり、パケットがフラグメント化されないように指示することができます。パケットにフラグが設定されていれば、ゲートウェイは ICMP Path MTU Exceeded メッセージを生成します。場合によっては、これらの ICMP メッセージを処理し、各パケットで送信されるデータの量を削減するための適切な仕組みがアプリケーションに備わっていません。一部の VPN デバイスでは、必要に応じて DF フラグをオーバーライドし、無条件でパケットをフラグメント化できます。カスタマーゲートウェイデバイスにこの機能がある場合は、必要に応じてこの機能を使用することをお勧めします。

AWS VPN 接続は、パス MTU 検出 (RFC 1191) をサポートしていません。

カスタマーゲートウェイデバイスとインターネット間にファイアウォールがある場合は、「インターネットとカスタマーゲートウェイデバイス間のファイアウォールの設定」を参照してください。

インターネットとカスタマーゲートウェイデバイス間のファイアウォールの設定

カスタマーゲートウェイデバイスを仮想プライベートゲートウェイに接続する IPsec トンネルのエンドポイントとして使用するには、インターネットでルーティングが可能な IP アドレスが必要です。ファイアウォールがインターネットとゲートウェイ間にある場合、IPsec トンネルを確立するには、以下の表のルールに従う必要があります。仮想プライベートゲートウェイアドレスは設定ファイルにあります。

入力ルール I1

送信元 IP

仮想プライベートゲートウェイ 1

送信先 IP

カスタマーゲートウェイ

プロトコル

UDP

ソースポート

500

送信先

500

入力ルール I2

送信元 IP

仮想プライベートゲートウェイ 2

送信先 IP

カスタマーゲートウェイ

プロトコル

UDP

ソースポート

500

発信先ポート

500

入力ルール I3

送信元 IP

仮想プライベートゲートウェイ 1

送信先 IP

カスタマーゲートウェイ

プロトコル

IP 50 (ESP)

入力ルール I4

送信元 IP

仮想プライベートゲートウェイ 2

送信先 IP

カスタマーゲートウェイ

プロトコル

IP 50 (ESP)

出力ルール O1

送信元 IP

カスタマーゲートウェイ

送信先 IP

仮想プライベートゲートウェイ 1

プロトコル

UDP

ソースポート

500

発信先ポート

500

出力ルール O2

送信元 IP

カスタマーゲートウェイ

送信先 IP

仮想プライベートゲートウェイ 2

プロトコル

UDP

ソースポート

500

発信先ポート

500

出力ルール O3

送信元 IP

カスタマーゲートウェイ

送信先 IP

仮想プライベートゲートウェイ 1

プロトコル

IP 50 (ESP)

出力ルール O4

送信元 IP

カスタマーゲートウェイ

送信先 IP

仮想プライベートゲートウェイ 2

プロトコル

IP 50 (ESP)

ルール I1、I2、O1、および O2 は、IKE パケットの送信を有効にします。ルール I3、I4、O3、および O4 は、暗号化されたネットワークトラフィックを含む IPsec パケットの送信を有効にします。

デバイスで NAT トラバーサル (NAT-T) を使用している場合、ポート 4500 経由で UDP アクセスを許可するルールを含める必要があります。デバイスが NAT-T をアドバタイズしているかどうかを確認します。

複数の VPN 接続シナリオ

次に、1 つ以上のカスタマーゲートウェイデバイスを使用して複数の VPN 接続を作成するシナリオを示します。

同じカスタマーゲートウェイデバイスを使用した複数の VPN 接続

同じカスタマーゲートウェイデバイスを使用して、オンプレミスの場所から他の VPC に追加の VPN 接続を作成できます。それらの VPN 接続ごとに同じカスタマーゲートウェイ IP アドレスを再利用できます。

2 番目のカスタマーゲートウェイデバイスを使用した冗長 VPN 接続

カスタマーゲートウェイデバイスが使用できなくなった場合に接続が失われるのを防ぐために、2 番目のカスタマーゲートウェイデバイスを使用して、2 番目の VPN 接続を設定できます。詳細については、「冗長な Site-to-Site VPN 接続を使用してフェイルオーバーを提供する」を参照してください。1 つの場所に冗長なカスタマーゲートウェイデバイスを確立した場合は、両方のデバイスが同じ IP 範囲をアドバタイズする必要があります。

単一の仮想プライベートゲートウェイ (AWS VPN CloudHub) への複数のカスタマーゲートウェイデバイス

複数のカスタマーゲートウェイデバイスから。単一の仮想プライベートゲートウェイに対して、複数の VPN 接続を確立できます。これにより、複数のロケーションを AWS VPN CloudHub に接続できます。詳細については、「VPN CloudHub を使用して安全なサイト間通信を提供する」を参照してください。複数の地理的ロケーションにカスタマーゲートウェイエバイスがある場合、各デバイスは、ロケーションに固有の一意な IP 範囲のセットをアドバタイズする必要があります。

カスタマーゲートウェイデバイスのルーティング

AWS は、仮想プライベートゲートウェイのルーティングの決定に影響を与えるために、BGP ルートをより具体的にアドバタイズすることをお勧めしています。お使いのデバイス特有のコマンドについては、ベンダーのマニュアルを参照してください。

複数の VPN 接続を作成すると、仮想プライベートゲートウェイは静的に割り当てられたルートを使用するか、BGP ルートアドバタイズを使用して、適切な VPN 接続にネットワークトラフィックを送信します。どちらのルートを使用するかは、VPN 接続がどのように設定されているかによって決まります。仮想プライベートゲートウェイに同一のルートが存在している場合は、BGP でアドバタイズされるルートよりも、静的に割り当てられたルートの方が適しています。BGP アドバタイズを使用するオプションを選択している場合は、静的ルートを指定できません。

ルーティングの優先度の詳細については、「ルートテーブルと VPN ルーティングの優先度」 を参照してください。