BGP 対応 VPN Gateway を使用して AWS と Azure を接続する

この記事では、Azure と アマゾン ウェブ サービス (AWS) の間の BGP 対応接続のセットアップについて説明します。 BGP とアクティブ/アクティブが有効になっている Azure VPN ゲートウェイと、2 つのサイト間接続を持つ AWS 仮想プライベート ゲートウェイを使用します。

アーキテクチャ

このセットアップでは、次のリソースを作成します。

Azure

  • 1 つの仮想ネットワーク
  • アクティブ/アクティブと BGP が有効になっている 1 つの仮想ネットワーク ゲートウェイ
  • 4 つのローカル ネットワーク ゲートウェイ
  • 4 つのサイト間接続

AWS

  • 1 つの仮想プライベート クラウド (VPC)
  • 1 つの仮想プライベート ゲートウェイ
  • 2 つのカスタマー ゲートウェイ
  • それぞれトンネルが 2 つある 2 つのサイト間接続 (合計 4 つのトンネル)

AWS 上のサイト間接続には、それぞれ独自の外部 IP アドレスと IPv4 CIDR 内 (BGP APIPA に使用) を持つ 2 つのトンネルがあります。 アクティブ/パッシブ VPN ゲートウェイでは、1 つのカスタム BGP APIPA のみをサポートしています。 複数の AWS トンネルに接続するには、Azure VPN ゲートウェイでアクティブ/アクティブを有効にする必要があります。

AWS 側では、2 つの Azure VPN ゲートウェイ インスタンス (合計 4 つの発信トンネル) のそれぞれに、カスタマー ゲートウェイとサイト間接続を作成します。 Azure では、これらの 4 つの AWS トンネルを受信するには、4 つのローカル ネットワーク ゲートウェイと 4 つの接続を作成する必要があります。

この設定のアーキテクチャを示す図

BGP APIPA アドレスの選択

このチュートリアルでは、BGP APIPA の構成に次の値を使用できます。

トンネル Azure カスタム Azure APIPA BGP IP アドレス AWS BGP ピア IP アドレス AWS Inside IPv4 CIDR
AWS Tunnel 1 から Azure Instance 0 へ 169.254.21.2 169.254.21.1 169.254.21.0/30
AWS Tunnel 2 から Azure Instance 0 へ 169.254.22.2 169.254.22.1 169.254.22.0/30
AWS Tunnel 1 から Azure Instance 1 へ 169.254.21.6 169.254.21.5 169.254.21.4/30
AWS Tunnel 2 から Azure Instance 1 へ 169.254.22.6 169.254.22.5 169.254.22.4/30

独自のカスタム APIPA アドレスを設定することもできます。 AWS では、トンネルごとに APIPA 範囲 169.254.0.0/16 の /30 Inside IPv4 CIDR が必要です。 また、この CIDR は、AZURE で予約されている VPN 用の APIPA 範囲 (169.254.21.0 から 169.254.22.255) 内にある必要があります。 AWS は CIDR 内の /30 の最初の IP アドレスを使用し、Azure は 2 番目の IP アドレスを使用します。 つまり、AWS /30 CIDR 内に 2 つの IP アドレス用の領域を予約する必要があります。

たとえば、AWS Inside IPv4 CIDR169.254.21.0/30 に設定した場合、AWS は BGP IP アドレス 169.254.21.1 を使用し、Azure は IP アドレス 169.254.21.2 を使用します。

重要

  • APIPA アドレスは、オンプレミスの VPN デバイスと、接続されているすべての Azure VPN ゲートウェイの間で重複しないようにする必要があります。
  • VPN ゲートウェイで複数の APIPA BGP ピア アドレスを構成する場合は、すべての接続オブジェクトを、選択した対応する IP アドレスで構成することも必要です。 そのようにしない場合、IP の数に関係なく、すべての接続で一覧の最初の APIPA IP アドレスが使用されます。

前提条件

アクティブなサブスクリプションを持つ Azure アカウントと AWS アカウントの両方が必要です。 Azure サブスクリプションをまだお持ちでない場合は、MSDN サブスクライバーの特典を有効にするか、無料アカウントにサインアップしてください。

パート 1: Azure でアクティブ/アクティブ VPN ゲートウェイを作成する

VNet を作成する

次の値を使用して、仮想ネットワークを作成します。 「サイト間チュートリアル」の手順を参照できます。

  • サブスクリプション: サブスクリプションが複数ある場合は、適切なものを使用していることを確認します。
  • [リソース グループ] :TestRG1
  • Name:VNet1
  • [場所] :米国東部
  • IPv4 アドレス空間: 10.1.0.0/16
  • サブネット名: FrontEnd
  • サブネットのアドレス範囲: 10.1.0.0/24

