カスタマーゲートウェイデバイス
カスタマーゲートウェイデバイスは、オンプレミスネットワーク (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 接続を作成すると、Amazon VPC コンソールから、または EC2 API を使用して、AWS が提供するサンプル設定ファイルをダウンロードするオプションが追加されます。詳細については、「設定ファイルをダウンロードする」を参照してください。静的ルーティングと動的ルーティング専用のサンプル設定の.zip ファイルをダウンロードすることもできます。
AWS が提供するサンプル設定ファイルには、カスタマーゲートウェイデバイスの設定に使用できる VPN 接続に固有の情報が含まれています。場合によっては、AWS でテスト済みのデバイス用に、デバイス固有の設定ファイルが用意されています。特定のカスタマーゲートウェイデバイスが一覧に表示されていない場合は、汎用設定ファイルをダウンロードして開始できます。
重要
この設定ファイルはあくまでも一例です。お客様が想定する 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 によってテストされていますが、このテストは限られています。設定ファイルに問題がある場合は、特定のベンダーに問い合わせて、追加のサポートを依頼する必要があります。
次の表に、IKEv2 をサポートするように更新された、ダウンロード可能な設定ファイルの例があるデバイスのリストを示します。多くの一般的なカスタマーゲートウェイデバイスの設定ファイルに IKEv2 サポートが導入されており、時間の経過とともにファイルを追加していきます。このリストは、設定ファイルの例が追加されると更新されます。
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 セキュリティアソシエーションを確立する
|
IKE セキュリティアソシエーションは、事前共有キーまたは認証コードとして AWS Private Certificate Authority を使用するプライベート証明書を使用して、仮想プライベートゲートウェイとカスタマーゲートウェイデバイスの間に最初に確立されます。IKE は確立されると、一時キーをネゴシエートして今後の IKE メッセージを保護します。暗号化パラメータや認証パラメータなど、パラメータ間で完全な合意が必要です。 AWS で VPN 接続を作成するとき、各トンネルのための独自の事前共有キーを指定するか、または AWS で新しい事前共有キーを生成できます。または、AWS Private Certificate Authority を使用して、カスタマーゲートウェイデバイスで使用するようにプライベート証明書を指定することもできます。VPN トンネルの設定の詳細については、「Site-to-Site VPN 接続のトンネルオプション」を参照してください。 IKEv1 および IKEv2 バージョンがサポートされています。 メインモードは IKEv1 でのみサポートされています。 Site-to-Site VPN サービスは、ルートベースのソリューションです。ポリシーベースの設定を使用する場合は、設定を 1 つのセキュリティアソシエーション (SA) に制限する必要があります。 |
|
トンネルモードで IPsec セキュリティアソシエーションを確立する
|
IKE の一時キーを使用すると、IPsec セキュリティアソシエーション (SA) を形成するために、仮想プライベートゲートウェイとカスタマーゲートウェイデバイス間でキーが確立されます。この SA を使用して、ゲートウェイ間のトラフィックの暗号化および暗号化の解除を行います。IPsec SA 内のトラフィックの暗号化に使用される一時キーは、通信の機密性を確保するために、定期的なローテーションで IKE によって自動的に変更されます。 |
|
AES 128 ビット暗号化または AES 256 ビット暗号化関数を使用する |
この暗号化機能は、IKE と IPsec の両方のセキュリティアソシエーションでプライバシーを確保するために使用されます。 |
|
SHA-1 または SHA-2 (256) ハッシュ関数を使用する |
このハッシュ関数は、IKE と IPsec の両方のセキュリティアソシエーションを認証するために使用されます。 |
|
Diffie-Hellman Perfect Forward Secrecy を使用する。 |
IKE は、カスタマーゲートウェイデバイスと仮想プライベートゲートウェイ間のすべての通信を保護するために、Diffie-Hellman を使用して一時キーを確立します。 以下のグループがサポートされます。
|
|
(動的にルーティングされた VPN 接続) IPsec Dead Peer Detection を使用する |
Dead Peer Detection を使用すると、VPN デバイスは、ネットワークの状態によりインターネットでのパケット配信が妨げられていることをすばやく特定できます。この場合、ゲートウェイはセキュリティアソシエーションを削除し、新しいアソシエーションを作成しようとします。このプロセス中、可能であれば、代わりの IPsec トンネルが使用されます。 |
|
(動的にルーティングされた VPN 接続) トンネルを論理インターフェイスにバインドする (ルートベースの VPN)
|
[None] (なし) |
デバイスは、IPsec トンネルを論理インターフェイスにバインドできる必要があります。論理インターフェイスには、仮想プライベートゲートウェイへの BGP ピア接続を確立するために使用される IP アドレスが含まれています。この論理インターフェイスは、追加のカプセル化 (たとえば、GRE、IP in IP) を実行しないでください。インターフェイスは、1399 バイトの最大送信単位 (MTU) に設定する必要があります。 |
(動的にルーティングされた VPN 接続) BGP ピア接続を確立する
|
BGP は、カスタマーゲートウェイデバイスと BGP を使用するデバイスの仮想プライベートゲートウェイ間でルートを交換するために使用されます。すべての BGP トラフィックは、IPsec Security Association を通じて暗号化され、送信されます。BGP は、両方のゲートウェイが IPsec SA を通じて到達可能な IP プレフィックスを交換するために必要です。 |
AWS VPN 接続は、パス MTU 検出 (RFC 1191
カスタマーゲートウェイデバイスとインターネット間にファイアウォールがある場合は、「インターネットとカスタマーゲートウェイデバイス間のファイアウォールの設定」を参照してください。
カスタマーゲートウェイデバイスのベストプラクティス
パケットの [フラグメント化しない] フラグをリセットする
一部のパケットには、フラグメント化しない (DF) と呼ばれるフラグがあり、パケットがフラグメント化されないように指示することができます。パケットにフラグが設定されていれば、ゲートウェイは ICMP Path MTU Exceeded メッセージを生成します。場合によっては、これらの ICMP メッセージを処理し、各パケットで送信されるデータの量を削減するための適切な仕組みがアプリケーションに備わっていません。一部の VPN デバイスでは、必要に応じて DF フラグをオーバーライドし、無条件でパケットをフラグメント化できます。カスタマーゲートウェイデバイスにこの機能がある場合は、必要に応じてこの機能を使用することをお勧めします。詳細については「RFC 791
暗号化前に IP パケットをフラグメント化する
パフォーマンスの低下を防ぐため、暗号化する前にパケットをフラグメント化することを強く推奨します。パケットが送信するには大きすぎる場合は、フラグメント化する必要があります。フラグメント化する必要がある場合は、VPN ヘッダーでカプセル化する前にパケットをフラグメント化するように VPN デバイスを設定することをお勧めします。詳細については「RFC 4459
使用中のアルゴリズムに従って MTU および MSS サイズを調整する
多くの場合、TCP パケットは IPsec トンネル間で最も一般的なタイプのパケットです。Site-to-Site VPN は 1446 バイトの最大伝送ユニット(MTU)と 1406 バイトの対応する最大セグメントサイズ(MSS)をサポートします。ただし、暗号化アルゴリズムにはさまざまなヘッダーサイズがあり、これらの最大値を達成できない可能性があります。フラグメンテーションを回避して最適なパフォーマンスを得るには、使用するアルゴリズムに基づいて MTU と MSS を設定することをお勧めします。
次の表を使用して、フラグメンテーションを回避し、最適なパフォーマンスを実現するように MTU/MSS を設定します。
暗号化アルゴリズム | ハッシュ生成アルゴリズム | NAT トラバーサル | MTU | MSS (IPv4) | MSS (IPv6-in-IPv4) |
---|---|---|---|---|---|
AES-GCM-16 |
該当なし |
無効 |
1446 |
1406 |
1386 |
AES-GCM-16 |
該当なし |
有効 |
1438 |
1398 |
1378 |
AES-CBC |
SHA1/SHA2-256 |
無効 |
1438 |
1398 |
1378 |
AES-CBC |
SHA1/SHA2-256 |
有効 |
1422 |
1382 |
1362 |
AES-CBC |
SHA2-384 |
無効 |
1422 |
1382 |
1362 |
AES-CBC |
SHA2-384 |
有効 |
1422 |
1382 |
1362 |
AES-CBC |
SHA2-512 |
無効 |
1422 |
1382 |
1362 |
AES-CBC |
SHA2-512 |
有効 |
1406 |
1366 |
1346 |
注記
AES-GCM アルゴリズムは暗号化と認証の両方をカバーするため、MTU に影響する明確な認証アルゴリズムの選択はありません。
インターネットとカスタマーゲートウェイデバイス間のファイアウォールの設定
カスタマーゲートウェイデバイスと AWS Site-to-Site VPN エンドポイントを接続する IPsec トンネルのエンドポイントとして使用するために、静的 IP アドレスを用意する必要があります。ファイアウォールが AWS とカスタマーゲートウェイデバイス間にある場合、IPsec トンネルを確立するには、以下の表のルールに従う必要があります。AWS 側の IP アドレスは設定ファイルにあります。
入力ルール I1 |
|
---|---|
[Source IP] (送信元 IP) |
仮想プライベートゲートウェイ 1 |
送信先 IP |
カスタマーゲートウェイ |
プロトコル |
UDP |
ソースポート |
500 |
送信先 |
500 |
入力ルール I2 |
|
[Source IP] (送信元 IP) |
仮想プライベートゲートウェイ 2 |
送信先 IP |
カスタマーゲートウェイ |
プロトコル |
UDP |
ソースポート |
500 |
発信先ポート |
500 |
入力ルール I3 |
|
[Source IP] (送信元 IP) |
仮想プライベートゲートウェイ 1 |
送信先 IP |
カスタマーゲートウェイ |
プロトコル |
IP 50 (ESP) |
入力ルール I4 |
|
[Source IP] (送信元 IP) |
仮想プライベートゲートウェイ 2 |
送信先 IP |
カスタマーゲートウェイ |
プロトコル |
IP 50 (ESP) |
出力ルール O1 |
|
---|---|
[Source IP] (送信元 IP) |
カスタマーゲートウェイ |
送信先 IP |
仮想プライベートゲートウェイ 1 |
プロトコル |
UDP |
ソースポート |
500 |
発信先ポート |
500 |
出力ルール O2 |
|
[Source IP] (送信元 IP) |
カスタマーゲートウェイ |
送信先 IP |
仮想プライベートゲートウェイ 2 |
プロトコル |
UDP |
ソースポート |
500 |
発信先ポート |
500 |
出力ルール O3 |
|
[Source IP] (送信元 IP) |
カスタマーゲートウェイ |
送信先 IP |
仮想プライベートゲートウェイ 1 |
プロトコル |
IP 50 (ESP) |
出力ルール O4 |
|
[Source IP] (送信元 IP) |
カスタマーゲートウェイ |
送信先 IP |
仮想プライベートゲートウェイ 2 |
プロトコル |
IP 50 (ESP) |
ルール I1、I2、O1、および O2 は、IKE パケットの送信を有効にします。ルール I3、I4、O3、および O4 は、暗号化されたネットワークトラフィックを含む IPsec パケットの送信を有効にします。
注記
デバイスで NAT トラバーサル (NAT-T) を使用している場合、ポート 4500 の UDP トラフィックもネットワークと AWS Site-to-Site VPN エンドポイント間を通過できるようにしてください。デバイスが 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 ルーティングの優先度」 を参照してください。