LoginSignup
64
27

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

Last updated at Posted at 2019-06-06

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が有効になっていると、ゲートウェイはバイパスされ、ネットワーク トラフィックが仮想ネットワーク内の仮想マシンに直接送信されるようになり、レイテンシが短縮されます。

・ 構成イメージ
構成2.png

・ 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回線]をクリック
10_ExpressRoute01.png

2) ExpressRoute回線画面
[ExpressRoute回線の作成]をクリック
10_ExpressRoute02.png

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

・回線名:任意の名前を設定
・プロバイダー:[Oracle Cloud FastConnect]を選択
・ピアリングの場所:[Washington DC]を選択
・帯域幅:50Mbps〜10Gbps の範囲から選択
・SKUと課金モデル:[制限無]もしくは[従量課金]を選択
・場所:(米国)米国東部を選択

10_ExpressRoute03.png

4) デプロイ実行中
数分待ちます。
10_ExpressRoute04.png

作成後、作成された ExpressRouteをダブルクリック
10_ExpressRoute05.png

  1. 作成した 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) FastConnect画面
FastConnectOCIにLOGIN後[ネットワーキング] > [FastConnect] を選択し、[接続の作成]をクリック
11_FastCOnnect01.png

2) 接続の作成画面(1/2)
[プロバイダを通じた接続]を選択し、[Microsoft Azure:ExpressRoute]を選択し[続行]をクリック
11_FastCOnnect02.png

3) 接続の作成画面(2/2)
以下のように設定

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

11_FastCOnnect03.png

4) 接続の作成されました画面
[閉じる]をクリック
11_FastCOnnect04.png

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

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

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

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

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

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

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

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

1) Azure コンソール画面
[全てのサービス] > [ネットワーキング] > [仮想ネットワークゲートウェイ]をクリック
12_Azure_仮想ネットワークゲートウェイ01.png

2) 仮想ネットワークゲートウェイ画面
[仮想ネットワークゲートウェイの作成]をクリック
12_Azure_仮想ネットワークゲートウェイ02.png

3) 仮想ネットワーク ゲートウェイの作成画面
以下必要内容を設定し、[確認および作成]をクリック

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

*SKUで[Ultra Performance]もしくは[ErGw3AZ]を選択すると「ExpressRoute FastPath」が有効になります
12_Azure_仮想ネットワークゲートウェイ03.png

4) 確認および作成画面
設定した内容を確認して[作成]をクリック
12_Azure_仮想ネットワークゲートウェイ04.png

5) 仮想ネットワーク ゲートウェイ画面
作成されたことを確認
12_Azure_仮想ネットワークゲートウェイ05.png

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

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

1) Azure コンソール画面
[すべてのサービス] > [ネットワーキング] > [接続]をクリック
13_Azure_接続作成01.png

2) 接続画面
[接続の作成]をクリック
13_Azure_接続作成02.png

3) 基本画面
以下のように設定

・接続の種類:[ExpressRoute]を選択、
・場所:[米国]米国東部を選択

13_Azure_接続作成03.png

4) 設定画面
以下のように設定

・仮想ネットワークゲートウェイ:作成したExpressRoute用の仮想ネットワークゲートウェイを選択
・ExpressRoute回線:作成したExpressRoute回線を選択
・接続名:任意の名前を設定

13_Azure_接続作成04.png

5) 概要画面
 設定した内容を確認し、[OK]をクリック
13_Azure_接続作成05.png

6) 作成成功
作成した接続の状態が「成功」になれば完了
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

■ 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

64
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
64
27