Azure
oracle
oci
ExpressRoute
FastConnect

Microsoft Azure と Oracle CloudをCross-Cloud接続してみてみた


■目的

Microsoft Azure と Oracle Cloud Infrastructure(OCI)のDCがインターネットを経由することなく相互接続できるようになったので、接続してみました。

Microsoft and Oracle to Interconnect Microsoft Azure and Oracle Cloud

相互接続後,AzureとOCIのインスタンスどうしが接続できることを確認します。


■構成図

この接続では、Azure ExpressRoute回線とOracle Cloud Infrastructure FastConnect仮想回線を作成して接続します。

構成2.png

FastConnectが個人で設定して開通できるのがうれしい


■相互接続設定


●Azure:ExpressRoute設定

1) AzureにLogin後[すべてのサービス] > [ネットワーキング] > [ExpressRoute回線]をクリック

10_ExpressRoute01.png

2) [ExpressRoute回線の作成]をクリック

10_ExpressRoute02.png

3) 「ExpressRoute回線の作成」画面で以下のように設定し、[作成]をクリックし作成

・回線名:任意の名前を設定

・プロバイダー:[Oracle Cloud FastConnect]を選択
・ピアリングの場所:[Washington DC]を選択
・帯域幅:50Mbps〜10Gbps の範囲から選択
・SKUと課金モデル:お財布に相談して選択
・場所:(米国)米国東部を選択

10_ExpressRoute03.png

4)デプロイ実行中

数分待ちます。

10_ExpressRoute04.png

作成後、作成されたExpressRouteをダブルクリック

10_ExpressRoute05.png

5) 作成したExpressRoute画面

 「サービス キー」をコピーします。

 この「サービス キー」を使用してOCIのFastConnectを作成します

10_ExpressRoute06のコピー.png


●OCI:FastConnect設定

VCNのFastConnect用GatewayであるDRGを作成し、ExporessRoute作成時に発行された「サービス キー」を使用してFastConnectを作成し開通させます


・DRG作成

VCN内のインスタンスがFastConeectを通るGatewayのDRGを作成しVCNへアタッチします

1) DRG(動的ルーティング・ゲートウェイ)作成

 

 「ネットワーキング」>「動的ルーティング・ゲートウェイ」を選択し、[動的ルーティングゲートウェイの作成]をクリックし作成

7_DRG01.png

2)DRGをVCNにアタッチ

作成したDRGの左ペインにあるリソース> 仮想クラウド・ネットワークを選択して、

[仮想クラウド・ネットワークにアタッチ]をクリックし、

仮想クラウド・ネットワーク項目にDRGをアタッチするVCNを選択して[アタッチ]

7_DRG03.png

アタッチ完了

7_DRG04.png


・FastConnect作成

ExpressRouteと接続するためのFastConnect仮想回線を作成し設定します

1) OCIにLOGIN後[ネットワーキング] > [FastConnect] を選択し、[接続の作成]をクリック

11_FastCOnnect01.png

2) 「接続の作成」画面

[プロバイダを通じた接続]を選択し、[Microsoft Azure:ExpressRoute]を選択し[続行]をクリック

11_FastCOnnect02.png

3) 「接続の作成」画面

以下のように設定

・動的ルーティング・ゲートウェイ:VCNにアタッチするDRGを選択

・プロビジョニングされた帯域幅:1~10GまでGbps単位で選択
・プロバイダ・サービス・キー:Azure ExpressRouteを作成した時に出力された「サービス キー」を入力
・各BGPアドレス:/30の範囲でそれぞれ任意のIPで設定

11_FastCOnnect03.png

4) 「接続の作成されました」画面

[閉じる]をクリック

11_FastCOnnect04.png

5) プロビジョニング中なので数分待ちます

11_FastCOnnect05.png

6) プロビジョニング完了するとICONが緑色に変わりStatusが稼働中となり、接続が完了します

11_FastCOnnect06.png


●Azure:ExpressRouteのプロビジョニング完了確認

作成したExpressRoute回線の画面にある「ピアリング」項にある種類の[Azureプライベート]がプロビジョニング済みとなり、プライマリ/セカンダリサブネットにIPが設定されていることを確認

10_ExpressRoute08.png


■Azure:ExpressRouteとVNet(Virtual Network)接続

VNet内のインスタンスがExpressRouteを通るようExpressRouteとVNetを接続します


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

VNetとExpressRouteを接続するためのゲートウェイを作成します

1)[全てのサービス] > [ネットワーキング] > [仮想ネットワークゲートウェイ]をクリック

12_Azure_仮想ネットワークゲートウェイ01.png

