1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure P2S VPN接続とS2S VPN接続を共存させる

Last updated at Posted at 2022-10-13

ポイント対サイト(P2S)VPN接続をしているAzure VPN Gatewayに対して、AWSとサイト対サイト(S2S)VPN接続を検証しました。
最終系であるActive-Active構成については、公式手順で実施できますが、今回は最初にActive-StandbyでS2S VPN接続を行い、その後Active-Activeに切り替えます。
そのときのP2S接続が切断されるのか、そのまま利用できるのかという観点で書き残したいと思います。

ポイント対サイトVPN接続

仮想ネットワーク作成

  • まずは仮想ネットワークとサブネットを作ります。仮想ネットワークは/24で、サブネットは/27を1つ準備しました。

  • 作成されたらゲートウェイサブネットを作ります。仮想ネットワーク画面から[サブネット]→[ゲートウェイサブネット]の順に選択します。
    image.png

  • ゲートウェイサブネットは最小/29から作成できますが、/27以上が推奨されています。ExpressRouteGatewayと共存する場合は/27以上が必要です。また、ExpressRoute回線を16本以上接続する場合は/26以上が必要です。今回は/27で作ります。
    image.png

仮想ネットワークゲートウェイ作成

  • 次に仮想ネットワークゲートウェイを作成します。Azure Portalで検索すると出てきます。
    image.png

  • ゲートウェイの種類は[VPN]、VPNの種類は[ルートベース]にします。
    image.png

  • SKUは[VpnGw1]、世代は[Generation1]とします。今回P2SではIKEv2接続を、S2SではBGP接続をしたいのでVPNGw1を選択しています。接続数やスループットに応じてSKUを選択します。SKU毎の差異はこちら
    image.png

  • 仮想ネットワークは事前に作成したものを指定します。ゲートウェイサブネットが作られていないと表示されません。
    image.png

  • パブリックIPのSKUはBasic、Standardどちらでもよいです。SKU毎の差異を確認して選択します。後続のS2S接続時にパブリックIPが複数追加されます。重要なのはBasicとStandard混在ができません。なのでこの時点で設計しておく必要があります。今回はBasicでいきます。
    image.png

  • アクティブ/アクティブモードとBGPは、いまの段階では[無効]にしておきます。後ほどS2S接続する際に設定します。
    image.png

  • 上記設定で作成します。作成に20分程掛かります。

自己署名ルート証明書/クライアント証明書生成

仮想ネットワークゲートウェイ設定

  • Azure Portalの仮想ネットワークゲートウェイ画面に戻り、[ポイント対サイトの構成]→[今すぐ構成]を選択します。
    image.png

  • アドレスプールはVPN確立時のネットワークアドレス帯なので接続数に合わせて設定します。トンネルの種類は[IKEv2]、認証の種類は[Azure証明書]を選択します。
    image.png

  • 公開証明書データには、cerファイルをテキストで開いて内容を貼り付けます。BEGIN/ENDは不要。1行にして貼り付けます。
    image.png

P2S接続

  • 設定を保存すると[VPNクライアントのダウンロード]ができるようになるのでダウンロードします。
    image.png

  • ダウンロードしたVPNクライアントをクライアント証明書をインストールしたPCに配置し、Exeファイルを実行することでVPN接続を確立することができます。

サイト対サイトVPN接続 (Active-Standby)

Azure仮想ネットワークゲートウェイBGP設定

  • 次にP2S接続された仮想ネットワークゲートウェイに対して、サイト対サイトVPN接続を構築します。構築中に接続済みのP2S接続が切断されるのかという観点でも見ていきます。

  • まずはAzure 仮想ネットワークゲートウェイをActive-Standbyで設定します。後ほどAcitve-Activeに変更したときのP2S接続状態も見ていきます。

  • Azure Portalの仮想ネットワークゲートウェイから[構成]を選択します。
    image.png

  • [BGPの構成]にチェックを入れASNはデフォルトの[65515]のままいきます。ASNの範囲はこちらに記載があります。後ほど設定するAWS側と重ならないようにします。
    image.png

  • APIPA BGP IPアドレスに[169.254.21.2]を入力します。Azureでは、169.254.21.* および 169.254.22.* の範囲内の APIPA BGP IP がサポートされています。
    image.png

  • ここまで入力したら[保存]を押します。ここは2~3分で終わります。

