49
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Cloud と Oracle Cloud を 相互接続してみてみた

Last updated at Posted at 2024-06-12

ORACLE と Google Cloud、マルチクラウド・パートナーシップを発表

ORACLE と Google Cloud は、Oracle Cloud Infrastructure (OCI) と Google Cloud テクノロジーを組み合わせてアプリケーションの移行と最新化を加速する選択肢を顧客に提供するパートナーシップを発表しました。
image.png
Oracle Interconnect for Google Cloud は、まず世界 11 地域で顧客オンボーディングに利用できるようになります。これにより、顧客はクラウド間のデータ転送料金なしで汎用ワークロードを展開できるようになります。
両社は Oracle Database@Google Cloud を共同で市場に投入し、金融サービス、ヘルスケア、小売、製造など、世界中のさまざまな業界の企業にメリットをもたらします。
「顧客は複数のクラウドを利用できる柔軟性を求めています」と、オラクルの会長兼CTOであるラリー・エリソンは述べています。「この高まる需要に応えるため、GoogleとオラクルはGoogle Cloudサービスを最新のOracle Databaseテクノロジーとシームレスに接続しています。Oracle Cloud InfrastructureハードウェアをGoogle Cloudデータセンターに設置することで、顧客は最高のデータベースとネットワークパフォーマンスの恩恵を受けることができます。」
ということで、Google Cloud Platform (GCP)と Oracle Cloud Infrastructure (OCI) を 東京リージョンで Oracle Interconnect for Google Cloud 接続してみてみます。

■ 構成イメージ

構成図.jpg

GCP インスタンスが、OCI の Object Storage へアクセスできるように OCI側は、ゲートウェイを介した直接の転送ルーティング を使用して Object Storage ルートも GCP へ BGP送信するように設定しておきます。

■ GCP側作業

相互接続 VLAN を作成し、ペアリング キーを確立します。
選択するリージョンが特定されたら、Google Cloud コンソールから(または gcloud コマンドを使用して)Partner Interconnect VLAN アタッチメントを作成できます。

● Cloud Router作成

Google Cloud Router では、Border Gateway Protocol(BGP)を使用して、Virtual Private Cloud(VPC)とオンプレミスのネットワークの間でルートを動的に交換します
1) GCPコンソール画面
[全てのプロダクト] > [ネットワーキング]をクリック
02_GCP_Cloud-Router作成00.png

2) ネットワーク接続画面
[CREATE ROUTER] をクリック
02_GCP_Cloud-Router作成01.png

3) Cloud Routerの作成画面
02_GCP_Cloud-Router作成02.png
次の項目を入力し、[作成]をクリック

・ 名前: 名前は、先頭が小文字で、その後に最大 62 文字の小文字、数字、ハイフンで構成します。末尾をハイフンにすることはできません
・ ネットワーク: ルーターを適用するネットワーク
・ リージョン: ここでは東京リージョンの asia-northeast1(東京)を選択
・ Google ASN: OCIと接続するため Google が所有するパブリック ASN 16550 を指定
・ BGPピアーキープアライブの間隔: ピアに送信される BGP キープアライブ メッセージの間隔(秒)です。設定する場合、値は 20~60 にする必要があります。デフォルトは 20 です。

4) Cloud Routerの作成完了
02_GCP_Cloud-Router作成03.png

5) Cloud Router作成(2つ目)画面
02_GCP_Cloud-Router作成04.png

6) Cloud Routerの作成完了
02_GCP_Cloud-Router作成05.png

● 相互接続作成

可用性を高めるために、冗長な VLAN ペアを作成します。冗長な VLAN ペアを作成すると、ペアリング キーが 2 つ作成されます。冗長性や SLA が必要ない場合は、単一の VLAN アタッチメントを作成し、ペアリング キーが 1 つだけになるようにすることができます。

1)相互接続画面
[VLANアタッチメントの作成]をクリック
11_GCP_相互接続01.png

