ORACLE と Google Cloud、マルチクラウド・パートナーシップを発表
ORACLE と Google Cloud は、Oracle Cloud Infrastructure (OCI) と Google Cloud テクノロジーを組み合わせてアプリケーションの移行と最新化を加速する選択肢を顧客に提供するパートナーシップを発表しました。
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 接続して最速レイテンシ・チャレンジみてみます。
■ 構成イメージ
GCP インスタンスが、OCI の Object Storage へアクセスできるように OCI側は、ゲートウェイを介した直接の転送ルーティング を使用して Object Storage ルートも GCP へ BGP送信するように設定しておきます。
最速レイテンシ・チャレンジするために、Oralce Cloudでは特にありませんが、Google Cloud では、次を考慮して構成します。
・ Compute Engine の考慮: Tier_1 ネットワーキング パフォーマンス機能がある N2 マシンシリーズ 等を選択
・ Zone の考慮: OCI Tokyo Region と最速レイテンシの Zone を netperf などを使用して最も高速レイテンシな Zone を探った結果 Zone A へ Compute Engine を配置
■ GCP側作業
相互接続 VLAN を作成し、ペアリング キーを確立します。
選択するリージョンが特定されたら、Google Cloud コンソールから(または gcloud コマンドを使用して)Partner Interconnect VLAN アタッチメントを作成できます。
● Cloud Router作成
Google Cloud Router では、Border Gateway Protocol(BGP)を使用して、Virtual Private Cloud(VPC)とオンプレミスのネットワークの間でルートを動的に交換します
1) GCPコンソール画面
[全てのプロダクト] > [ネットワーキング]をクリック
2) ネットワーク接続画面
[CREATE ROUTER] をクリック
3) Cloud Routerの作成画面
次の項目を入力し、[作成]をクリック
・ 名前: 名前は、先頭が小文字で、その後に最大 62 文字の小文字、数字、ハイフンで構成します。末尾をハイフンにすることはできません
・ ネットワーク: ルーターを適用するネットワーク
・ リージョン: ここでは東京リージョンの asia-northeast1(東京)を選択
・ Google ASN: OCIと接続するため Google が所有するパブリック ASN 16550 を指定
・ BGPピアーキープアライブの間隔: ピアに送信される BGP キープアライブ メッセージの間隔(秒)です。設定する場合、値は 20~60 にする必要があります。デフォルトは 20 です。
● 相互接続作成
可用性を高めるために、冗長な VLAN ペアを作成します。冗長な VLAN ペアを作成すると、ペアリング キーが 2 つ作成されます。冗長性や SLA が必要ない場合は、単一の VLAN アタッチメントを作成し、ペアリング キーが 1 つだけになるようにすることができます。
1)相互接続画面
[VLANアタッチメントの作成]をクリック
2) VLANアタッチメントを追加画面
パートナーVLAN相互接続アタッチメントの作成します。
[Partner Intercinect 接続]を選択し、[作成]をクリック
3) 接続の確認画面
[すでにサービスプロバイダを利用しています]をクリック
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値を設定
5) VPCネットワークへの接続画面
次の項目を設定し、[OK]をクリック
・ペアリングキー: OCIと接続するためのペアリングキーが表示されます。この値をを安全な場所に保存して、OCI コンソールでFastConnectを作成します。
・これらの VLAN アタッチメントを事前に有効にする: 仮想回線のプロビジョニング後に VLAN アタッチメントがアクティブ化されるのを避けるには、これらの VLAN アタッチメントを事前にアクティブ化するように[有効化]へチェックしておきます。
6) 相互接続画面
2つのVLANアタッチメントが作成されていることを確認
■ OCI側作業
Google Cloud パートナーを使用して FastConnect パートナー接続を作成します。
冗長化するために2つのFastConnectを作成します。
● FastConnect作成(1つ目)
1) OCIコンソール画面
[ネットワーキング] > [FastConnect]をクリック
2) FastConnect画面
[FastConnectの作成]をクリック
3) 接続の作成画面
次の項目を入力し、[次]をクリック
・接続タイプ: [FastConnectパートナー]を選択
・パートナー: [GCP: OCI Interconnect]を選択
4) 接続の作成画面
次の項目を入力し、[作成]をクリック
・名前: 任意の名前を設定
・コンパートメント: 作成するコンパートメントを選択
・接続回線タイプ: [プライベート仮想回線]を選択
・トラフィック: [すべてのトラフィック]を選択
・動的ルーティング・ゲートウェイ: 事前に作成したDRGを選択
・プロビジョニングされた帯域幅: 1G, 2G, 5G, 10G, 20G, 50G から選択、ここでは [1G] を選択
・パートナー・サービス・キー: GCP側で Interconnect作成時に事前に取得したキーを入力
・MTU: GCP の VLANアタッチメント作成時に設定したMTUを選択
● FastConnect作成(2つ目)
■ GCP 相互接続有効化と稼働
● 相互接続を有効化
1) VLAN アタッチメンの詳細画面
相互接続を有効化していない場合、相互接続画面から作成したVLANアタッチメント画面で[有効化]をクリック
3) VLAN アタッチメントの詳細画面
・oci-gcp-interconnect01
3) クラウド ルーター画面
BGP セッションが有効で実行中であることを確認
● 受信ルート確認
VPCネットワークのルート画面から OCI VCN10.10.1.0/24) と Object Storage(134.70.80.0/23, 134.70.82.0/23)ルートが受信されていることを確認
■ OCI FastConnect 稼働
● FastConnect 稼働確認
2) FastConnect01 画面
・回線情報とメトリック
・BGP情報
3) FastConnect02 画面
・回線情報とメトリック
・BGP情報
● 受信ルート確認
DRGのすべてのルート・ルールの取得画面から、GCP側ルート(172.20.1.0/24)が受信されていることを確認
今回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)であることを確認
・Cloud Router cr01 BGP セッションの詳細画面
2) Cloud Router#2 BGPの MED 値確認
2つ目のCloud Routerのアドバタイズされたルートの優先度は Null (100)であることを確認
・Cloud Router cr02
・Cloud Router cr02 BGP セッションの詳細画面
● OCI ECMPルーティング設定
1) DRG 画面
[DRGルート表]をクリックし、DRGルート表をクリック
2) ルート表#1 画面
ECMP項目が Disabled であるので、[編集]をクリックして編集します。
3) DRGルート表の編集 画面
[ECMPの有効化]へチェックし、[変更の保存]をクリック
4) ルート表#1 画面
ECMP項目が [Enabled] になっていることを確認し、[すべてのルート・ルールの取得]をクリックし設定が反映されていることを確認
5) すべてのルート・ルールの取得画面
重複する複数行の宛先CIDRブロックのルート・ステータスが全て Active になっていれば OK
6) その他のルート表設定
同様に他のルート表も ECMP を [Enabled]へ変更し、重複する複数行の宛先CIDRブロックのルート・ステータスが全て Active になっていることを確認
■ 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 を介したネットワークのスループットを計算する
- リージョンとゾーン
- Tier_1 ネットワーキングを使用してインスタンスを構成する
・ 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