AWS仮想プライベートゲートウェイ作成

  • AWSマネージメントコンソールから、[VPC]→[仮想プライベートネットワーク]の順に選択します。
    image.png

  • NameタグとASNを入力し作成します。Azureで設定したASNとは異なる番号にします。
    image.png

  • 仮想プライベートゲートウェイが作成されたら対象のVPCにアタッチします。
    image.png

AWSカスタマーゲートウェイ作成

  • [カスタマーゲートウェイ]を選択します。
    image.png

  • Nameタグを入力します。
    image.png

  • [BGP ASN]にAzureで設定したASNを入力します。
    image.png

  • [IPアドレス]に、Azure仮想ネットワークゲートウェイ概要ページにあるパブリックIPアドレスを貼り付けます。
    image.png

  • 他はデフォルト設定で作成します。

AWSサイト間VPN接続作成

  • [サイト間のVPN接続]を選択します。
    image.png

  • Nameタグを入力します。
    image.png

  • [仮想プライベートゲートウェイ]に先ほど作った仮想プライベートゲートウェイを選択します。
    image.png

  • [カスタマーゲートウェイID]に先ほど作ったカスタマーゲートウェイを選択します。
    image.png

  • [ルーティングオプション]は動的にします。
    image.png

  • [ローカルIPv4ネットワークCIDR]と[リモートIPv4ネットワークCIDR]はデフォルトにします。
    image.png

  • [トンネル1の内部IPv4 CIDR]に任意のCIDRを入力します。今回は公式手順にならって[169.254.21.0/30]を指定します。

  • [トンネル1の事前共有キー]は任意のパスフレーズを入力します。
    image.png

  • [トンネル2の内部IPv4 CIDR]に任意のCIDRを入力します。今回は公式手順にならって[169.254.21.4/30]を指定します。

  • [トンネル2の事前共有キー]は任意のパスフレーズを入力します。
    image.png

  • ここまで入力したら作成します。

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

  • Azureポータルよりローカルネットワークゲートウェイを選択し作成します。
    image.png

  • リージョンを選択し、名前を入力します。
    image.png

  • [IPアドレス]には、[AWSサイト間VPN接続]の[トンネルの詳細]タブからTunnel1の外部IPアドレスの値を入力します。
    image.png

  • [アドレス空間]は何も入力せず次にいきます。
    image.png

  • BGPを有効にし、[ASN]にはAWS側で設定したASNを指定し、[BGPピアのIPアドレス]には公式にならって[169.254.21.1]を入力します。(これはAWS側のBGP IPアドレスになります)
    image.png

  • ここまで入力したら作成します。

Azure接続の追加

  • Azure仮想ネットワークゲートウェイから[接続]→[追加]の順に選択します。
    image.png

  • 名前を入力し、[接続の種類]に[サイト対サイト(IPsec)]を選択します。
    image.png

  • [ローカルネットワークゲートウェイ]に事前に作ったローカルネットワークゲートウェイを選択し、[共有キー]にAWS側で設定したパスフレーズを入力します。
    image.png

  • [BGPを有効にする]にチェックを入れ、作成します。
    image.png

接続確認

  • 5分~10分程でAWSサイト間VPN接続のTunnel1がUpになるはずです。(Active-Standby構成なのでTunnel2はこの時点ではDownで想定通りです)
    image.png

  • Azure側も[仮想ネットワークゲートウェイ]→[接続]から[接続済み]になっていればOKです。
    image.png

ポイント対サイト接続の状況

  • 今回のこのActive-Standby S2S接続一連の作業中に、P2S接続した端末からpingを打ち続けましたが、切断されることはありませんでした。
  • あくまでも今回の検証では、ということなので、P2Sが切断されることも前提とした方がよいかと思います。

サイト対サイトVPN接続 (Active-Active)

  • 続いてP2S接続中に、Active-Standby構成からActive-Active構成に変更してみます。

