※ 本記事は、Radu Nistorによる”OCI-Azure Interconnect advanced scenarios – part2“を翻訳したものです。

2022年9月14日


OCI-Azure Interconnectの高度なシナリオの第2部へようこそ。

パート1ではいくつかの概念と課題について説明しましたが、このエントリでは次のアーキテクチャのデモに焦点を当てます。

blog2diagram

1. OCIおよびAzureの初期リソースのデプロイ

このエントリを長くしないという点で、すべてのステップの詳細にはなりませんが、難しい部分に焦点を当てます。

OCI

OCIでは、次の構成が構築されています。

  • Ashburn:
    • 内部に1つのサブネットを持つ1つのVCN
    • 1つのDRG
    • VCNはデフォルト設定でDRGに接続されました*
    • VCNのサブネット内の1つのコンピュート・インスタンス
  • Phoenix:
    • 内部に1つのサブネットを持つ1つのVCN
    • 1つのDRG
    • VCNはデフォルト設定でDRGに接続されました*
  • AshburnとPhoenix間の1つのRPC接続

注意: VCNをDRGに接続すると、DRGはデフォルトでVCN CIDRではなくVCN内の個々のサブネットを通知します。これは後でデモで使用します。

Azure

Azureでは、次の構造が構築されています。

  • East US2:
    • 1つのVNET
    • 1つのゲートウェイ・サブネットと1つのVPNゲートウェイ
    • コンピュート・インスタンス用に1つのサブネット
    • 1つのコンピュート・インスタンス
  • West US3
    • 1つのVNET
    • 1つのゲートウェイ・サブネット1つのVPNゲートウェイ

この段階では、ラボは次のようになります。

lab0redone

2. インターコネクトの追加

次のステップでは、OCIとAzureの間に2つのインターコネクト・リンクを追加します。

  • OCI Ashburn to Azure US East1 – East Interconnectと呼びます
  • OCI Phoenix to Azure US West 3 – West Interconnectと呼びます

ここでは手順を説明しませんので、この優れたブログ・エントリー「ステップ・バイ・ステップ: インターコネクト構築ガイド」にある手順に従ってください。

ExpressRoute SKUはStandardである必要があります。

両方のリンクが稼働したら、VPN Gateways接続を回路に追加する必要があります。各回線では、East US2とWest US3の両方のVPN Gatewaysを次のように追加します。

eastcirc
westcirc

回路が配置され、VPN Gatewaysと回路の間の接続によって、図は次のようになります。

labcirc

すべての接続を使用して、各クラウドがルーティングに関連する他のクラウドについて何を学習するかを見てみましょう。

OCI DRGルーティングの詳細

Ashburn:

ashbroutes

Phoenix:

phxroutes

Azureルーティングの詳細

East Circuit:

azureeastcirc

West Circuit:

azurewestcirc

US East2ルーティング表のコンピュート・インスタンス:

azurevmrouting

したがって、この段階では、OCI AshburnはAzure US East2のみを参照でき、OCI PhoenixはAzure US West3のみを参照できます。VPNゲートウェイは両方の回路に接続されていますが、いずれかのインターコネクト・リンクで問題が発生した場合、Azure US East2のコンピュート・インスタンスはOCI AshburnとOCI Phoenixの両方に接続できます。別の冗長層を追加することで、これを改善します。各インターコネクトがもう一方のバックアップとして機能するようにします。

3. 冗長性の有効化

Azureでは、両方のVPN Gatewaysをフル・メッシュの両方の回路にリンクしているため、アクションは必要ありません。

OCIでは、次の2つのことを行う必要があります。

a.FastConnectリンクと連携するようにRPCを構成します。

RPC DRGルート表に移動してクリックします。

rpcrt1

次に、インポート配布リストをクリックします。

rpcrt2

次のRoute Distribution文を追加します。

statement

注意: この手順は、AshburnとPhoenixの両方のリージョンで実行してください。

b.各OCIリージョンのインターコネクトで、他のリージョンの優先ルートを少なくしてアドバタイズする必要があります。たとえば、Ashburnでは、Phoenix VCNサブネット(10.1.0.0/24)より優先されないPhoenix VCN CIDR(10.1.0.0/16)をアドバタイズします。FastConnectを介してサブネットを手動で通知する方法は、FastConnect DRGルート表に静的ルート・エントリを配置することです。

Ashburn FastConnect DRG Route表に移動し、クリックします。

fcrt

Phoenix VCN CIDR(/16)の次ホップRPCに静的エントリを追加します:

drgstaticroute

Phoenix Interconnectについても同じ手順を繰り返します。静的ルートは次のようになります。

phxstatic

次に、両方のクラウドで新しいルーティング情報を確認します。

OCI

Ashburn:

new ashb routes

Phoenix:

newphxroutes

Azure

East Interconnect:

newinterroutes

West Interconnect:

westintercnewroutes

実際のルーティングの計算:

compactual

これらすべての情報を図に追加します。

complete diagram

これにより、冗長なマルチリージョンOCI-Azure Interconnectが可能になります。

4. 冗長性テスト

最後に、冗長性をテストします。AzureからOCIへのpingを見てみましょう。

azureping

両方のコンピュート・インスタンスが同じリージョン(Ashburn/US East2)にあるため、レイテンシは6ミリ秒です。

East Interconnectの障害をシミュレートします。OCI側で回線を非アクティブ化することで、これを実行できます。

deactivatecirc

数秒以内に、フローはバックアップ・パスを介して再ルーティングされます。実際の回線が失敗した場合、BGPタイマーが原因で再ルーティングに時間がかかることに注意してください。今回のケースでは、「deactivate」によってグレースフル・シャットダウンが開始されました。

azureping2

パケットがAzure US East2からUS West3、OCI Phoenix、OCI Ashburnの順に移動する必要があるため、レイテンシは113ミリ秒に急増しました。理想的ではありませんが、サービスの中断はありません。

まとめ

OCIとAzureの両方から様々なネットワーク構造を使用することで、完全に冗長なマルチリージョン・ネットワーク・アーキテクチャを作成できました。