BGP を使用してアクティブ/アクティブ VPN ゲートウェイを作成する

次の値を使用して VPN ゲートウェイを作成します。

  • Name:VNet1GW
  • リージョン: 米国東部
  • [ゲートウェイの種類] : VPN
  • VPN の種類: ルート ベース
  • SKU: VpnGw2AZ
  • 世代: Generation2
  • 仮想ネットワーク:VNet1
  • ゲートウェイ サブネットのアドレスの範囲: 10.1.1.0/24
  • [パブリック IP アドレス] : 新規作成
  • パブリック IP アドレス名:VNet1GWpip
  • 可用性ゾーン: ゾーン冗長
  • アクティブ/アクティブ モードの有効化: 有効
  • 2 番目のパブリック IP アドレス: 新規作成
  • パブリック IP アドレス 2 の名前: VNet1GWpip2
  • 可用性ゾーン: ゾーン冗長
  • BGP の構成: 有効
  • 自律システム番号 (AS 番号): 65000
  • カスタム Azure APIPA BGP IP アドレス: 169.254.21.2, 169.254.22.2
  • 2 番目のカスタム Azure APIPA BGP IP アドレス: 169.254.21.6, 169.254.22.6
  1. Azure portal で、Marketplace から [Virtual Network ゲートウェイ] リソースに移動し、[作成] を選択します。

  2. 次の例に示すように、パラメーターを入力します。

    仮想ネットワーク ゲートウェイ画面の上部を示すスクリーンショット。

  3. パブリック IP アドレスとアクティブ/アクティブ モードの有効化の両方を構成します。 ここで作成されたパブリック IP アドレス オブジェクトは、VPN ゲートウェイに関連付けられます。 パブリック IP アドレスは、VPN ゲートウェイの作成時に、このオブジェクトに対して動的に割り当てられます。

    PIP 設定を示すスクリーンショット。

  4. BGP を構成します。

    BGP 設定を示すスクリーンショット。

    • [BGP の構成][有効] を 選択して、[BGP 構成] セクションを表示します。
    • AS 番号 (自律システム番号) を入力します。 この AS 番号 は、AWS で使用される AS 番号 とは異なる必要があります。
    • カスタム Azure APIPA BGP IP アドレス に 2 つのアドレスを追加します。 選択した APIPA 構成から、AWS Tunnel 1 から Azure Instance 0AWS Tunnel 2 から Azure Instance 0 の IP アドレスを含めます。 2 番目の入力は、最初の APIPA BGP IP アドレスを追加した後にのみ表示されます。
    • 2 番目のカスタム Azure APIPA BGP IP アドレス に 2 つのアドレスを追加します。 選択した APIPA 構成から、AWS Tunnel 1 から Azure Instance 1AWS Tunnel 2 から Azure Instance 1 の IP アドレスを含めます。 2 番目の入力は、最初の APIPA BGP IP アドレスを追加した後にのみ表示されます。
  5. [確認と作成] を選択して検証を実行します。 検証に合格したら、 [作成] を選択して VPN ゲートウェイをデプロイします。 選択したゲートウェイ SKU によっては、ゲートウェイの作成に 45 分以上かかる場合も少なくありません。 デプロイの状態は、ゲートウェイの [概要] ページで確認できます。

パート 2: AWS から VPN ゲートウェイに接続する

このセクションでは、AWS から Azure VPN ゲートウェイに接続します。 更新された手順については、AWS の公式ドキュメントを常に参照してください。

VPC を作成する

次の値と最新の AWS ドキュメント を使用して、VPC を作成します。

  • 名前: VPC1
  • CIDR ブロック: 10.2.0.0/16

CIDR ブロックが、Azure で作成した仮想ネットワークと重複しないようにします。

仮想プライベート ゲートウェイを作成する

次の値と最新の AWS ドキュメントを使用して、仮想プライベート ゲートウェイ を作成します。

  • 名前: AzureGW
  • AS 番号: Amazon の既定の ASN (64512)
  • VPC: VPC1 にアタッチされます

カスタム AS 番号を使用する場合は、Azure で使用した AS 番号と異なっていることを確認します。

ルート伝達を有効にする

最新の AWS ドキュメントを使用して、仮想プライベート ゲートウェイでルート伝達を有効にします。

カスタマー ゲートウェイを作成する

次の値と最新の AWS ドキュメントを使用して、2 つのカスタマー ゲートウェイを作成します。

