図には拠点側に二本のインターネット回線と Azure VPN ゲートウェイが一台あるため、ローカル ネットワーク ゲートウェイに両方のパブリック アドレスが設定されています。一見整っていますが、図が示すようには動作しません。オンプレミスの VPN デバイスはそれぞれ別個のピア関係であり、Microsoft の複数デバイス設計では、各デバイスに専用のローカル ネットワーク ゲートウェイ リソースと専用の接続が割り当てられます。一つのリソースに二つ目のアドレスを追加しても、二つ目のピアは作成されません。どちらのデバイスも正しく表現しないリソースができるだけです。

神話:ゲートウェイ一つ、アドレス二つ

ローカル ネットワーク ゲートウェイは、パブリック エンドポイントが一つとその背後のプライベート プレフィックスからなるリモート ピアの記述です。このリソースを「この二つの機器のどちらか」という意味にする、サポートされた方法はありません。

同じ混乱は逆方向にもあり、Azure のパブリック IP が二つあることを、Azure ゲートウェイが二つある証拠と読み違えます。

オブジェクトを数え、次にトンネルを数える

独立して運用され、それぞれが独自のパブリック アドレスと同じプライベート ネットワークへのアクセスを持つオンプレミス デバイスを二台、さらにアクティブ-アクティブ モードのルートベース Azure ゲートウェイを一つ用意します。Azure ゲートウェイには、別々のパブリック IP を持つアクティブなインスタンスが二つあります。各オンプレミス デバイスは両方のインスタンスに接続します。これがフルメッシュであり、オブジェクトの数は図ではなく、ここから導かれます。

計算は短いので、設計書にそのまま貼り付けられます:

2 on-premises VPN devices
2 local network gateway resources
2 connection resources
4 IPsec tunnels in the complete 2 x 2 mesh

一つの接続リソースは複数の基盤トンネルを運ぶことができるため、四つのトンネルは四つの仮想ネットワーク ゲートウェイを意味しません。Azure のパブリック IP 二つも、リモート サイトを表す二つのローカル ネットワーク ゲートウェイと同じオブジェクトではありません。

アクティブ-アクティブが Azure 側で追加するもの

アクティブ-アクティブは、Azure ゲートウェイをアクティブなインスタンス一つから二つに変え、それぞれに独自のパブリック IP を持たせることで、フルメッシュをそもそも可能にします。単一フローのスループットを二倍にするものではありません。両方のデバイスが同時に転送する場合に、オンプレミス側で等コスト マルチパスをサポートする必要性も取り除きません。何かをプロビジョニングする前に、ゲートウェイのモード、SKU、リモート デバイスの機能を確認してください。

パッシブ スタンバイのゲートウェイは完全に有効な設計であり、トンネル数が変わるだけです。

BGP が両方の経路を使えるようにする

複数デバイス設計では、両方のオンプレミス デバイスが BGP を実行します。それぞれに一意の BGP ピア アドレスを割り当て、同じ意図したプライベート プレフィックスを該当する経路で広告します。プライベート プレフィックスは保護されたネットワークを識別し、パブリック アドレスは暗号化されたキャリア接続がどこで終端するかを識別します。この二つを混同すると、すべてのトンネルが起動しているのに経路が誤っている設計になります。

戻りルーティングと、どちらの経路にも耐える必要があるステートフル検査を計画してください。各エンドポイントで健全な IKE セッションがあっても、ワークロードがあらゆる広告された経路を使えることは証明されません。

フロー ベースの選択は帯域幅のプーリングではない

Azure は、フローのアドレス指定とポートに対するハッシュを使って、フローごとに経路を選択します。定常状態では、特定の TCP または UDP フローのパケットは通常同じトンネルを通り、オンプレミス側は戻り方向に別のトンネルを選ぶことがあります。したがって、二つのデバイスと四つのトンネルは可用性を高めるのであり、一つの転送の速度を高めるのではありません。ベンダーのスライドが集約を約束するとき、それは別の機能か誤解を説明しています。

経路が分散するのを見たい場合は並列フローで、限界を見たい場合は単一フローでテストしてください。

実際に何の冗長性を削除したのか

一つの機器に二つの WAN アドレスを置くと、アクセス リンクの選択肢は増えますが、その機器の電源、ソフトウェア、障害状態を共有します。二台のデバイスとは同じではなく、Azure 側の設定をいくら変えてもそれは変わりません。アドレス数から冗長性を推測するのではなく、ベンダーがサポートするデュアル WAN またはクラスタ設計に従ってください。その後、一度に一つの経路を外し、残りの経路と、両方向の実際のアプリケーション交換を確認してテストします。

検出と収束の遅延を想定し、既存のセッションの一部が終了することも想定してください。

関連記事