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

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

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

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


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

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

AWS Marketplace でソフトウェア VPN アプライアンスを検索することもできます。

設定ファイルの例

VPN 接続を作成すると、Amazon VPC コンソールから、または EC2 API を使用して、AWS が提供するサンプル設定ファイルをダウンロードするオプションが追加されます。詳細については、「設定ファイルをダウンロードする」を参照してください。静的ルーティングと動的ルーティング専用のサンプル設定の.zipファイルをダウンロードすることもできます。

.zip ファイルをダウンロード

AWS が提供するサンプル設定ファイルには、カスタマーゲートウェイデバイスの設定に使用できる VPN 接続に固有の情報が含まれています。場合によっては、AWS でテスト済みのデバイス用に、デバイス固有の設定ファイルが用意されています。特定のカスタマーゲートウェイデバイスが一覧に表示されていない場合は、汎用設定ファイルをダウンロードして開始できます。

次の表に、IKEv2 をサポートするように更新された、ダウンロード可能な設定ファイルの例があるデバイスのリストを示します。多くの一般的なカスタマーゲートウェイデバイスの設定ファイルに IKEv2 サポートが導入されており、時間の経過とともにファイルを追加していきます。このリストは、設定ファイルの例が追加されると更新されます。

重要

この設定ファイルはあくまでも一例です。お客様が想定する Site-to-Site VPN 接続設定とは一致しない場合があります。これは、ほとんどの AWS リージョンで AES128、SHA1、およびDiffie-Hellman グループ 2、AWS GovCloud リージョンで AES128、SHA2、および Diffie-Hellman グループ 14 の Site-to-Site VPN 接続の最小要件を指定します。また、認証用の事前共有キーも指定します。追加のセキュリティアルゴリズム、Diffie-Hellman グループ、プライベート証明書、IPv6 トラフィックを活用するには、サンプル設定ファイルを変更する必要があります。

注記

これらのデバイス固有の設定ファイルは AWS によって、ベストエフォートベースで提供されています。AWS によってテストされていますが、このテストは限られています。設定ファイルに問題がある場合は、特定のベンダーに問い合わせて、追加のサポートを依頼する必要があります。

Vendor プラットフォーム ソフトウェア

Checkpoint

Gaia

R80.10+

Cisco Meraki

MX シリーズ

15.12+ (WebUI)

Cisco Systems, Inc.

ASA 5500 シリーズ

ASA 9.7+ VTI

Cisco Systems, Inc.

CSRv AMI

IOS 12.4 以降

Fortinet

FortiGate 40+ シリーズ

FortiOS 6.4.4+ (GUI)

Juniper Networks, Inc.

J シリーズルーター

JunOS 9.5 以降

Juniper Networks, Inc.

SRX ルーター

JunOS 11.0以降

Mikrotik

RouterOS

6.44.3

Palo Alto Networks

PA シリーズ

PANOS 7.0 以降

SonicWall

NSA、TZ

OS 6.5

Sophos

Sophos ファイアウォール

v19+

Strongswan

Ubuntu 16.04

Strongswan 5.5.1+

Yamaha

RTX ルーター

Rev.10.01.16 以降

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

上記の例の一覧にないデバイスを使用している場合、このセクションでは、デバイスを使用して 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 ルーティングの優先度」 を参照してください。