2) VLANアタッチメントを追加画面
パートナーVLAN相互接続アタッチメントの作成します。
[Partner Intercinect 接続]を選択し、[作成]をクリック
11_GCP_相互接続02.png

3) 接続の確認画面
[すでにサービスプロバイダを利用しています]をクリック
11_GCP_相互接続03.png

4) VLANアタッチメントの追加画面
次の項目を入力し、[作成]をクリック

・ 冗長性: SLAを有効にするため[冗長な VLAN アタッチメント ペアを作成する(推奨)]を選択
・ ネットワーク: 事前に作成したVPCを選択
・ リージョン: ここでは、[asia-northeeaset1(東京)]を選択
・ VLAN A
 - Cloud Router: 事前に作成したCloud Routerを選択
 - VLAN アタッチメント名: 任意の名前を設定
 - IP スタック タイプ: [IPv4]を選択
 - 最大転送単位(MTU): MTU値を設定
・ VLAN B
 - Cloud Router: VLAN Aとは異なる事前に作成したVPCを選択
 - VLAN アタッチメント名: 任意の名前を設定
 - IP スタック タイプ: [IPv4]を選択
 - 最大転送単位(MTU): VLAN Aと同じ MTU値を設定

11_GCP_相互接続04.jpg

5) VPCネットワークへの接続画面
次の項目を設定し、[OK]をクリック

・ペアリングキー: OCIと接続するためのペアリングキーが表示されます。この値をを安全な場所に保存して、OCI コンソールでFastConnectを作成します。
・これらの VLAN アタッチメントを事前に有効にする: 仮想回線のプロビジョニング後に VLAN アタッチメントがアクティブ化されるのを避けるには、これらの VLAN アタッチメントを事前にアクティブ化するように[有効化]へチェックしておきます。

11_GCP_相互接続05.png

6) 相互接続画面
2つのVLANアタッチメントが作成されていることを確認
11_GCP_相互接続08.png

■ OCI側作業

Google Cloud パートナーを使用して FastConnect パートナー接続を作成します。
冗長化するために2つのFastConnectを作成します。

● FastConnect作成(1つ目)

1) OCIコンソール画面
[ネットワーキング] > [FastConnect]をクリック
21_OCI_FastConnect01作成01.png

2) FastConnect画面
[FastConnectの作成]をクリック
21_OCI_FastConnect01作成02.png

3) 接続の作成画面
次の項目を入力し、[次]をクリック

・接続タイプ: [FastConnectパートナー]を選択
・パートナー: [GCP: OCI Interconnect]を選択

21_OCI_FastConnect01作成03.png

4) 接続の作成画面
次の項目を入力し、[作成]をクリック

・名前: 任意の名前を設定
・コンパートメント: 作成するコンパートメントを選択
・接続回線タイプ: [プライベート仮想回線]を選択
・トラフィック: [すべてのトラフィック]を選択
・動的ルーティング・ゲートウェイ: 事前に作成したDRGを選択
・プロビジョニングされた帯域幅: 1G, 2G, 5G, 10G, 20G, 50G から選択、ここでは [1G] を選択
・パートナー・サービス・キー: GCP側で Interconnect作成時に事前に取得したキーを入力
・MTU: GCP の VLANアタッチメント作成時に設定したMTUを選択

21_OCI_FastConnect01作成04.png

5) 作成完了
21_OCI_FastConnect01作成05.png

● FastConnect作成(2つ目)

冗長用途で2つ目を同様に作成
22_OCI_FastConnect01作成04.png

■ GCP 相互接続有効化と稼働

● 相互接続を有効化

1) VLAN アタッチメンの詳細画面
相互接続を有効化していない場合、相互接続画面から作成したVLANアタッチメント画面で[有効化]をクリック
31_GCP01有効化01.png

2) 相互接続画面
ステータスが稼働中であることを確認
31_GCP01有効化02.png

