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 を使用します。

重要

  1. APIPA アドレスは、オンプレミスの VPN デバイスと、接続されているすべての Azure VPN ゲートウェイの間で重複しないようにする必要があります。
  2. 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: VpnGw2
  • 世代: 第 2 世代
  • 仮想ネットワーク: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 アドレス] で、[アクティブ/アクティブ モードの有効化][有効] を選択します。
    • 1 番目と 2 番目のパブリック IP アドレス名の名前を指定します。 これらの設定では、VPN ゲートウェイに関連付けられるパブリック IP アドレス オブジェクトを指定します。 パブリック IP アドレスは、VPN ゲートウェイの作成時に、このオブジェクトに対して動的に割り当てられます。
  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. [アドレス空間] は空白 のままにし、[詳細設定] を 選択します。

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

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

ローカル ネットワーク ゲートウェイの BGP 設定の値

接続を作成する

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

  2. 接続の名前を入力します。

  3. [接続の種類] として [サイト対サイト] を選択します。

  4. 作成したローカル ネットワーク ゲートウェイを選択します。

  5. AWS 接続を行う際に入力した事前共有キーと一致する共有キー (PSK) を入力します。

  6. [BGP を有効にする] を選択し、[カスタム BGP アドレスを有効にする] を選択します。

  7. [カスタム 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
  8. 残りのフィールドは既定値のままにし、[OK] を選択します。

    接続の変更

  9. VPN ゲートウェイの [接続] ページで、作成した接続を選択し、[構成] ページに移動します。

  10. [接続モード][ResponderOnly]を選択し、[保存] を選択します。 ResponderOnly への接続

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

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

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

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

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

    Azure 接続の検証

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

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

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

    BGP ピアの検証

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

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