Azure仮想ネットワークゲートウェイ設定変更

  • Azure仮想ネットワークゲートウェイから[構成]を選択します。
    image.png

  • [アクティブ/アクティブモード]を[有効]にします。
    image.png

  • [2番目のパブリックIPアドレス]を選択します。
    image.png

  • 新規でパブリックIPを作成します。ここで注意するのはSKUで、今回は1つ目をBasicで作っているため2つ目もBasicで作ります。1つ目のパブリックIPのSKUと一致してないとエラーになります。
    image.png

  • [カスタムのAzure APIPA BGP IPアドレス]を以下のように入力します。今回IPは公式手順にならっています。
    image.png

  • ここまで設定したら保存します。40分程掛かります。また、この手順によってP2S接続中の通信は切断されます。Active-Standby構成のS2S接続も途中通信が切れます。ただS2S接続の方は自動的に通信は復旧しました。

AWSサイト間VPN接続削除

  • 既存のサイト間VPN接続を一度削除します。
    image.png

  • 削除する意図としては、「Tunnel1:169.254.21.0/30」「Tunnel2:169.254.21.4/30」で作っていましたが、公式手順にならってTunnel2を169.254.22.0/30にしたいためです。

  • この時点でS2S接続は切断されます。

AWSカスタマーゲートウェイ2つ目作成

  • [カスタマーゲートウェイ]を選択します。
    image.png

  • Nameタグを入力します。
    image.png

  • [BGP ASN]にAzureで設定したASNを入力します。
    image.png

  • [IPアドレス]欄の入力は注意が必要で、Azure側でActive-Activeにしたときに新規作成した 2つ目のパブリックIPアドレス を指定します。
    image.png

AWSサイト間VPN接続1つ目作成

  • [サイト間のVPN接続]を選択します。
    image.png

  • Nameタグを入力します。
    image.png

  • [仮想プライベートゲートウェイ]に既存の仮想プライベートゲートウェイを選択します。
    image.png

  • [カスタマーゲートウェイID]に1つ目のカスタマーゲートウェイを選択します。
    image.png

  • [ルーティングオプション]は動的にします。
    image.png

  • [ローカルIPv4ネットワークCIDR]と[リモートIPv4ネットワークCIDR]はデフォルトにします。
    image.png

  • [トンネル1の内部IPv4 CIDR]に任意のCIDRを入力します。今回は公式手順にならって[169.254.21.0/30]を指定します。

  • [トンネル1の事前共有キー]は任意のパスフレーズを入力します。
    image.png

  • [トンネル2の内部IPv4 CIDR]に任意のCIDRを入力します。今回は公式手順にならって[169.254.22.0/30]を指定します。

  • [トンネル2の事前共有キー]は任意のパスフレーズを入力します。
    image.png

  • ここまで入力したら作成します。

AWSサイト間VPN接続2つ目作成

  • [サイト間のVPN接続]を選択します。
    image.png

  • Nameタグを入力します。
    image.png

  • [仮想プライベートゲートウェイ]に既存の仮想プライベートゲートウェイを選択します。
    image.png

  • [カスタマーゲートウェイID]に 2つ目のカスタマーゲートウェイ を選択します。
    image.png

  • [ルーティングオプション]は動的にします。
    image.png

  • [ローカルIPv4ネットワークCIDR]と[リモートIPv4ネットワークCIDR]はデフォルトにします。
    image.png

  • [トンネル1の内部IPv4 CIDR]に任意のCIDRを入力します。今回は公式手順にならって[169.254.21.4/30]を指定します。

  • [トンネル1の事前共有キー]は任意のパスフレーズを入力します。
    image.png

  • [トンネル2の内部IPv4 CIDR]に任意のCIDRを入力します。今回は公式手順にならって[169.254.22.4/30]を指定します。

  • [トンネル2の事前共有キー]は任意のパスフレーズを入力します。
    image.png

  • ここまで入力したら作成します。

Azureローカルネットワークゲートウェイ1つ目を新しいAWSパブリックIPに変更

  • AWSサイト間VPN接続を再作成したため、既存のAzureローカルネットワークゲートウェイに設定したAWSパブリックIPを変更する必要があります。
  • 1つ目のAzureローカルネットワークゲートウェイを選択し、[構成]からIPアドレスを変更します。IPアドレスには、1つ目のAWSサイト間VPN接続の[トンネルの詳細]タブからTunnel1の外部IPアドレスの値を入力します。
    image.png