2)[仮想ネットワークゲートウェイの作成]をクリック

12_Azure_仮想ネットワークゲートウェイ02.png

3)仮想ネットワーク ゲートウェイの作成画面

以下必要内容を設定し、[確認および作成]をクリック

・地域:(米国)米国東部を選択

・ゲートウェイの種類:[ExpressRoute]を選択
・SKU:必要なSKUを選択
・仮想ネットワーク:付属させる仮想ネットワークを選択
・ゲートウェイサブネットのアドレス範囲:選択した仮想ネットワーク内に配置するための専用サブネットを設定
・パブリックIPアドレス:作成する仮想ネットワーク ゲートウェイのIPを設定

12_Azure_仮想ネットワークゲートウェイ03.png

4)確認および作成画面

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

12_Azure_仮想ネットワークゲートウェイ04.png

5)仮想ネットワーク ゲートウェイ画面

作成されたことを確認

12_Azure_仮想ネットワークゲートウェイ05.png


●ExpressRouteとVNet(仮想ネットワーク)を接続

ExpressRouteとVNetのデータセンターを接続します

1) [すべてのサービス] > [ネットワーキング] > [接続]をクリック

13_Azure_接続作成01.png

2)接続画面

[接続の作成]をクリック

13_Azure_接続作成02.png

3) [基本]画面

以下のように設定

・接続の種類:[ExpressRoute]を選択、

・場所:[米国]米国東部を選択

13_Azure_接続作成03.png

4)[設定]画面

以下のように設定

・仮想ネットワークゲートウェイ:作成したExpressRoute用の仮想ネットワークゲートウェイを選択

・ExpressRoute回線:作成したExpressRoute回線を選択
・接続名:任意の名前を設定

13_Azure_接続作成04.png

4)概要画面

 設定した内容を確認し、[OK]をクリック

13_Azure_接続作成05.png

5)作成した接続の状態が「成功」になれば完了

13_Azure_接続作成06.png


■Azure:ルートとセキュリティ設定

AzureからOCIのインスタンスに通信が通るようにネットワーク制御を行います


●ルートテーブル設定

以下のようにOCI側のCIDR:10.0.0.0/16が仮想ネットワークゲートウェイを通るように設定

21_Azure_ROuteTable01.png


●ネットワーク セキュリティ グループ設定

以下のようにOCI側のCIDR:10.0.0.0/16の通信が受信/送信セキュリティ規則が通るように設定

20_Azure_セキュリティグループ02.png


■OCI:ルートとセキュリティ設定

OCIからAzureのインスタンスに通信が通るようにネットワーク制御を行います


●ルート表設定

以下のようにAzure側のCIDR:10.200.0.0/16がDRGを通るように設定

31_OCI-ROuteTable.png


●セキュリティ・リスト設定

以下のようにAzure側のCIDR:10.200.0.0/16の通信がイングレス/エグレスルールで通るように設定

31_OCI-SecuretyList.png


■接続確認

OCIとAzureそれぞれに作成したInstanceどうしが接続できることを確認


●OCI -> Azure接続確認

・traceroute確認

[root@oci-inst01 ~]# traceroute 10.200.0.4 -n

traceroute to 10.200.0.4 (10.200.0.4), 30 hops max, 60 byte packets
1 xxx.xxx.xxx.xxx 0.083 ms 0.052 ms xxx.xxx.xxx.xxx 0.060 ms
2 10.255.255.22 0.413 ms 0.381 ms 0.394 ms
3 * * *
4 10.200.0.4 2.041 ms * *

・ping確認

[root@oci-inst01 ~]# ping 10.200.0.4 -c 3

PING 10.200.0.4 (10.200.0.4) 56(84) bytes of data.
64 bytes from 10.200.0.4: icmp_seq=1 ttl=62 time=1.77 ms
64 bytes from 10.200.0.4: icmp_seq=2 ttl=62 time=1.61 ms
64 bytes from 10.200.0.4: icmp_seq=3 ttl=62 time=1.81 ms

--- 10.200.0.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 1.612/1.735/1.815/0.088 ms

・iperf3確認

[root@oci-inst01 ~]# iperf3 -c 10.200.0.4