3) VLAN アタッチメントの詳細画面
・oci-gcp-interconnect01
34_GCP-相互接続完了画面02.png

・oci-gcp-interconnect02
34_GCP-相互接続完了画面03.png

3) クラウド ルーター画面
BGP セッションが有効で実行中であることを確認
33_GCP-CloudRouter接続完了01.png

● 受信ルート確認

VPCネットワークのルート画面から OCI VCN10.10.1.0/24) と Object Storage(134.70.80.0/23, 134.70.82.0/23)ルートが受信されていることを確認
52_GCP-Route表-ObjectStorage有り02.jpg

■ OCI FastConnect 稼働

● FastConnect 稼働確認

1) FastConnect画面
41_OCI-FF開通01.png

2) FastConnect01 画面
・回線情報とメトリック
41_OCI-FF開通02.png
・BGP情報
41_OCI-FF開通04-OCI-FC01-BGP情報.png

3) FastConnect02 画面
・回線情報とメトリック
41_OCI-FF開通03.png
・BGP情報
41_OCI-FF開通04-OCI-FC02-BGP情報.png

● 受信ルート確認

DRGのすべてのルート・ルールの取得画面から、GCP側ルート(172.20.1.0/24)が受信されていることを確認
42_DRGルート表確認02.png

今回2つの FastConnect で冗長構成にしているため、表示されている宛先 CIDRブロックは重複しているため、BGPペストパス・アルゴリズムによりルート・ステータスは、1つのルートのみが [Active] になりその他は、[Conflict]になります。
GCP では複数ルートの優先度が同じ場合、ECMPルーティングの機能で [Active-Active] になるので、次の手順で OCI側も ECMP の設定を行います。

■ ECMPルーティング設定

Equal-Cost Multi-Path Routing (ECMP)は、BGPを使用して、複数の FastConnect仮想回線または複数の IPSec Tunnelを介した ネットワークトラフィック の Flow-Based Load Balancingを可能にする機能です。これにより、Active-Active Load Balancing と、最大8つの回線間のネットワーク・トラフィックのフェイルオーバーが可能になります。

● GCP ECMPルーティング設定

GCPドキュメント: 冗長 VLAN アタッチメントを使用した下り(外向き)トラフィックのバランシングより、Google Cloud は、ECMP を使用して接続間で下り(外向き)トラフィックを均等に分散します。ECMP を使用するには、VLAN アタッチメントで使用される Cloud Router が、同じコスト(同じ CIDR 範囲と同じ MED 値)で同じ通知を受信する必要があります。
今回、作成した2つの Cloud Router の BGPセッションの MEDの初期値はお互いデフォルト100なので等コストになりECMPが使用されます。
1) Cloud Router#1 BGPの MED 値確認
・Cloud Router cr01画面
1つ目のCloud Routerのアドバタイズされたルートの優先度は Null (100)であることを確認
19_GCP_ECMP01確認01.png
・Cloud Router cr01 BGP セッションの詳細画面
33_GCP-CloudRouter接続完了04-GCP-BGPセッションの詳細-cr01.png

2) Cloud Router#2 BGPの MED 値確認
2つ目のCloud Routerのアドバタイズされたルートの優先度は Null (100)であることを確認
・Cloud Router cr02
19_GCP_ECMP02確認01.png
・Cloud Router cr02 BGP セッションの詳細画面
33_GCP-CloudRouter接続完了05-GCP-BGPセッションの詳細-cr02.png

● OCI ECMPルーティング設定

1) DRG 画面
[DRGルート表]をクリックし、DRGルート表をクリック
20_OCI_ECMP01有効化01.png

2) ルート表#1 画面
ECMP項目が Disabled であるので、[編集]をクリックして編集します。
20_OCI_ECMP01有効化02.png

3) DRGルート表の編集 画面
[ECMPの有効化]へチェックし、[変更の保存]をクリック
20_OCI_ECMP01有効化03.png

