LoginSignup
46
24

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

■ 構成イメージ

構成図.png

■ 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] を選択
・パートナー・サービス・キー: 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

● 受信ルート確認

VPCネットワークのルート画面からOCI側ルート(10.10.1.0/24)が受信されていることを確認
51_GCPルート表確認01.png

■ OCI FastConnect 稼働

● FastConnect 稼働確認

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

2) FastConnect01 画面
41_OCI-FF開通02.png

3) FastConnect02 画面
41_OCI-FF開通03.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 値確認
1つ目のCloud Routerのアドバタイズされたルートの優先度は Null (100)であることを確認
19_GCP_ECMP01確認01.png

2) Cloud Router#2 BGPの MED 値確認
2つ目のCloud Routerのアドバタイズされたルートの優先度は Null (100)であることを確認
19_GCP_ECMP02確認01.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 インスタンス間通信確認

● OCI → GCP 通信確認

・ ping 確認

[opc@exa-tokyo-inst01 ~]$ ping 172.20.1.2 -c 10
    PING 172.20.1.2 (172.20.1.2) 56(84) bytes of data.
    64 bytes from 172.20.1.2: icmp_seq=1 ttl=62 time=1.22 ms
    64 bytes from 172.20.1.2: icmp_seq=2 ttl=62 time=1.21 ms
    64 bytes from 172.20.1.2: icmp_seq=3 ttl=62 time=1.24 ms
    64 bytes from 172.20.1.2: icmp_seq=4 ttl=62 time=1.18 ms
    64 bytes from 172.20.1.2: icmp_seq=5 ttl=62 time=1.24 ms
    64 bytes from 172.20.1.2: icmp_seq=6 ttl=62 time=1.25 ms
    64 bytes from 172.20.1.2: icmp_seq=7 ttl=62 time=1.24 ms
    64 bytes from 172.20.1.2: icmp_seq=8 ttl=62 time=1.20 ms
    64 bytes from 172.20.1.2: icmp_seq=9 ttl=62 time=1.19 ms
    64 bytes from 172.20.1.2: icmp_seq=10 ttl=62 time=1.24 ms

    --- 172.20.1.2 ping statistics ---
    10 packets transmitted, 10 received, 0% packet loss, time 9011ms
    rtt min/avg/max/mdev = 1.182/1.220/1.245/0.023 ms

・ traceroute 確認

[opc@exa-tokyo-inst01 ~]# traceroute 172.20.1.2
    traceroute to 172.20.1.2 (172.20.1.2), 30 hops max, 60 byte packets
	 1  140.91.206.66 (140.91.206.66)  0.080 ms 140.91.206.62 (140.91.206.62)  0.057 ms 140.91.206.68 (140.91.206.68)  0.067 ms
	 2  172.20.1.2 (172.20.1.2)  2.083 ms * *

・gcp インスタンスへのSSH接続

[opc@exa-tokyo-inst01 ~]$ ssh -i .ssh/id_rsa shirok@172.20.1.2
    The authenticity of host '172.20.1.2 (172.20.1.2)' can't be established.
    ECDSA key fingerprint is SHA256:4lvJYRg07dyFqDfttgB07H0Vjef0USPnvd7NSBRatTs.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

    Linux gcp-instance-zone-a 6.1.0-21-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
shirok@gcp-instance-zone-a:~$

shirok@gcp-instance-zone-a:~$ hostname
    gcp-instance-zone-a
    shirok@gcp-instance-zone-a:~$ id -a
    uid=1000(shirok) gid=1001(shirok) groups=1001(shirok),4(adm),30(dip),44(video),46(plugdev)

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

[opc@vcn-exa-tokyo-inst01 ~]$ 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 通信確認

・ ping 確認

shirok@gcp-instance-zone-a:~$ ping 10.10.1.2 -c 10
    PING 10.10.1.2 (10.10.1.2) 56(84) bytes of data.
    64 bytes from 10.10.1.2: icmp_seq=1 ttl=62 time=1.20 ms
    64 bytes from 10.10.1.2: icmp_seq=2 ttl=62 time=1.21 ms
    64 bytes from 10.10.1.2: icmp_seq=3 ttl=62 time=1.22 ms
    64 bytes from 10.10.1.2: icmp_seq=4 ttl=62 time=1.24 ms
    64 bytes from 10.10.1.2: icmp_seq=5 ttl=62 time=1.23 ms
    64 bytes from 10.10.1.2: icmp_seq=6 ttl=62 time=1.31 ms
    64 bytes from 10.10.1.2: icmp_seq=7 ttl=62 time=1.19 ms
    64 bytes from 10.10.1.2: icmp_seq=8 ttl=62 time=1.28 ms
    64 bytes from 10.10.1.2: icmp_seq=9 ttl=62 time=1.21 ms
    64 bytes from 10.10.1.2: icmp_seq=10 ttl=62 time=1.20 ms

    --- 10.10.1.2 ping statistics ---
    10 packets transmitted, 10 received, 0% packet loss, time 9012ms
    rtt min/avg/max/mdev = 1.187/1.228/1.310/0.037 ms

・ traceroute 確認

shirok@gcp-instance-zone-a:~$ traceroute 10.10.1.2
    traceroute to 10.10.1.2 (10.10.1.2), 30 hops max, 60 byte packets
	 1  * * *
	 2  * * *
	 3  10.10.1.2 (10.10.1.2)  1.955 ms !X  1.946 ms !X  1.919 ms !X

・ 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.

■ 参考

・ 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 アタッチメントを使用した下り(外向き)トラフィックのバランシング

・ Oracle Cloud Documents

  - OCIの分散クラウド
  - FastConnectの概要
  - Oracle Cloud: ECMP 動的ルーティング・ゲートウェイ

46
24
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
46
24