Azure ExpressRoute と OCI FastConnect でクラウド直接相互接続を試す

  • 投稿日:2020.08.28
  •        
  • 更新日:2020.09.01
  •           
  • Azure
  • ,
Azure ExpressRoute と OCI FastConnect でクラウド直接相互接続を試す

Azure などのクラウドプラットフォームサービスでは、オンプレミス拠点と直接接続するネットワーキングサービスが提供されています。エンタープライズ向けに需要が高いサービスではありますが、利用するには必要なリソースのデプロイのほか、接続先となる拠点設備が必要なので中々試す機会がありません。

しかし昨年 Azure と OCI が直接相互接続できるサービスが発表されました。OCI の無料クレジットがある間に構成を試してみます。

https://docs.microsoft.com/ja-jp/azure/virtual-machines/workloads/oracle/configure-azure-oci-networking

Azure と OCI の直接相互接続構成

今回 Azure と OCI を直接接続する構成は次の図の通りです。Azure 側は ExpressRoute と仮想ネットワークを接続、OCI 側は FastConnect と仮想クラウドネットワークを接続します。

Azure の仮想ネットワークは特に設定しなくてもインターネット接続できます。OCI 側はプライベートサブネットを作成し、インターネット接続とイントラネット接続を振り分けるようルーティングを設定します。

Azure と OCI の接続は現在次のリージョンに限定されています。

  • Azure 米国東部 (EastUS) および OCI アッシュバーン、VA (米国東部)
  • Azure 英国南部 (UKSouth) および OCI ロンドン (英国南部)
  • Azure カナダ中部 (CanadaCentral) および OCI トロント (カナダ南東部)
  • Azure 西ヨーロッパ (WestEurope) および OCI アムステルダム (オランダ北西部)
  • Azure 東日本 (JapanEast) および OCI 東京 (東日本)

直接相互接続の構築

Azure:ExpressRoute 回線展開

まずは Azure で ExpressRoute 回線リソースを作成します。[リソースの作成]で「ExpressRoute」と検索し、ExpressRoute 回線を選択します。[作成]からリソースの作成を始めます。

[基本]タブでリソース展開先のサブスクリプションとリソースグループを作成します。[リージョン][東日本]を指定します。

次のようにパラメーターを指定して[次へ]をクリックします。

  • [ポートの種類][プロバイダー]
  • [新規作成またはクラシックからインポート][新規作成]
  • [プロバイダー][Oracle Cloud FastConnect]
  • [ピアリングの場所][Tokyo]
  • [帯域幅][50Mbps](お好きな帯域幅を選択、料金注意)
  • [SKU][Standard]
  • [課金モデル][従量制課金]
  • [クラシック操作を許可する][いいえ]

設定内容を確認して[作成]をクリックします。

回線の作成が終わるのを待ちます。

[サービスキー]の値を控えておきます。OCI 側の設定で必要になります。

OCI:VCN 作成

OCI 側で仮想クラウドネットワーク(VCN)を作成します。Oracle Cloud ポータルにサインインし、メニューの[ネットワーキング]>[仮想クラウド・ネットワーク]をクリックします。

[VCNの作成]をクリックします。

[仮想クラウド・ネットワークの作成]にて、VCN の名前と利用する IP アドレス空間を CIDR 形式で指定します。パラメーターを指定して[作成]をクリックします。

  • [名前]:「SNY-LAB-TKY-VCN」
  • [コンパートメントに作成]:作成するコンパートメントを指定
  • [CIDR ブロック]:「172.20.1.0/24」

VCN の作成が完了したら、[サブネット]を選択して[サブネットの作成]をクリックします。

プライベートサブネットを作成してみます。こだわりなければパブリックサブネットでも問題ないです。パラメーターを入力したら[サブネットの作成]をクリックします。

  • [名前]:「ClientSubnet」
  • [CIDR ブロック]:「172.20.1.0/26」
  • [ルート表]:デフォルトのまま
  • [サブネット・アクセス][プライベート・サブネット]

OCI:動的ルーティングゲートウェイ作成

次に動的ルーティング・ゲートウェイ(DRG)を作成します。VCN のメニューから[動的ルーティング・ゲートウェイ]を選択し、[動的ルーティング・ゲートウェイの作成]をクリックします。

