Amazon Virtual Private Cloud
ネットワーク管理者ガイド

カスタマーゲートウェイ

カスタマーゲートウェイの概要

Amazon VPC VPN 接続では、データセンター (またはネットワーク) を Amazon VPC 仮想プライベートクラウド (VPC) にリンクします。カスタマーゲートウェイは、その接続の作業者側のアンカーです。物理的アプライアンスにすることも、ソフトウェア的アプライアンスにすることもできます。VPN 接続の AWS 側のアンカーは、仮想プライベートゲートウェイと呼ばれます。

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


				基本的な VPN の図

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

VPN 接続を作成すると、VPN 接続のユーザー側からトラフィックが生成されると VPN トンネルが開始されます。仮想プライベートゲートウェイはイニシエータではないため、カスタマーゲートウェイがトンネルを開始する必要があります。AWS VPN エンドポイントはキー更新をサポートしており、カスタマーゲートウェイが再ネゴシエーショントラフィックを送信しなくなってフェーズ 1 の期限が切れそうになると、再ネゴシエーションを開始できます。

VPN 接続のコンポーネントに関する詳細については、AWS Site-to-Site VPN ユーザーガイドの「VPN 接続」を参照してください。

カスタマーゲートウェイが使用できなくなった場合に接続が失われるのを防ぐために、2 つ目の VPN 接続をセットアップできます。冗長な接続の詳細については、AWS Site-to-Site VPN ユーザーガイドの「フェイルオーバーを提供するための冗長な VPN 接続の使用」を参照してください。

担当

このガイドでは、会社の "統合チーム" について言及しています。これは、社内でインフラストラクチャを Amazon VPC と統合するための作業を行う人 (人たち) のことです。このチーム (お客様が含まれる場合とそうでない場合がある) は、AWS マネジメントコンソールを使用して VPN 接続を作成し、カスタマーゲートウェイの設定に必要になる情報を取得します。お客様によっては、社内にタスク別のチーム (AWS マネジメントコンソール を使用する統合チーム) を設けている場合があります。それらのチームには、ネットワークデバイスに対するアクセス許可を持ちカスタマーゲートウェイを設定するネットワークエンジニアリンググループが含まれている場合があります。このガイドでは、読者がネットワークエンジニアリンググループの一員であり、会社の統合チームから情報を受け取って、カスタマーゲートウェイデバイスを設定できる人物であると想定しています。

VPN 接続の設定の概要

AWS で VPN 接続をセットアップするプロセスについては、Amazon VPC ユーザーガイドで説明されています。全体のプロセスのタスクの 1 つに、カスタマーゲートウェイの設定があります。VPN 接続を作成するため、AWS ではカスタマーゲートウェイに関する情報が必要であり、お客様はカスタマーゲートウェイデバイス自体を設定する必要があります。

VPN 接続を設定するには、以下の一般的な手順に従います。

  1. カスタマーゲートウェイとして動作するアプライアンスを指定します。詳細については、「Amazon でテスト済みのカスタマーゲートウェイデバイス」および「カスタマーゲートウェイの要件」を参照してください。

  2. 必要な ネットワーク情報 を取得し、AWS で VPN 接続を作成するチームに、この情報を提供します。

  3. AWS で VPN 接続を作成し、カスタマーゲートウェイの設定ファイルを取得します。AWS VPN 接続を設定する方法の詳細については、AWS Site-to-Site VPN ユーザーガイドの「AWS VPN 接続のセットアップ」を参照してください

  4. 設定ファイルの情報を使用して、カスタマーゲートウェイを設定します。このガイドに例を用意しています。

  5. VPN 接続のユーザー側からトラフィックを生成し、VPN トンネルを起動します。

ネットワーク情報

AWS で VPN 接続を作成するには、次の情報が必要です。

項目 コメント
カスタマーゲートウェイベンダー (たとえば Cisco)、プラットフォーム (たとえば ISR シリーズルーター)、およびソフトウェアバージョン (たとえば IOS 12.4) この情報はカスタマーゲートウェイの設定ファイルを生成するのに使用されます。
カスタマーゲートウェイデバイスの外部インターフェイスのインターネットルーティングが可能な IP アドレス。

値は静的である必要があります。カスタマーゲートウェイがネットワークアドレス変換 (NAT) を実行するデバイスの背後にある場合は、NAT デバイスのパブリック IP アドレスを使用します。

ソース NAT の場合、カスタマーゲートウェイのパブリック IP アドレスを、VPN トンネル経由で送信されるパケットのソース IP アドレスとして使用しないでください。その代わりに、使用中でない別の IP アドレスを使用します。

(オプション) カスタマーゲートウェイのボーダーゲートウェイプロトコル (BGP) 自律システム番号 (ASN)。 ネットワークに割り当てられている既存の ASN を使用できます。既存の ASN がない場合は、プライベート ASN (64512 から 65534 までの範囲) を使用できます。それ以外の場合は、カスタマーゲートウェイの BGP ASN が 65000 であることが前提となります。

