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 CIDR を 169.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: 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
Azure portal で、Marketplace から [Virtual Network ゲートウェイ] リソースに移動し、[作成] を選択します。
次に示すように、パラメーターを入力します。
アクティブ/アクティブ モードの有効化
- [パブリック IP アドレス] で、[アクティブ/アクティブ モードの有効化] の [有効] を選択します。
- 1 番目と 2 番目のパブリック IP アドレス名の名前を指定します。 これらの設定では、VPN ゲートウェイに関連付けられるパブリック IP アドレス オブジェクトを指定します。 パブリック IP アドレスは、VPN ゲートウェイの作成時に、このオブジェクトに対して動的に割り当てられます。
BGP の構成
- [BGP の構成] で [有効] を 選択して、[BGP 構成] セクションを表示します。
- AS 番号 (自律システム番号) を入力します。 この AS 番号 は、AWS で使用される AS 番号 とは異なる必要があります。
- カスタム Azure APIPA BGP IP アドレス に 2 つのアドレスを追加します。 選択した APIPA 構成から、AWS Tunnel 1 から Azure Instance 0 と AWS Tunnel 2 から Azure Instance 0 の IP アドレスを含めます。 2 番目の入力は、最初の APIPA BGP IP アドレスを追加した後にのみ表示されます。
- 2 番目のカスタム Azure APIPA BGP IP アドレス に 2 つのアドレスを追加します。 選択した APIPA 構成から、AWS Tunnel 1 から Azure Instance 1 と AWS Tunnel 2 から Azure Instance 1 の IP アドレスを含めます。 2 番目の入力は、最初の APIPA BGP IP アドレスを追加した後にのみ表示されます。
[確認と作成] を選択して検証を実行します。 検証に合格したら、 [作成] を選択して 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 アドレスを使用して、次のセクション を繰り返します。
ローカル ネットワーク ゲートウェイの作成
- Azure portal で、Marketplace から [ローカル ネットワーク ゲートウェイ] リソースに移動し、[作成] を選択します。
- 仮想ネットワーク ゲートウェイの作成に使用したのと同じサブスクリプション、リソース グループ、リージョンを選択します。
- ローカル ネットワーク ゲートウェイの名前を入力します。
- [IP アドレス] は [エンドポイント] の値のままにします。
- [IP ドアレス]に、作成するトンネルの外部 IP アドレス (AWS から) を入力します。
- [アドレス空間] は空白 のままにし、[詳細設定] を 選択します。
- [BGP 設定の構成] で [はい] を選択します。
- 自律システム番号 (ASN)に、AWS 仮想プライベート ネットワークの AS 番号 を入力します。 AS 番号を AWS の既定値のままにした場合は、ASN 64512 を使用します。
- [BGP ピア IP アドレス] には、選択した APIPA 構成に基づいて AWS BGP ピア IP アドレスを入力します。
接続を作成する
[仮想ネットワーク ゲートウェイ] ページを開き、[接続] ページに移動し、[追加] を選択します。
接続の名前を入力します。
[接続の種類] として [サイト対サイト] を選択します。
作成したローカル ネットワーク ゲートウェイを選択します。
AWS 接続を行う際に入力した事前共有キーと一致する共有キー (PSK) を入力します。
[BGP を有効にする] を選択し、[カスタム BGP アドレスを有効にする] を選択します。
[カスタム 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 残りのフィールドは既定値のままにし、[OK] を選択します。
VPN ゲートウェイの [接続] ページで、作成した接続を選択し、[構成] ページに移動します。
[接続モード]で [ResponderOnly]を選択し、[保存] を選択します。
4 つの AWS トンネルのそれぞれに、ローカル ネットワーク ゲートウェイと接続があることを確認します。
パート 4: (省略可能) 接続の状態を確認する
Azure で接続の状態を確認する
[仮想ネットワーク ゲートウェイ] ページを開き、[接続] ページに移動します。
4 つの接続すべてが [接続済み] と表示されていることを確認します。
Azure で BGP ピアの状態を確認する
[仮想ネットワーク ゲートウェイ] ページを開き、[BGP ピア] ページに移動します。
[BGP ピア] テーブルで、指定したピア アドレスを持つすべての接続が [接続済み] と表示され、ルートを交換していることを確認します。
AWS で接続の状態を確認する
- Amazon VPC コンソールを開きます
- ナビゲーション ウィンドウで、[サイト間 VPN 接続] をクリックします。
- 最初に作成した接続を選択し、[トンネルの詳細]タブを選択します。
- 両方のトンネルの[状態]に [UP] として表示されていることを確認します。
- 両方のトンネルの[詳細]に 1 つ以上の BGP ルートが表示されていることを確認します。