4) ルート表#1 画面
ECMP項目が [Enabled] になっていることを確認し、[すべてのルート・ルールの取得]をクリックし設定が反映されていることを確認
20_OCI_ECMP01有効化04.png

5) すべてのルート・ルールの取得画面
重複する複数行の宛先CIDRブロックのルート・ステータスが全て Active になっていれば OK
20_OCI_ECMP01有効化05.png

6) その他のルート表設定
同様に他のルート表も ECMP を [Enabled]へ変更し、重複する複数行の宛先CIDRブロックのルート・ステータスが全て Active になっていることを確認
20_OCI_ECMP02有効化08.png

■ GCP-OCI インスタンス間通信確認

GCP と OCI のインスタンスが疎通できることを確認します。
また、クラウドでのネットワーク レイテンシの測定 より、 Netperfを使用してネットワーク スループットを測定してみてみます。

● OCI インスタンス → GCP インスタンス 通信確認

・ GCP インスタンスへの SSH接続
GCP インスタンスへ SSH接続できることを確認

[opc@db23ai .ssh]$ ssh -i id_rsa shirok@172.20.1.2 "hostname;id -a"
	gcp-instance-zone-a
	uid=1001(shirok) gid=1002(shirok) groups=1002(shirok),4(adm),30(dip),44(video),46(plugdev)

・ mtr (traceroute, ping ICMPレイテンシ) 確認
mtr は、traceroute と ping の両方の機能を実行するネットワーク診断ツールです。

[opc@db23ai ~]$ mtr 172.20.1.2 --report-wide --aslookup
Start: 2024-07-01T23:14:54+0000
HOST: db23ai            Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. AS31898  140.91.206.61   0.0%    10    0.1   0.1   0.1   0.1   0.0
  2. AS???    172.20.1.2      0.0%    10    1.2   1.3   1.2   2.2   0.3

・ netperf TCPレイテンシ 確認
netperf TCPレイテンシを確認してみてみます。
単位は 1μs (0.001ms)です。

[opc@db23ai ~]$ netperf -H 172.20.1.2 -t TCP_RR -- -k MIN_LATENCY,MEAN_LATENCY,MAX_LATENCY
    MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.20.1.2 () port 0 AF_INET : histogram : interval : dirty data : demo : first burst 0
    MIN_LATENCY=1014
    MEAN_LATENCY=1074.30
    MAX_LATENCY=2940

・ netperf UDPレイテンシ 確認
netperf UDPレイテンシを確認してみてみます。
単位は 1μs (0.001ms)です。

[opc@db23ai ~]$ netperf -H 172.20.1.2 -t UDP_RR -- -k MIN_LATENCY,MEAN_LATENCY,MAX_LATENCY
    MIGRATED UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.20.1.2 () port 0 AF_INET : histogram : interval : dirty data : demo : first burst 0
    MIN_LATENCY=1073
    MEAN_LATENCY=1131.05
    MAX_LATENCY=2328

・ iperf3 帯域速度確認
帯域速度を 1G で設定したので 1G 出ることを確認