(オプション) Amazon 側の BGP セッションのためのカスタムプライベート ASN。

仮想プライベートゲートウェイを作成するときに指定します。値を指定していない場合、デフォルトの ASN が適用されます。詳細については、「仮想プライベートゲートウェイ」を参照してください。

(オプション) 各 VPN トンネルのトンネル情報

以下の VPN 接続のトンネル情報を指定できます。

  • トンネル内部の CIDR

  • 仮想プライベートゲートウェイとカスタマーゲートウェイ間に最初の IKE Security Association を確立するための事前共有キー。

VPN トンネルを設定する方法の詳細については、AWS Site-to-Site VPN ユーザーガイドの「VPN 接続用に VPN トンネルを設定する」を参照してください

カスタマーゲートウェイの設定ファイルには、上記の項目に指定する値が含まれます。また、仮想プライベートゲートウェイの外部 IP アドレスを含む、VPN トンネルを設定するために必要な追加の値が含まれます。この値は AWS の VPN 接続を作り直さない限り固定です。

AWS VPN CloudHub と冗長なカスタマーゲートウェイ

複数のカスタマーゲートウェイから単一の仮想プライベートゲートウェイに対して複数の VPN 接続を確立できます。この設定は、さまざまな方法で使用できます。データセンターと VPC 間に冗長なカスタマーゲートウェイを設置したり、複数の場所に AWS VPN CloudHub を接続したりできます。

冗長なカスタマーゲートウェイがある場合、各カスタマーゲートウェイは仮想プライベートゲートウェイに同じプレフィックス (たとえば、0.0.0.0/0) をアドバタイズします。当社は BGP ルーティングを使用してトラフィックのパスを特定しています。1 つのカスタマーゲートウェイが失敗した場合、仮想プライベートゲートウェイがすべてのトラフィックを動作中のカスタマーゲートウェイに送信します。

AWS VPN CloudHub 設定を使用する場合、複数のサイトは VPC にアクセスするか、シンプルなハブアンドスポークモデルを使用して互いに安全にアクセスします。仮想プライベートゲートウェイにサイト固有のプレフィックス (10.0.0.0/24、10.0.1.0/24 など) をアドバタイズするように、各カスタマーゲートウェイを設定します。仮想プライベートゲートウェイは適切なサイトにトラフィックをルーティングし、1 つのサイトから他のすべてのサイトへの接続性をアドバタイズします。

AWS VPN CloudHub を設定するには、Amazon VPC コンソールを使用して、複数のカスタマーゲートウェイを作成します。このそれぞれに、ゲートウェイのパブリック IP アドレスがあります。それぞれに一意のボーダーゲートウェイプロトコル (BGP) 自律システム番号 (ASN) を使用する必要があります。次に、各カスタマーゲートウェイから一般的な仮想プライベートゲートウェイへの VPN 接続を作成します。以下の手順に従って、仮想プライベートゲートウェイに接続するように各カスタマーゲートウェイを設定します。

VPC のインスタンスが仮想プライベートゲートウェイ (次いで、カスタマーゲートウェイ) に接続できるようにするには、VPC ルーティングテーブルでルートを設定する必要があります。詳細な手順については、AWS Site-to-Site VPN ユーザーガイドの「VPN 接続」を参照してください。AWS VPN CloudHub では、VPC ルーティングテーブルに集約ルート (10.0.0.0/16 など) を設定できます。カスタマーゲートウェイと仮想プライベートゲートウェイ間により具体的なプレフィックスを使用します。

VPC への複数の VPN 接続の設定

VPC 用に最大で 10 個の VPN 接続を作成できます。複数のリモートオフィスを同じ VPC にリンクするために、複数の VPN 接続を使用できます。例えば、ロサンゼルス、シカゴ、ニューヨーク、およびマイアミにオフィスがある場合は、それぞれのオフィスを VPC に接続することができます。また、1 つの場所からの冗長なカスタマーゲートウェイを確立するためにも、複数の VPN 接続を使用できます。

注記

10 個を超える VPN 接続が必要な場合は、Amazon VPC 制限の引き上げをリクエストするフォームに入力して、制限の引き上げをリクエストします。

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

複数の地理的ロケーションにカスタマーゲートウェイがある場合、各カスタマーゲートウェイは、ロケーションに固有の一意な IP 範囲のセットをアドバタイズする必要があります。1 つの場所に冗長なカスタマーゲートウェイを確立した場合は、両方のゲートウェイが同じ IP 範囲をアドバタイズする必要があります。