DRG のパラメーターを入力します。パラメーターを入力したら[動的ルーティング・ゲートウェイの作成]をクリックします。

  • [コンパートメントに作成]:作成するコンパートメントを指定します。
  • [名前]:「SNY-LAB-TKY-DRG」

作成が完了するまでしばらく待ちます。

メニューから[仮想クラウド・ネットワーク]を選択し、[仮想クラウド・ネットワークにアタッチ]をクリックします。

[(コンパートメント)の仮想クラウド・ネットワーク]で先ほど作った VCN を選択し、[仮想クラウド・ネットワークにアタッチ]をクリックします。

DRG が VCN にアタッチされることを確認します。

OCI:FastConnect 作成

ExpressRoute の接続先となる FastConnect を作成します。メニューから[FastConnect]を選択し、[FastConnectの作成]をクリックします。

[接続タイプ]にて、パラメーターを入力して[次へ]をクリックします。

  • [接続タイプ][FastConnectパートナ]
  • [パートナ][Microsoft Azure ExpressRoute]

[構成]にて、パラメーターを入力して[作成]をクリックします。

  • [名前]:「SNY-LAB-TKY-FC」
  • [コンパートメント]:作成先のコンパートメントを選択
  • [仮想回線タイプ][プライベート仮想回線]
  • [(コンパートメント)の動的ルーティング・ゲートウェイ]:作成した DRG を選択
  • [プロビジョニングされた帯域幅][1 Gbps]
  • [パートナ・サービス・キー]:ExpressRoute のサービスキー
  • BGP IP アドレスとして /29 のアドレスレンジが必要となる。
  • プライマリとセカンダリでそれぞれ /30 に分割する。
    • [顧客プライマリ BGP IP アドレス]:/30 に分割したアドレスのうち大きい数字の IP アドレス
    • [ORACLE プライマリ BGP IP アドレス]:/30 に分割したアドレスのうち小さい数字の IP アドレス
    • [顧客セカンダリ BGP IP アドレス]:/30 に分割したアドレスのうち大きい数字の IP アドレス
    • [ORACLE セカンダリ BGP IP アドレス]:/30 に分割したアドレスのうち小さい数字の IP アドレス

作成されるまでしばらく待ちます。

ExpressRoute の[プロビジョニング状態][プロビジョニング済み]となるのを確認します。

FastConnect 側も[ライフサイクル状態][プロビジョニング済み][BGP状態][稼働中]となることを確認します。

Azure:仮想ネットワーク展開

Azure 側で仮想ネットワークとサブネットを作成します。構成は次の通りです。

Azure:ExpressRoute ゲートウェイ展開

[リソースの作成]から「仮想ネットワークゲートウェイ」を検索し作成します。作成まで数十分かかるのでしばらく待ちます。

  • [名前]:「SNY-LAB-ER-EGW」
  • [地域][東日本]
  • [ゲートウェイの種類][ExpressRoute]
  • [SKU][Standard]
  • [仮想ネットワーク]:作成した仮想ネットワークを選択
  • [パブリック IP アドレス][新規作成]
  • [パブリック IP アドレス名]:「SNY-LAB-ER-EGW-PIP」

Azure:ExpressRoute 接続

ExpressRoute 回線リソースを選択し、メニューから[接続]をクリックします。上部の[追加]をクリックします。

[名前]に接続を識別する名前を指定します。

[仮想ネットワークゲートウェイ]で先ほど作成したゲートウェイを選択します。

通信確認用の仮想マシンを作成

Azure と OCI にそれぞれ通信確認用の仮想マシンを作成しておきます。

  • Azure:Ubuntu 18.04
  • OCI:Oracle Linux

ルーティング/セキュリティ設定

OCI:NAT ゲートウェイ作成

OCI の VCN はプライベートサブネットで作っていたので、インターネット通信するには NAT ゲートウェイを作成しておきます。

OCI:ルーティングテーブル作成

OCI で次のようなルーティングテーブルを作成し、サブネットに割り当てます。

  • 0.0.0.0/0:NAT ゲートウェイ
  • 10.0.0.0/8:DRG
  • 172.16.0.0/12:DRG
  • 192.168.0.0/16:DRG

