Oracle Cloud: リージョン間を Remote VCN Peering してみてみた

リモートVCNピアリングは、異なるリージョンにある2つのVCNを接続するプロセスです。
ピアリングを使用すると、VCNのリソースは、インターネットまたはオンプレミス・ネットワークを介してトラフィックをルーティングすることなく、プライベートIPアドレスを使用して通信できます。
また、各リージョンのパブリックIPアドレスは、[バックボーン](https://blogs.oracle.com/cloud-infrastructure/post/the-oci-backbone)全体でアドバタイズされ, 顧客による追加の構成を必要とせずに、トラフィックは自動的にバックボーンを通過します。

ということで、Remote VCN Peeringしてみてみます。

# ■ 構成
![RPC01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/c1ad47d2-9470-23f2-13ae-7bc3f88d813b.jpeg)



# ■ DRG作成
## ● Tokyo Region作業
### 1) OCIコンソール
ネットワーキング > 動的ルーティング・ゲートウェイ を選択
![01_DRG01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/5c639051-1e07-e51e-7b1e-4df30ac8b66b.jpeg)

### 2) 動的ルーティング・ゲートウェイ画面
[動的ルーティング・ゲートウェイの作成]をクリック
![01_DRG02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/5532668a-553c-f4b7-06c7-7b9df1770501.jpeg)



### 3) 動的ルーティング・ゲートウェイの作成画面
以下項目を設定し、[動的ルーティング・ゲートウェイの作成]をクリック
![01_DRG03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/f792cc3a-8fd2-3943-86f6-7a0296d593bb.jpeg)


### 4) DRG作成完了
![01_DRG04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/ba0751a0-ad74-9952-165f-c261a109bc28.jpeg)



## ● Osaka Region作業
同様に作成

![01_DRG作成完了01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/57a197c2-4ad7-dcf2-9d1f-798875b1b808.jpeg)


# ■ VCNとDRG接続
DRGへVCNを接続します。


## ● Tokyo Region作業
1) DRG画面
[仮想クラウド・ネットワーク・アタッチメントの作成]をクリック
![02_VCN-Attachment01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/bb9b5789-94c1-96bc-66e2-a53bb523c3f4.jpeg)


### 2) 仮想クラウド・ネットワーク・アタッチメントの作成画面
以下項目を入力し、[仮想クラウド・ネットワーク・アタッチメントの作成]をクリック

	・アタッチメント名: 任意の名前を設定
	・仮想クラウド・ネットワーク: アタッチするVCNを選択

![02_VCN-Attachment02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/71335c93-ea67-58e4-d0e7-ac7491bec44e.jpeg)

## ● Osaka Region作業
Osakaリージョンも同様にDRGへVCNを接続



# ■ Remote Peering Connection (RPC) 作成
各DRG上のリモート・ピアリング接続(RPC)を作成
リモート・ピアリング接続(RPC)は、RPCの役割はVCNの接続ポイントでVCNにアタッチされたDRG上に作成するコンポーネントです。



## ● Tokyo Region作業
### 1) RPC作成必要IAMポリシー
ネットワーク管理者権限が無い場合、RPCAdminsというグループに必要な権限ポリシーを作成ユーザーへ付与

	Allow group RPCAdmins to manage remote-peering-connections in tenancy
	Allow group RPCAdmins to manage drgs in tenancy



### 2) DRG画面
左ペインのリソース > [リモート・ピアリング接続アタッチメント]をクリックし、
[リモート・ピアリング接続の作成]をクリック
![02_RPC01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/dcd1b3cf-6b8e-d0b6-f6ba-81169152f36e.jpeg)




### 3) リモート・ピアリング接続の作成画面
以下項目を入力し、[リモート・ピアリング接続の作成]をクリック

	・名前: 任意の名前を設定
	・コンパートメント: 作成するコンパートメントを設定

![02_RPC02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/639a4eef-c1bf-1307-b197-461bc0027c66.jpeg)

### 4) RPC作成完了
![02_RPC03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/cafd5cc7-2816-db1c-21e6-c62995dfde21.jpeg)


## ● Osaka Region作業
Osakaリージョンも同様にRPC作成
![Something went wrong]()