仮想プライベートゲートウェイは、すべてのカスタマーゲートウェイからルーティング情報を受け取り、BGP の最良パス選択アルゴリズムを使用して望ましいパスのセットを計算します。このアルゴリズムのルールは、VPC に適用される場合、次のようになります。

  1. 最も具体的な IP プレフィックスが優先されます (たとえば、10.0.0.0/24 は 10.0.0.0/16 よりも優先されます)。詳細については、『Amazon VPC ユーザーガイド』の「ルーティングの優先度」を参照してください。

  2. プレフィックスが同じである場合は、静的に設定された VPN 接続があれば、それが優先されます。各 VPN 接続が BGP を使用しているプレフィックスのマッチングでは、AS PATH が比較され、最短の AS PATH を持っているプレフィックスが優先されます。また、パスの優先度が低くなるように、AS_PATH を前に追加できます。

  3. AS PATH の長さが同じ場合は、パスのオリジンが比較されます。不明なオリジンのプレフィックスよりも Exterior Gateway Protocol (EGP) オリジンのプレフィックスが優先され、それよりも Interior Gateway Protocol (IGP) オリジンのプレフィックスが優先されます。

次の図は、複数の VPN の設定を示しています。


					複数 VPN のレイアウト

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

カスタマーゲートウェイは、物理アプライアンスにすることも、ソフトウェアアプライアンスにすることもできます。

このガイドでは、以下のテスト済みデバイスの設定方法に関する情報を提供します。

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

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

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

  • Dell 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 用に設定されている場合は、自分の特定のニーズに合わせて推奨設定を自由に変更してかまいません。

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

カスタマーゲートウェイの設定には、4 つの主要部分があります。このガイドでは、必要な操作がわかりやすくなるように、各部分に対して記号を使用します。次の表は、4 つの部分と、対応する記号を示しています。

IKE Security Association (IPsec Security Association を確立するために使用されるキーの交換に必要です)

IPsec Security Association (トンネルの暗号化、認証などを処理します)

トンネルインターフェイス (トンネルを行き来するトラフィックを受け取ります)

オプション

BGP を使用するデバイスの BGP ピア (カスタマーゲートウェイと仮想プライベートゲートウェイ間でルートを交換します)

上記のテスト済みデバイスの一覧にないデバイスを持っている場合のために、このセクションでは、Amazon VPC とともに使用するためのデバイスの要件について説明します。次の表は、カスタマーゲートウェイが準拠する必要がある要件、関連する RFC(参照用)、および要件に関するコメントの一覧です。デバイスがテスト済みの Cisco または Juniper デバイスのいずれかでない場合の設定情報の例については、「例: ボーダーゲートウェイプロトコルを使用した一般的なカスタマーゲートウェイ」を参照してください。

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

VPN トンネルは、VPN 接続のユーザー側からトラフィックが生成されると開始されます。AWS エンドポイントはイニシエータではありません。カスタマーゲートウェイがトンネルを開始する必要があります。

要件 RFC コメント

事前共有キーを使用して、IKE セキュリティ接続を確立する

RFC 2409

RFC 7296

最初に、事前共有キーを認証コードとして使用して、仮想プライベートゲートウェイとカスタマーゲートウェイ間に IKE Security Association が確立されます。確立後、今後の IKE メッセージを保護するために一時キーのネゴシエーションを行います。IKE Security Association を適切に確立するには、暗号化や認証のパラメータなどのパラメータ間で、完全な一致が必要です。

AWS で VPN 接続を作成するとき、各トンネルのための独自の事前共有キーを指定するか、または AWS で新しい事前共有キーを生成できます。VPN トンネルを設定する方法の詳細については、AWS Site-to-Site VPN ユーザーガイドの「VPN 接続用に VPN トンネルを設定する」を参照してください。

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

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

トンネルモードで、IPsec セキュリティ接続を確立する

RFC 4301

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

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

RFC 3602

この暗号化関数は、IKE と IPsec の両方の SA でプライバシーを確保するために使用されます。

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

RFC 2404

このハッシュ関数は、IKE と IPsec の両方の SA を認証するために使用されます。

Diffie-Hellman Perfect Forward Secrecy を使用する。以下のグループがサポートされます。

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

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

RFC 2409

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

IPsec Dead Peer Detection を使用する

RFC 3706

Dead Peer Detection を使用すると、VPN デバイスは、インターネットを通じたパケットの配信がネットワーク状態によって妨げられている場合をすばやく特定できます。このような状況になったとき、ゲートウェイは Security Associations を削除し、新しい関連付けを作成しようとします。このプロセス中、可能であれば、代わりの IPsec トンネルが使用されます。

トンネルを論理インターフェイスに結合する (経路ベースのVPN)

なし

ゲートウェイは、論理インターフェイスに IPsec トンネルを結合する能力をサポートする必要があります。論理インターフェイスには、仮想プライベートゲートウェイへの BGP ピアを確立するために使用される IP アドレスが含まれています。この論理インターフェイスは、追加のカプセル化 (たとえば、GRE、IP in IP) を行ってはいけません。インターフェイスは、1399 バイトの最大送信単位 (MTU) に設定する必要があります。

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

RFC 4459

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

(オプション) BGP ピアを確立する

RFC 4271

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

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

手法 RFC コメント

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

RFC 4459

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

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

RFC 791

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

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

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

このサービスを使用するには、カスタマーゲートウェイを仮想プライベートゲートウェイに接続する 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 をアドバタイズしているかどうかを確認します。