Azureローカルネットワークゲートウェイ3つ作成

  • 同じ要領でAzureローカルネットワークゲートウェイを3つ作成します。それぞれに設定する値は以下のように公式手順にならって設定しています。
    • Azureローカルネットワークゲートウェイ2つ目
      • IPアドレス
        • AWSサイト間VPN接続1つ目のTunnel2の外部IP
      • AWS BGPピア
        • 169.254.22.1
    • Azureローカルネットワークゲートウェイ3つ目
      • IPアドレス
        • AWSサイト間VPN接続2つ目のTunnel1の外部IP
      • AWS BGPピア
        • 169.254.21.5
    • Azureローカルネットワークゲートウェイ4つ目
      • IPアドレス
        • AWSサイト間VPN接続2つ目のTunnel2の外部IP
      • AWS BGPピア
        • 169.254.22.5

Azure接続1つ目のカスタムBGPアドレス設定

  • 1つ目のAzure接続から[構成]を選択し、カスタムBGPを有効化します。
    image.png

  • 公式手順にならってBGPアドレスを以下のように設定します。

    • プライマリカスタムBGPアドレス
      • 169.254.21.2
    • セカンダリカスタムBGPアドレス
      • 169.254.21.6

Azure接続3つ作成

  • Azure仮想ネットワークゲートウェイから[接続]→[追加]の順に選択します。
    image.png

  • 名前を入力し、[接続の種類]に[サイト対サイト(IPsec)]を選択します。
    image.png

  • [ローカルネットワークゲートウェイ]に 2つ目のローカルネットワークゲートウェイ を選択し、[共有キー]にAWS側で設定したパスフレーズを入力します。
    image.png

  • [BGPを有効にする]にチェックを入れます。
    image.png

  • [カスタムBGPアドレスを有効にする]にチェックを入れます。
    image.png

  • 公式手順にならって、2つ目~4つ目のカスタムBGPアドレスは以下のように設定します。

    • Azure VPN接続2つ目
      • プライマリカスタムBGPアドレス
        • 169.254.22.2
      • セカンダリカスタムBGPアドレス
        • 169.254.21.6
    • Azure VPN接続3つ目
      • プライマリカスタムBGPアドレス
        • 169.254.21.2
      • セカンダリカスタムBGPアドレス
        • 169.254.21.6
    • Azure VPN接続4つ目
      • プライマリカスタムBGPアドレス
        • 169.254.21.2
      • セカンダリカスタムBGPアドレス
        • 169.254.22.6

接続確認

  • 5分~10分程でAWSサイト間VPN接続2つの合計4TunnelがUpになればOKです。
    image.png

  • 手元の環境ではUpにならないことが何度かありました。その場合まずは設定に誤りがないかを確認します。設定が問題なければ、Azure仮想ネットワークゲートウェイのリセットを行うと解消する可能性があります。

    • 仮想ネットワークゲートウェイの左メニューから[リセット]を選択します。
      image.png
  • リセットを選択しても設定が消えるようなことはありません。内部的には仮想ネットワークゲートウェイのインスタンスが再起動されます。P2S、S2S接続は切断されるので注意が必要です。また、リセットは1回当たり30分程掛かります。

    • Active/Active構成の場合、インスタンスが2台で動作しているため2回リセットする必要があります。

ポイント対サイト接続の状況

  • P2S接続すると繋がる場合と繋がらない場合がありましたが、以下の手順でVPNクライアントを再度ダウンロードして設定し直すと接続できました。

    • Azure Portalから[仮想ネットワークゲートウェイ]→[ポイント対サイトの構成]の順に選択し、[VPNクライアントのダウンロード]を実行する
    • ダウンロードしたzipファイルを解凍する(ActiveActive構成での最新のモジュールをダウンロードする必要あり)
    • VPNクライアントをダブルクリックして更新する
    • VPN接続して問題なく接続されることを確認する

以上

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?