# ■ RPC間接続
## ● Osaka Region作業

### 1) Osaka Region の RPC OCID取得
Osaka Regionで作成したRPCのOCIDを取得
![04_RPC接続01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/00a8adcf-bd3c-e67b-dea8-8257bd642a3f.jpeg)

## ● Tokyo Region作業
### 1)　接続の確立画面
以下項目を入力し、[接続の確立]をクリック

	・リージョン: 接続する対抗リージョンを選択
	・リモート・ピアリング接続OCID: 接続する対抗RPCのOCIDを設定

![04_RPC接続02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/e40db460-8aa0-82c8-32b5-dc0119aaf1bd.jpeg)



### 2) ピアリング完了
ピア：ステータスが「ピアリング済」になれば完了
![04_RPC接続03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/80bd99f7-88ad-e61f-bf19-8166d224af9c.jpeg)


# ■ Route Table設定
RPC間の各VCN内サブネットがRPC接続を介してトラフィックが流れるように各リージョンのRoute Tableを設定

### 1) Route Table設定
RPC接続された対抗のVCN内サブネットへDRGを通してアクセスできるように設定
対象VCN画面にある 対象ルート表を選択し、[ルート・ルールの追加]をクリックし、以下項目を入力し、[ルート・ルールの追加]をクリック


	・ターゲット・タイプ: 動的ルーティング・ゲートウェイを選択
	・宛先CIDRブロック: 宛先のCIDRブロックを設定

![05_RT01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/cf31e6ab-8d73-4381-eda4-3ab6fc362066.jpeg)


# ■ Security Rule 設定
RPC接続されたVCN内サブネット間で許可する各リージョンのSecurity Ruleを設定
Security List と　Network Security Group(NSG)の２種類あります。
今回はSecurity List の Security Ruleを設定
![06_SL01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/b6fca328-03bd-c4b7-bb82-f2412c873e3a.jpeg)



# ■ 疎通確認

## ● Tokyo -> Osaka
TokyoからOsaka Regionへ疎通確認

### 1) ssh接続確認
sshコマンドに hostnameコマンドを付与して、Osakaインスタンス名が出力されることを確認

```shell
[opc@tokyo-inst01 ~]$ ssh -i id_rsa opc@10.5.0.2 hostname
	osaka-inst01
```


### 2) traceroute確認
OCIで利用されているIPのみから応答がされることを確認
※ 140.91.206.5 は OCIでPrivate用途で利用されているIPアドレス

```shell
[opc@tokyo-inst01 ~]$ sudo traceroute -I 10.5.0.2
	traceroute to 10.5.0.2 (10.5.0.2), 30 hops max, 60 byte packets
	1  140.91.206.5 (140.91.206.5)  0.133 ms  0.094 ms  0.082 ms
	2  * * *
	3  10.5.0.2 (10.5.0.2)  7.785 ms  7.794 ms  7.789 ms
```


## ● Osaka ->Tokyo
OsakaからTokyo Regionへ疎通確認

### 1) ssh接続確認
sshコマンドに hostnameコマンドを付与して、Tokyoインスタンス名が出力されることを確認

```shell
[opc@osaka-inst01 ~]$ ssh -i id_rsa opc@10.0.0.2 hostname
	tokyo-inst01
```

### 2) traceroute確認
OCIで利用されているIPのみから応答がされることを確認
※ 140.91.218.46 は OCIでPrivate用途で利用されているIPアドレス

```shell
[opc@osaka-inst01 ~]$ sudo traceroute -I 10.0.0.2
	traceroute to 10.0.0.2 (10.0.0.2), 30 hops max, 60 byte packets
	1  140.91.218.46 (140.91.218.46)  0.146 ms  0.091 ms  0.068 ms
	2  * * *
	3  10.0.0.2 (10.0.0.2)  7.666 ms  7.659 ms  7.618 ms
```

# ■ 参考
・[Remote VCN Peering using an RPC](https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/remoteVCNpeering.htm#Remote_VCN_Peering_Across_Regions)
・[The Oracle Cloud Infrastructure backbone](https://blogs.oracle.com/cloud-infrastructure/post/the-oci-backbone)