OCI:セキュリティルール作成

セキュリティルールに Azure のネットワークアドレスからの通信を許可するルールを追加しておきます。TCP/UDP 5201 のルールはあとの手順で使う iperf3 用の通信ポートです。

Azure:ルーティング情報確認

Azure 仮想マシンの NIC リソースを選択し、[有効なルート]をクリックすると、FastConnect から ExpressRoute 経由で受信した OCI の経路が広報されていることを確認できます。

接続確認

Azure と OCI の仮想マシンにそれぞれ iperf3 をインストールし、疎通を確認します。

OCI から Azure

[opc@sny-lab-tky-ocivm ~]$ iperf3 -c 172.17.1.4
Connecting to host 172.17.1.4, port 5201
[ 4] local 172.20.1.3 port 47386 connected to 172.17.1.4 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 62.3 MBytes 523 Mbits/sec 57 2.10 MBytes
[ 4] 1.00-2.00 sec 77.5 MBytes 650 Mbits/sec 1987 276 KBytes
[ 4] 2.00-3.00 sec 53.8 MBytes 451 Mbits/sec 61 247 KBytes
[ 4] 3.00-4.00 sec 53.8 MBytes 451 Mbits/sec 53 161 KBytes
[ 4] 4.00-5.00 sec 52.5 MBytes 440 Mbits/sec 0 324 KBytes
[ 4] 5.00-6.00 sec 56.2 MBytes 472 Mbits/sec 118 290 KBytes
[ 4] 6.00-7.00 sec 53.8 MBytes 451 Mbits/sec 108 176 KBytes
[ 4] 7.00-8.00 sec 53.8 MBytes 451 Mbits/sec 0 332 KBytes
[ 4] 8.00-9.00 sec 56.2 MBytes 472 Mbits/sec 56 299 KBytes
[ 4] 9.00-10.00 sec 51.2 MBytes 430 Mbits/sec 30 277 KBytes

[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 571 MBytes 479 Mbits/sec 2470 sender
[ 4] 0.00-10.00 sec 568 MBytes 477 Mbits/sec receiver
iperf Done.

Azure から OCI

snyadmin@SNY-LAB-ER-VM:~$ iperf3 -c 172.20.1.3
Connecting to host 172.20.1.3, port 5201
[ 4] local 172.17.1.4 port 37858 connected to 172.20.1.3 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 80.3 MBytes 673 Mbits/sec 114 194 KBytes
[ 4] 1.00-2.00 sec 49.5 MBytes 415 Mbits/sec 52 174 KBytes
[ 4] 2.00-3.00 sec 58.5 MBytes 491 Mbits/sec 109 195 KBytes
[ 4] 3.00-4.00 sec 53.4 MBytes 448 Mbits/sec 60 226 KBytes
[ 4] 4.00-5.00 sec 55.7 MBytes 467 Mbits/sec 63 255 KBytes
[ 4] 5.00-6.00 sec 56.6 MBytes 475 Mbits/sec 83 218 KBytes
[ 4] 6.00-7.00 sec 51.7 MBytes 433 Mbits/sec 56 283 KBytes
[ 4] 7.00-8.00 sec 57.2 MBytes 480 Mbits/sec 191 222 KBytes
[ 4] 8.00-9.00 sec 54.7 MBytes 459 Mbits/sec 51 256 KBytes
[ 4] 9.00-10.00 sec 49.9 MBytes 419 Mbits/sec 105 233 KBytes

[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 568 MBytes 476 Mbits/sec 884 sender
[ 4] 0.00-10.00 sec 564 MBytes 473 Mbits/sec receiver
iperf Done.

どちらからも 500Mbps 弱の速度が出ました。ExpressRoute は 50Mbps の帯域でデプロイしていたのですが、上限値がどうなっているか気になります。Azure は BGP で受信した経路を自動的に仮想ネットワーク内に広報する動作ですが、OCI は明示的にルートを定義する必要があるのが引っかかりました。

ExpressRoute の検証に対向拠点が欲しい時にも使えそうです。実際は対向ネットワーク機器の設定など専門的な知識が必要ですが、クラウド同士なら敷居は低そうです。