Microsoft and Oracle to Interconnect Microsoft Azure and Oracle Cloud
Microsoft Azure と Oracle Cloud Infrastructure (OCI)のデータセンターがインターネットを経由することなく低レイテンシの OCI- Azure Interconnectで安全に相互接続できるようになりました。
一部のワークロードを'Oracle Cloud'で実行し、同じワークロードの別の部分を'Azure'で実行することが可能となり、既存のIT投資を保護しながら、高度に最適化された両クラウドの最高の部分を活用することができます。
また、この相互接続において、オラクルとマイクロソフトは統合された IDとアクセス管理も提供します。お客様はクラウド・リソースとアプリケーションにアクセスする際に複数のパスワードを管理する必要がありません。
ということで、相互接続をおこない、Oracle Cloud と Azure のインスタンスどうしが Network通信できることを確認してみてみます。
■ 構成
この接続では、Azure ExpressRoute回線と Oracle Cloud Infrastructure FastConnect仮想回線を作成して接続します。
FastConnectが個人で設定して開通できるのがうれしい
また、Azure側にはオプションがあり、ExpressRoute FastPathが有効になっていると、ゲートウェイはバイパスされ、ネットワーク トラフィックが仮想ネットワーク内の仮想マシンに直接送信されるようになり、レイテンシが短縮されます。
・ Azure-OCIコンポーネント対応表
Azure | OCI |
---|---|
ExpressRoute | FastConnect |
Virtual Network (VNet) 仮想ネットワーク |
Virtual Cloud Network (VCN) 仮想クラウド・ネットワーク |
Virtual Network Gateway 仮想ネットワーク ゲートウェイ |
Dynamic Routing Gateway (DRG) 動的ルーティング・ゲートウェイ |
Route Tables ルートテーブル |
Route Tables ルート表 |
Network Security Groups ネットワーク セキュリティ グループ |
Security Lists セキュリティ・リスト |
■ 相互接続設定
● Azure:ExpressRoute設定
1) Azure コンソール画面
AzureにLogin後[すべてのサービス] > [ネットワーキング] > [ExpressRoute回線]をクリック
2) ExpressRoute回線画面
[ExpressRoute回線の作成]をクリック
3) ExpressRoute回線の作成画面
「ExpressRoute回線の作成」画面で以下のように設定し、[作成]をクリックし作成
・回線名:任意の名前を設定
・プロバイダー:[Oracle Cloud FastConnect]を選択
・ピアリングの場所:[Washington DC]を選択
・帯域幅:50Mbps〜10Gbps の範囲から選択
・SKUと課金モデル:[制限無]もしくは[従量課金]を選択
・場所:(米国)米国東部を選択
作成後、作成された ExpressRouteをダブルクリック
● OCI:FastConnect設定
VCNのFastConnect用GatewayであるDRGを作成し、ExporessRoute作成時に発行された「サービス キー」を使用してFastConnectを作成し開通させます
・DRG作成
VCN内のインスタンスが FastConeectを通る Gatewayの DRGを作成しVCNへアタッチします
1) DRG(動的ルーティング・ゲートウェイ)作成画面
「ネットワーキング」>「動的ルーティング・ゲートウェイ」を選択し、[動的ルーティングゲートウェイの作成]をクリックし作成
2) DRGをVCNにアタッチ
作成した DRGの左ペインにあるリソース> 仮想クラウド・ネットワークを選択して、
[仮想クラウド・ネットワークにアタッチ]をクリックし、
仮想クラウド・ネットワーク項目に DRGをアタッチするVCNを選択して[アタッチ]
・FastConnect作成
ExpressRouteと接続するためのFastConnect仮想回線を作成し設定します
1) FastConnect画面
FastConnectOCIにLOGIN後[ネットワーキング] > [FastConnect] を選択し、[接続の作成]をクリック
2) 接続の作成画面(1/2)
[プロバイダを通じた接続]を選択し、[Microsoft Azure:ExpressRoute]を選択し[続行]をクリック
3) 接続の作成画面(2/2)
以下のように設定
・動的ルーティング・ゲートウェイ:VCNにアタッチするDRGを選択
・プロビジョニングされた帯域幅:1~10GまでGbps単位で選択
・プロバイダ・サービス・キー:Azure ExpressRouteを作成した時に出力された「サービス キー」を入力
・各BGPアドレス:プライマリ/セカンダリ個別に /30 Subnet Mask の範囲で、ORACLE側は2番目、顧客側は3番目のIPアドレスを設定
BGPペアごとに、/28から/31までのサブネット・マスクを持つ個別のアドレス・ブロックを指定する必要があります。
各アドレス・ブロックの2番目と3番目のアドレスは、BGP IPアドレス・ペアに使用されます。具体的には次のようにアサインするIPは決まります。
1) ブロック内の2番目のアドレスはBGPセッションのOracle側用です
2) ブロック内の3番目のアドレスはBGPセッションのAzure側用です
ブロック内の最初のアドレスと最後のアドレスは、他の内部目的に使用されます。
6) プロビジョニング完了
プロビジョニング完了するとアイコンが緑色に変わりStatusが稼働中となり、接続が完了します
● Azure:ExpressRouteのプロビジョニング完了確認
作成したExpressRoute回線の画面にある「ピアリング」項にある種類の[Azureプライベート]がプロビジョニング済みとなり、プライマリ/セカンダリサブネットに IPが設定されていることを確認
■ Azure:ExpressRouteとVNet(Virtual Network)接続
VNet内のインスタンスがExpressRouteを通るようExpressRouteとVNetを接続します
● 仮想ネットワークゲートウェイ作成
VNetと ExpressRouteを接続するためのゲートウェイを作成します
1) Azure コンソール画面
[全てのサービス] > [ネットワーキング] > [仮想ネットワークゲートウェイ]をクリック
2) 仮想ネットワークゲートウェイ画面
[仮想ネットワークゲートウェイの作成]をクリック
3) 仮想ネットワーク ゲートウェイの作成画面
以下必要内容を設定し、[確認および作成]をクリック
・地域:(米国)米国東部を選択
・ゲートウェイの種類:[ExpressRoute]を選択
・SKU:必要なSKUを選択
・仮想ネットワーク:付属させる仮想ネットワークを選択
・ゲートウェイサブネットのアドレス範囲:選択した仮想ネットワーク内に配置するための専用サブネットを設定
・パブリックIPアドレス:作成する仮想ネットワーク ゲートウェイのIPを設定
*SKUで[Ultra Performance]もしくは[ErGw3AZ]を選択すると「ExpressRoute FastPath」が有効になります
4) 確認および作成画面
設定した内容を確認して[作成]をクリック
5) 仮想ネットワーク ゲートウェイ画面
作成されたことを確認
● ExpressRouteと VNet(仮想ネットワーク)を接続
ExpressRouteとVNetのデータセンターを接続します
1) Azure コンソール画面
[すべてのサービス] > [ネットワーキング] > [接続]をクリック
3) 基本画面
以下のように設定
・接続の種類:[ExpressRoute]を選択、
・場所:[米国]米国東部を選択
4) 設定画面
以下のように設定
・仮想ネットワークゲートウェイ:作成したExpressRoute用の仮想ネットワークゲートウェイを選択
・ExpressRoute回線:作成したExpressRoute回線を選択
・接続名:任意の名前を設定
■ Azure:ルートとセキュリティ設定
Azureから OCIのインスタンスに通信が通るようにネットワーク制御を行います
● ルートテーブル設定
以下のように OCI側の CIDR:10.0.0.0/16が仮想ネットワークゲートウェイを通るように設定
● ネットワーク セキュリティ グループ設定
以下のように OCI側の CIDR:10.0.0.0/16の通信が受信/送信セキュリティ規則が通るように設定
■ OCI:ルートとセキュリティ設定
OCIから Azureのインスタンスに通信が通るようにネットワーク制御を行います
● ルート表設定
以下のように Azure側のCIDR:10.200.0.0/16がDRGを通るように設定
● セキュリティ・リスト設定
以下のようにAzure側の CIDR:10.200.0.0/16の通信がイングレス/エグレスルールで通るように設定
■ 接続確認
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
■ ExpressRoute FastPath の設定
FastPath の目的は、お使いのオンプレミス ネットワークと仮想ネットワークの間のデータ パスのパフォーマンスを向上させることです。 FastPath が有効になっていると、ゲートウェイはバイパスされ、ネットワーク トラフィックが仮想ネットワーク内の仮想マシンに直接送信されます。
手順は次が参考になります。
・参考: Oracle Interconnect for Azure を FastPathと高速ネットワークで相互接続
■ 参考
● News
・Microsoft and Oracle to interconnect Microsoft Azure and Oracle Cloud
・Accelerate your cloud adoption with Microsoft and Oracle
・Oracle CloudとMicrosoft Azureでマルチクラウドの導入を迅速化
・OCIとAzureとのマルチクラウド
● OCI Documents
・Access to Microsoft Azure
・Oracle Database Service for Azure (ODSA)
・OCIとAzureとのマルチクラウド
● Azure Documents
・Oracle application solutions integrating Microsoft Azure and Oracle Cloud Infrastructure (preview)
・ExpressRoute FastPath について
・ExpressRoute Global Reach
・Oracle Cloud Infrastructure への接続
・Azure と Oracle Cloud Infrastructure 間の直接相互接続をセットアップする
・Microsoft Azure と Oracle Cloud Infrastructure を統合した Oracle アプリケーション ソリューション
● その他
・クラウドでのネットワーク レイテンシの測定
・フェッチ サイズを調整して、Oracle Database Service for Azure での大規模なクエリのパフォーマンスを最適化します。
・Addressing MTU issues in Oracle Database for Azure when PMTUD is blocked