Connecting to host 10.200.0.4, port 5201
[ 4] local 10.0.0.2 port 55984 connected to 10.200.0.4 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 56.6 MBytes 475 Mbits/sec 1678 177 KBytes
[ 4] 1.00-2.00 sec 56.1 MBytes 470 Mbits/sec 910 221 KBytes
[ 4] 2.00-3.00 sec 55.3 MBytes 464 Mbits/sec 1355 203 KBytes
[ 4] 3.00-4.00 sec 55.0 MBytes 461 Mbits/sec 1188 225 KBytes
[ 4] 4.00-5.00 sec 55.4 MBytes 465 Mbits/sec 1357 249 KBytes
[ 4] 5.00-6.00 sec 54.5 MBytes 457 Mbits/sec 1481 177 KBytes
[ 4] 6.00-7.00 sec 56.0 MBytes 470 Mbits/sec 1119 205 KBytes
[ 4] 7.00-8.00 sec 54.9 MBytes 460 Mbits/sec 1126 233 KBytes
[ 4] 8.00-9.00 sec 55.2 MBytes 463 Mbits/sec 1461 268 KBytes
[ 4] 9.00-10.00 sec 55.5 MBytes 465 Mbits/sec 1310 281 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 554 MBytes 465 Mbits/sec 12985 sender
[ 4] 0.00-10.00 sec 553 MBytes 464 Mbits/sec receiver

iperf Done.

・ssh接続確認

[root@oci-inst01 ~]# ssh azure@10.200.0.4

The authenticity of host '10.200.0.4 (10.200.0.4)' can't be established.
ECDSA key fingerprint is SHA256:hZp9kiLehPBR7BxG2.
ECDSA key fingerprint is MD5:00:50:e2:25:13:9a:4f:00.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.200.0.4' (ECDSA) to the list of known hosts.
Password:

[azure@Azure-inst01 ~]$ hostname
Azure-inst01

[azure@Azure-inst01 ~]$ id -a
uid=1000(azure) gid=1000(azure) groups=1000(azure) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023


●Azure -> OCI接続確認

・traceroute確認

[root@Azure-inst01 azure]# traceroute 10.0.0.2 -n

traceroute to 10.0.0.2 (10.0.0.2), 30 hops max, 60 byte packets
1 10.200.1.5 2.152 ms 2.098 ms 10.200.1.4 2.042 ms
2 * * *
3 10.0.0.2 1.969 ms 1.938 ms 1.921 ms

・ping確認

[root@Azure-inst01 azure]# ping 10.0.0.2 -c 3

PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=61 time=1.76 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=61 time=1.86 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=61 time=1.77 ms

--- 10.0.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 1.763/1.799/1.861/0.055 ms

・iperf3確認

[root@Azure-inst01 azure]# iperf3 -s

-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 10.0.0.2, port 55982
[ 5] local 10.200.0.4 port 5201 connected to 10.0.0.2 port 55984
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 53.3 MBytes 447 Mbits/sec
[ 5] 1.00-2.00 sec 55.6 MBytes 467 Mbits/sec
[ 5] 2.00-3.00 sec 55.2 MBytes 463 Mbits/sec
[ 5] 3.00-4.00 sec 55.3 MBytes 464 Mbits/sec
[ 5] 4.00-5.00 sec 55.2 MBytes 463 Mbits/sec
[ 5] 5.00-6.00 sec 54.8 MBytes 460 Mbits/sec
[ 5] 6.00-7.00 sec 55.5 MBytes 466 Mbits/sec
[ 5] 7.00-8.00 sec 55.5 MBytes 465 Mbits/sec
[ 5] 8.00-9.00 sec 55.0 MBytes 461 Mbits/sec
[ 5] 9.00-10.00 sec 55.3 MBytes 464 Mbits/sec
[ 5] 10.00-10.04 sec 2.26 MBytes 504 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-10.04 sec 0.00 Bytes 0.00 bits/sec sender
[ 5] 0.00-10.04 sec 553 MBytes 462 Mbits/sec receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

・ssh接続確認

[root@Azure-inst01 ~]# ssh -i id_rsa opc@10.0.0.2

The authenticity of host '10.0.0.2 (10.0.0.2)' can't be established.
ECDSA key fingerprint is SHA256:1ab2pic9UmnaF1BqY.
ECDSA key fingerprint is MD5:0a:f9:23:ff:81:9c:a1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.2' (ECDSA) to the list of known hosts.

[opc@oci-inst01 ~]$ hostname
oci-inst01
[opc@oci-inst01 ~]$ id -a
uid=1000(opc) gid=1000(opc) groups=1000(opc),4(adm),10(wheel),190(systemd-journal) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023


■参考

Access to Microsoft Azure

Microsoft and Oracle to interconnect Microsoft Azure and Oracle Cloud

Accelerate your cloud adoption with Microsoft and Oracle

Oracle application solutions integrating Microsoft Azure and Oracle Cloud Infrastructure (preview)