Oracle Cloud：リージョン間をRemote Peering(バックボーン接続) してみた

Regionは、専用のカスタム・ネットワークであるOracle Cloud Infrastructure(OCI)のバックボーンによって相互に接続されています。
バックボーンは、すべてのOCIデータ・センターを相互接続し、データ・センター間で高性能で信頼性の高い接続を提供します。
Region間の接続にはRemote Peeringを使用します。

 ・参考：Oracle Cloud Infrastructure Backbone
  https://blogs.oracle.com/cloud-infrastructure/oracle-cloud-infrastructure-backbone

Remote Peeringは、異なる Regionの2つのVCNを接続するプロセスです。
Peeringにより、VCN間はインターネット経由または社内ネットワーク経由でトラフィックをルーティングせずに、Private IPアドレスを使用して通信することができます。

#■構成
・以下Region と VCNを構成して Remote Peeringしていく
<img width="536" alt="00_イメージ図.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/c10d9018-9be6-f584-5e8c-b8aaf4d33370.png">


#■ Remote Peering Connection(RPC)作成
●Frankfurt Region
　VCN と Subnet 構成例
<img width="631" alt="01.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/d6243dd2-2ede-6f49-4d76-51dbfa2c60ed.png">


●London Region
　VCN と Subnet 構成例
<img width="612" alt="02.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/226cb644-5d0b-9f53-93e1-ba7cef3e1a8b.png">



#■ DRG作成
①Region1(Frankfurt)上に Dynamic Routing Gateway(DRG) 作成

 - COMPARTMENT:VCN1があるCOMPARTMENTを選択
 - Dynamic Routing Gateway:名前を記入


<img width="478" alt="03.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/b97ce152-cefe-e9d2-613a-a8e4c22c5a32.png">

②作成確認
<img width="638" alt="05.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/4806b75b-6ab5-ea86-d553-0b74a8c3afc7.png">

③作成したDRGをVCNへアタッチ
作成したDRGをアタッチするVCN画面にある左ペインResourcesから[Dynamic Routing Gateway]を選択し、[Attach Dynamic Routing Gateway]をクリック
そして、Attach Dynamic Routing Gateway画面でアタッチするDRGを選択し[Attach Dynamic Routing Gateway]をクリック

<img width="1134" alt="21_AttachDRG_LDN01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/18243f77-f1a1-964b-3bcb-4829b8c86656.png">


④Region2(London)側も同様にDRGを作成しVCNへアタッチ


#■ Remote Peering Connection（RPC）作成
①Region1(Frankfurt)上に RPC 作成

 - NAME:名前を記入
 - COMPARTMENT:VCN1があるCOMPARTMENTを選択

<img width="486" alt="06.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/4073d8d4-5d2b-3d3a-4ffe-5c6bd4adedf2.png">


②作成確認
<img width="629" alt="07.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/dab3552a-1a2c-c9b7-4291-00fc629bae49.png">


③同様にRegion2(London)上にRPC作成


#■ Remote Peering 接続確立
①VCN1（Frankfurt)で作成したRPCの画面で[Establish Connection]をクリック
<img width="631" alt="09.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/2853ee70-a39c-86b1-0146-bbb79a02ce00.png">


②Establish Connection 画面で以下項目を入力して、[Establish Connection]ボタンをクリック

 - REGION：相手側のRegionを選択
 - REMOTE PEERING CONNECTION ID:　RPC OCID を選択を入力

<img width="481" alt="10.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/ee173137-c3d7-3a8d-bf99-b5dcdef1142b.png">


③同様にVCN2（London)側も設定
　すると相手側との通信が行われ、Status が PEERED になればOK

<img width="640" alt="11.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/607a5794-fdb6-3a18-b126-00f91b9dabc7.png">

	

#■ Route Table 設定
●VCN1(Frankfurt)側設定
 Route Rules に以下相手側の情報を記入してRote追加

  - TARGET TYPE: Dynamic Routing Gatewayを選択
  - CIDR BLOCK:相手側のCIDR（192.168.0.0/16)を記入
  - COMPARTMENT：相手側のCOMPARTMENTを記入
  - TARGET LOCAL PEERING GATEWAY:作成したDRGオブジェクトを選択
<img width="482" alt="12.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/c2ae8ae5-b704-a84a-072c-b4d8b0fdc4d5.png">


●VCN2(London)側も同様に設定


#■ Security List（Firewall）設定
●VCN1(Frankfurt)側設定
 相手側のCIDR(192.168.0.0/16)から通信許可するよう設定
 例：Port 22 (22)を許可する設定


<img width="538" alt="13.png" src="https://qiita-image-store.s3.amazonaws.com/0/109087/87fc482c-7c5b-79d4-a5e6-aed8bb95b716.png">


●VCN2(London)側設定
	同様に、相手側のCIDR(10.0.0.0/16)から通信許可するよう設定


#■ 疎通確認

●London Region から Frankfurt Region 疎通確認
・ssh接続確認

```shell-session
[opc@ldn-inst01 ~]$ ssh -i id_rsa opc@172.24.1.3 hostname
	fra-db01
```

・traceroute確認

```shell-session
[opc@ldn-inst01 ~]$ sudo traceroute -I 172.24.1.3
	traceroute to 172.24.1.3 (172.24.1.3), 30 hops max, 60 byte packets
	 1  * * *
	 2  * * *
	 3  172.24.1.3 (172.24.1.3)  16.380 ms * *
```

●Frankfurt Region から London Region 疎通確認
・ssh接続確認

```shell-session
[opc@fra-db01 ~]$ ssh -i id_rsa opc@192.168.1.3 hostname
　ldn-inst01
```

・traceroute確認

```shell-session
[opc@fra-db01 ~]$ sudo traceroute -I 192.168.1.3
	traceroute to 192.168.1.3 (192.168.1.3), 30 hops max, 60 byte packets
	 1  * * *
	 2  * * *
	 3  * 192.168.1.3 (192.168.1.3)  16.357 ms  16.366 ms
```