[opc@db23ai ~]$ iperf3 -c 172.20.1.2
    Connecting to host 172.20.1.2, port 5201
    [  5] local 10.10.1.2 port 47926 connected to 172.20.1.2 port 5201
    [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
    [  5]   0.00-1.00   sec   244 MBytes  2.05 Gbits/sec  922    190 KBytes
    [  5]   1.00-2.00   sec   119 MBytes   996 Mbits/sec  182    216 KBytes
    [  5]   2.00-3.00   sec   118 MBytes   986 Mbits/sec  170    164 KBytes
    [  5]   3.00-4.00   sec   119 MBytes   996 Mbits/sec  142    259 KBytes
    [  5]   4.00-5.00   sec   119 MBytes   996 Mbits/sec  182    285 KBytes
    [  5]   5.00-6.00   sec   119 MBytes   996 Mbits/sec  179    164 KBytes
    [  5]   6.00-7.00   sec   119 MBytes   996 Mbits/sec  160    216 KBytes
    [  5]   7.00-8.00   sec   119 MBytes   996 Mbits/sec  202    173 KBytes
    [  5]   8.00-9.00   sec   118 MBytes   986 Mbits/sec  147    250 KBytes
    [  5]   9.00-10.00  sec   119 MBytes   996 Mbits/sec  186    164 KBytes
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.00  sec  1.28 GBytes  1.10 Gbits/sec  2472             sender
    [  5]   0.00-10.00  sec  1.27 GBytes  1.09 Gbits/sec                  receiver

    iperf Done.

● GCP インスタンス → OCI インスタンス通信確認

・ OCI インスタンスへの SSH接続
OCI インスタンスへ SSH接続できることを確認

shirok@gcp-instance-zone-a:~$ ssh -i id_rsa opc@10.10.1.2 "hostname;id -a"
	db23ai
	uid=1000(opc) gid=1000(opc) groups=1000(opc),4(adm),190(systemd-journal) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

・ mtr (traceroute, ping ICMPレイテンシ) 確認
mtr は、traceroute と ping の両方の機能を実行するネットワーク診断ツールです。

shirok@gcp-instance-zone-a:~$ mtr 10.10.1.2 --report-wide --aslookup
Start: 2024-07-01T23:13:06+0000
HOST: gcp-instance-zone-a                 Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. AS???    ???                         100.0    10    0.0   0.0   0.0   0.0   0.0
  2. AS???    ???                         100.0    10    0.0   0.0   0.0   0.0   0.0
  3. AS???    10.10.1.2                   0.0%    10    1.3   1.3   1.3   1.5   0.1

・ netperf TCPレイテンシ 確認
netperf TCPレイテンシを確認してみてみます。
単位は 1μs (0.001ms)です。

shirok@gcp-instance-zone-a:~$ netperf -H 10.10.1.2 -t TCP_RR -- -k MIN_LATENCY,MEAN_LATENCY,MAX_LATENCY
    MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.1.2 () port 0 AF_INET : first burst 0
    MIN_LATENCY=996
    MEAN_LATENCY=1061.70
    MAX_LATENCY=2443

・ netperf UDPレイテンシ 確認
netperf UDPレイテンシを確認してみてみます。
単位は 1μs (0.001ms)です。

shirok@gcp-instance-zone-a:~$ netperf -H 10.10.1.2 -t UDP_RR -- -k MIN_LATENCY,MEAN_LATENCY,MAX_LATENCY
    MIGRATED UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.10.1.2 () port 0 AF_INET : first burst 0
    MIN_LATENCY=1158
    MEAN_LATENCY=1224.60
    MAX_LATENCY=1649

・ iperf3 帯域速度確認
帯域速度を 1G で設定したので 1G 出ることを確認

shirok@gcp-instance-zone-a:~$ sudo iperf3 -c 10.10.1.2
    Connecting to host 10.10.1.2, port 5201
    [  5] local 172.20.1.2 port 51882 connected to 10.10.1.2 port 5201
    [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
    [  5]   0.00-1.00   sec   240 MBytes  2.01 Gbits/sec  1105    250 KBytes
    [  5]   1.00-2.00   sec   118 MBytes   986 Mbits/sec  842    155 KBytes
    [  5]   2.00-3.00   sec   119 MBytes   996 Mbits/sec  745    190 KBytes
    [  5]   3.00-4.00   sec   119 MBytes   996 Mbits/sec  820    380 KBytes
    [  5]   4.00-5.00   sec   119 MBytes   996 Mbits/sec  913    216 KBytes
    [  5]   5.00-6.00   sec   119 MBytes   996 Mbits/sec  752    181 KBytes
    [  5]   6.00-7.00   sec   118 MBytes   986 Mbits/sec  888    181 KBytes
    [  5]   7.00-8.00   sec   119 MBytes   996 Mbits/sec  913    233 KBytes
    [  5]   8.00-9.00   sec   118 MBytes   986 Mbits/sec  797    242 KBytes
    [  5]   9.00-10.00  sec   120 MBytes  1.01 Gbits/sec  699    190 KBytes
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.00  sec  1.28 GBytes  1.10 Gbits/sec  8474             sender
    [  5]   0.00-10.04  sec  1.27 GBytes  1.09 Gbits/sec                  receiver

    iperf Done.

● GCP インスタンス → OCI Object Storage 通信確認

・ mtr (traceroute, ping) 確認
mtr は、traceroute と ping の両方の機能を実行するネットワーク診断ツールです。

Object Storage へのルートはインターネットを介していないことを確認
東京リージョン の Object Storage エンドポイント FQDN は objectstorage.ap-tokyo-1.oraclecloud.com になります。

shirok@gcp-instance-zone-a:~$ mtr objectstorage.ap-tokyo-1.oraclecloud.com --report-wide --aslookup
Start: 2024-07-01T23:23:54+0000
HOST: gcp-instance-zone-a                 Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. AS???    ???                         100.0    10    0.0   0.0   0.0   0.0   0.0
  2. AS???    ???                         100.0    10    0.0   0.0   0.0   0.0   0.0
  3. AS31898  134.70.80.3                  0.0%    10    1.3   1.3   1.2   1.5   0.1

・ ping 確認

shirok@gcp-instance-zone-a:~$ sudo ping objectstorage.ap-tokyo-1.oraclecloud.com -c 10 -i 0.001
  PING objectstorage.ap-tokyo-1.oci.oraclecloud.com (134.70.80.3) 56(84) bytes of data.
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=1 ttl=62 time=1.35 ms
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=2 ttl=62 time=1.10 ms
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=3 ttl=62 time=1.14 ms
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=4 ttl=62 time=1.11 ms
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=5 ttl=62 time=1.14 ms
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=6 ttl=62 time=1.03 ms
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=7 ttl=62 time=1.10 ms
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=8 ttl=62 time=1.12 ms
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=9 ttl=62 time=1.17 ms
  64 bytes from 134.70.80.3 (134.70.80.3): icmp_seq=10 ttl=62 time=1.05 ms

  --- objectstorage.ap-tokyo-1.oci.oraclecloud.com ping statistics ---
  10 packets transmitted, 10 received, 0% packet loss, time 11ms
  rtt min/avg/max/mdev = 1.031/1.130/1.351/0.082 ms

■ 参考

・ Press Release

  - Oracle and Google Cloud Announce a Groundbreaking Multicloud Partnership
  - Step-by-Step Guide: Interconnecting Oracle Cloud Infrastructure and Google Cloud
  - オラクルと Google Cloud、画期的なマルチクラウド・パートナーシップを発表

・ Google Cloud Documents

  - Partner Interconnect の概要
  - VPC ネットワークをピア ネットワークに接続する Cloud Router を作成する
  - ECMP: Google Cloud: 冗長 VLAN アタッチメントを使用した下り(外向き)トラフィックのバランシング
  - クラウドでのネットワーク レイテンシの測定
  - Interconnect を介したネットワークのスループットを計算する
  - リージョンとゾーン

・ Oracle Cloud Documents

  - Oracle Interconnect for Google Cloud
  - Oracle と Google Cloud のパートナーシップに関するよくある質問
  - Oracle Interconnect for Google Cloud の価格
  - OCIの分散クラウド
  - FastConnectの概要
  - Oracle Cloud: ECMP 動的ルーティング・ゲートウェイ
  - Google Cloud Platformへのアクセス

・ Others

  - Netperf
  - MTR (software)
  - iPerf3

49
25
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
49
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?