カスタマー ゲートウェイ 1 の設定:

  • 名前: ToAzureInstance0
  • ルーティング: 動的
  • BGP AS 番号: 65000 (Azure VPN ゲートウェイの AS 番号)
  • IP アドレス: Azure VPN ゲートウェイの最初のパブリック IP アドレス

カスタマー ゲートウェイ 2 の設定:

  • 名前: ToAzureInstance1
  • ルーティング: 動的
  • BGP AS 番号: 65000 (Azure VPN ゲートウェイの AS 番号)
  • IP アドレス: Azure VPN ゲートウェイの 2 番目のパブリック IP アドレス

仮想ネットワーク ゲートウェイの [構成] セクションで、Azure 上のパブリック IP アドレス2 番目のパブリック IP アドレスを見つける方法があります。

サイト間 VPN 接続を作成する

次の値と最新の AWS ドキュメントを使用して、2 つのサイト間 VPN を作成します。

サイト間接続 1 の設定:

  • 名前: ToAzureInstance0
  • ターゲット ゲートウェイの種類: 仮想プライベート ゲートウェイ
  • 仮想プライベート ゲートウェイを: AzureGW
  • カスタマー ゲートウェイ: 既存
  • カスタマー ゲートウェイ: ToAzureInstance0
  • ルーティング オプション: 動的 (BGP が必要)
  • ローカル IPv4 ネットワーク CIDR: 0.0.0.0/0
  • トンネル内部 IP バージョン: IPv4
  • トンネル 1 の内部 IPv4 CIDR: 169.254.21.0/30
  • トンネル 1 の事前共有キー: セキュリティで保護されたキーを選択する
  • トンネル 2 の内部 IPv4 CIDR: 169.254.22.0/30
  • トンネル 2 の事前共有キー: セキュリティで保護されたキーを選択する
  • スタートアップ アクション: 開始

サイト間接続 2 の設定:

  • 名前: ToAzureInstance1
  • ターゲット ゲートウェイの種類: 仮想プライベート ゲートウェイ
  • 仮想プライベート ゲートウェイを: AzureGW
  • カスタマー ゲートウェイ: 既存
  • カスタマー ゲートウェイ: ToAzureInstance1
  • ルーティング オプション: 動的 (BGP が必要)
  • ローカル IPv4 ネットワーク CIDR: 0.0.0.0/0
  • トンネル内部 IP バージョン: IPv4
  • トンネル 1 の内部 IPv4 CIDR: 169.254.21.4/30
  • トンネル 1 の事前共有キー: セキュリティで保護されたキーを選択する
  • トンネル 2 の内部 IPv4 CIDR: 169.254.22.4/30
  • トンネル 2 の事前共有キー: セキュリティで保護されたキーを選択する
  • スタートアップ アクション: 開始

両方の接続の トンネル 1 の内部 IPv4 CIDRトンネル 2 の内部 IPv4 CIDR については、選択した APIPA 構成を参照してください。

パート 3: Azure から AWS カスタマー ゲートウェイに接続する

次に、AWS トンネルを Azure に接続します。 4 つのトンネルのそれぞれには、ローカル ネットワーク ゲートウェイとサイト間接続の両方があります。

重要

4 つの 各 AWS トンネルについて、それぞれの外部 IP アドレスを使用して、次のセクションを繰り返します。

ローカル ネットワーク ゲートウェイの作成

これらの手順を繰り返して、各ローカル ネットワーク ゲートウェイを作成します。

  1. Azure portal で、Marketplace から [ローカル ネットワーク ゲートウェイ] リソースに移動し、[作成] を選択します。

  2. 仮想ネットワーク ゲートウェイの作成に使用したのと同じサブスクリプションリソース グループリージョンを選択します。

  3. ローカル ネットワーク ゲートウェイの名前を入力します。

  4. [IP アドレス][エンドポイント] の値のままにします。

  5. [IP ドアレス]に、作成するトンネルの外部 IP アドレス (AWS から) を入力します。

  6. [アドレス空間] は空白 のままにし、[詳細設定] を 選択します。

    ローカル ネットワーク ゲートウェイ基本ページを示すスクリーンショット。

  7. [詳細] タブで次の設定を構成します。

    • [BGP 設定の構成][はい] を選択します。
    • 自律システム番号 (ASN)に、AWS 仮想プライベート ネットワークの AS 番号 を入力します。 AS 番号を AWS の既定値のままにした場合は、ASN 64512 を使用します。
    • [BGP ピア IP アドレス] には、選択した APIPA 構成に基づいて AWS BGP ピア IP アドレスを入力します。

    ローカル ネットワーク ゲートウェイ BGP 設定の値を示すスクリーンショット。

接続を作成する

必要な各接続を作成するには、次の手順を繰り返します。

  1. [仮想ネットワーク ゲートウェイ] ページを開き、[接続] ページに移動します。

  2. [接続] ページで、[+ 追加] を選択します。

  3. [基本] ページで、次の値を入力します。

    • 接続の種類: サイト対サイト (IPsec)
    • Name:接続の名前を入力します。 例: AWSTunnel1toAzureInstance0。
  4. [設定] ページで、次の値を入力します。

    • 仮想ネットワーク ゲートウェイ: VPN Gateway を選択します。
    • [ローカル ネットワーク ゲートウェイ]: 作成したローカル ネットワーク ゲートウェイを選択します。
    • AWS 接続を行う際に入力した事前共有キーと一致する共有キー (PSK) を入力します。
    • BGP を有効にする: 選択して有効にします。
    • カスタム BGP アドレスを有効にする: 選択して有効にします。
  5. カスタム BGP アドレス の下:

    • 選択した APIPA 構成に基づいて、カスタム BGP アドレスを入力します。
    • カスタム BGP アドレス (AWS の内部 IPv4 CIDR) は、この接続に使用しているローカル ネットワーク ゲートウェイで指定した IP アドレス (AWS の外部 IP アドレス) と一致している必要があります。
    • 指定するトンネルに応じて、2 つのカスタム BGP アドレスの 1 つだけが使用されます。
    • AWS から VPN ゲートウェイ (インスタンス 0) の最初のパブリック IP アドレスへの接続を行う場合は、プライマリ カスタム BGP アドレスだけが使用されます。
    • AWS から VPN ゲートウェイ (インスタンス 1) の2 番目のパブリック IP アドレスへの接続を行う場合は、セカンダリ カスタム BGP アドレス だけが使用されます。
    • 他のカスタム BGP アドレスは既定のままにします。

    既定の APIPA 構成を使用した場合は、次のアドレスを使用できます。

    Tunnel プライマリ カスタム BGP アドレス セカンダリ カスタム BGP アドレス
    AWS トンネル 1 から Azure インスタンス 0 へ 169.254.21.2 使用しない (169.254.21.6 を選択)
    AWS トンネル 2 から Azure インスタンス 0 へ 169.254.22.2 使用しない (169.254.21.6 を選択)
    AWS トンネル 1 から Azure インスタンス 1 へ 使用しない (169.254.21.2 を選択) 169.254.21.6
    AWS トンネル 2 から Azure インスタンス 1 へ 使用しない (169.254.21.2 を選択) 169.254.22.6
  6. 次の設定を構成します。

    • FastPath: 既定値 (選択を解除) のままにします
    • IPsec / IKE ポリシー: 既定
    • ポリシーベースのトラフィック セレクターの使用: 無効
    • DPD タイムアウト (秒単位): 既定値のまま
    • [接続モード]: 使用可能ないずれかのオプション (既定、イニシエーターのみ、レスポンダーのみ) を選択できます。 詳細については、VPN Gateway 設定の接続モード に関する記事を参照してください。
  7. [保存] を選択します。

  8. [確認および作成] で接続を作成します。

  9. これらの手順を繰り返して、追加の接続を作成します。

  10. 次のセクションを続行する前に、4 つの AWS トンネルのそれぞれに、ローカル ネットワーク ゲートウェイ接続があることを確認します。

パート 4: (省略可能) 接続の状態を確認する

Azure で接続の状態を確認する

  1. [仮想ネットワーク ゲートウェイ] ページを開き、[接続] ページに移動します。

  2. 4 つの接続すべてが [接続済み] と表示されていることを確認します。

    接続の確認を示すスクリーンショット。

Azure で BGP ピアの状態を確認する

  1. [仮想ネットワーク ゲートウェイ] ページを開き、[BGP ピア] ページに移動します。

  2. [BGP ピア] テーブルで、指定したピア アドレスを持つすべての接続が [接続済み] と表示され、ルートを交換していることを確認します。

    BGP ピアの確認を示すスクリーンショット。

AWS で接続の状態を確認する

  1. Amazon VPC コンソールを開きます
  2. ナビゲーション ウィンドウで、[サイト間 VPN 接続] を選択します。
  3. 最初に作成した接続を選択し、[トンネルの詳細]タブを選択します。
  4. 両方のトンネルの[状態][UP] として表示されていることを確認します。
  5. 両方のトンネルの[詳細]に 1 つ以上の BGP ルートが表示されていることを確認します。

次のステップ

VPN Gateway の詳細については、「よくあるご質問」をご覧ください。