OCIでVCNをピアリングしてみた

みなさまこんにちわ。id-nakamuraaです。

本記事では2つのピアリングタイプ使用して、VCNをピアリングしてみます。
ピアリング接続は複数のVCNを接続するプロセスで、接続するVCNの関係によってローカルVCNピアリング、リモートVCNピアリングのどちらかを使用します。

ローカルVCNピアリングとは

同じリージョン内にある2つのVCNを接続し、 プライベートIP アドレスを使用して通信できるプロセスです。
同一のテナンシー同士、異なるテナンシー同士のどちらでも接続が可能です。

ポイント
・ローカル・ピアリング・ゲートウェイ(LPG)を使用する
・2つのVCN間は単一のピアリング関係になっている
・同じリージョン内に重複しないCIDRを持つ2つのVCNであることが必要
・作成上限は1つのVCNに対して10(LPGを10個まで作成可能)

公式ドキュメント
docs.oracle.com

リモートVCNピアリングとは

異なるリージョンの2つのVCNを接続し、プライベートIP アドレスを使用して通信できるプロセスです。
同一テナンシーであることが必要です。

ポイント
・動的ルーティングゲートウェイ(DRG)、リモート・ピアリング・ゲートウェイ(RPC)を使用する
・2つのVCN間は単一のピアリング関係になっている
・同じリージョン内に重複しないCIDRを持つ2つのVCNであることが必要
・作成上限は1つのVCNに対して10(RPCを10個まで作成可能)

公式ドキュメント
docs.oracle.com

ローカルVCNピアリングを設定する

us-ashburn-1内のVCN1(10.0.0.0/16)とVCN2(172.16.0.0/16)をピアリングし、
Compute1(10.0.1.2)とCompute3(172.16.1.2)がssh接続可能になるよう設定します。
VCNの作成方法ついてはこちらを参考にしてください。クラウドに仮想ネットワーク(VCN)を作る - Oracle Cloud Infrastruc... | Oracle Community
f:id:a-nakamuraa:20200123143842j:plain

- ローカル・ピアリング・ゲートウェイを作成
接続するVCN1の詳細へ移動し、 [ローカル・ピアリング・ゲートウェイ]画面からローカル・ピアリングゲートウェイを作成します。 ※VCN2側も実施します。
f:id:a-nakamuraa:20200123214810j:plain

- ピアリング接続の確立
LPG1のメニューから[ピアリング接続の確立]を選択し、接続先の情報を入力します。 f:id:a-nakamuraa:20200123214858j:plain

- ルート・ルールを設定
VCN1の詳細メニューの[ルート表]を選択し、ルート表詳細画面からルート・ルールを追加します。
※VCN2側も実施します。

VCN1側 VCN2側
ターゲット・タイプ ローカル・ピアリング・ゲートウェイ
宛先CIDRブロック 172.16.0.0/16 10.0.0.0/16

f:id:a-nakamuraa:20200123214930j:plain

- セキュリティリストを設定
各VCNの[セキュリティ・リスト]に移動してイングレス・ルールを追加します。
※VCN2側も実施します。 ※エグレス・ルールは0.0.0.0/0で設定済(デフォルト設定)

VCN1側 VCN2側
ソースCIDR 172.16.0.0/16 10.0.0.0/16
IPプロトコル TCP
ソース・ポート範囲 ALL
宛先ポート範囲 22

f:id:a-nakamuraa:20200123215046j:plain

- 確認 どちらからもssh接続可能なことが確認でしました。
Compute1(10.0.1.2)からCompute3(172.16.1.2) f:id:a-nakamuraa:20200123215117p:plain

Compute3(172.16.1.2)からCompute1(10.0.1.2) f:id:a-nakamuraa:20200123215135j:plain

リモートVCNピアリングを設定する

us-ashburn-1内のVCN1(10.0.0.0/16)とap-tokyo-1内のVCN2(192.168.0.0/16)をピアリングし、
Compute1(10.0.1.2)とCompute2(192.168.1.3)が ssh接続可能になるよう設定していきます。 f:id:a-nakamuraa:20200123111956j:plain

- 動的ルーティング・ゲートウェイを作成
[ネットワーキング] - [動的ルーティング・ゲートウェイ]画面から動的ルーティング・ゲートウェイを作成します。
※VCN2側も実施します。 f:id:a-nakamuraa:20200123221702j:plain

- 動的ルーティング・ゲートウェイをVCNにアタッチ
作成した動的ルーティング・ゲートウェイの詳細から[仮想クラウド・ネットワーク]に移動し、仮想クラウド・ネットワークをアタッチします。 ※VCN2側も実施します。
f:id:a-nakamuraa:20200123221723j:plain

- リモート・ピアリング接続を作成
[リモート・ピアリング接続]に移動して、リモート・ピアリング接続を作成します
※VCN2側も実施します。
f:id:a-nakamuraa:20200123221914j:plain

- ピアリング接続の確立
(ピアリング先のRPC2のOCIDを取得しておきます)
作成したリモート・ピアリング詳細画面で[接続の確立]を押します。
接続先のリージョン、リモート・ピアリング接続OCIDを入力します。 f:id:a-nakamuraa:20200123221936j:plain

- ルート・ルールを設定
VCN1の詳細メニューの[ルート表]を選択し、ルート表詳細画面からルート・ルールを追加します。
※VCN2側も実施します。

VCN1側 VCN2側
ターゲット・タイプ 動的ルーティングゲートウェイ
宛先CIDRブロック 192.168.0.0/16 10.0.0.0/16

f:id:a-nakamuraa:20200123222005j:plain

- セキュリティ・リストを設定
各VCNの[セキュリティ・リスト]に移動してイングレス・ルールを追加します。
※VCN2側も実施します。 ※エグレス・ルールは0.0.0.0/0で設定済

VCN1側 VCN2側
ソース・タイプ CIDR
ソースCIDR 192.168.0.0/16 10.0.0.0/16
IPプロトコル TCP
ソース・ポート範囲 ALL
宛先ポート範囲 22

f:id:a-nakamuraa:20200123222027j:plain

- 確認 どちらからもssh接続可能なことが確認でしました。
Compute1(10.0.1.2)からCompute2(192.168.1.3) f:id:a-nakamuraa:20200123222042j:plain Compute2(192.168.1.3)からCompute1(10.0.1.2) f:id:a-nakamuraa:20200123222056j:plain

さいごに

今回は2つのピアリングタイプを使用してVCNをピアリングしてみました。超カミングスーンな大阪リージョンが誕生したら、リモートVCNピアリングを使用する場面が増えるのではと思いました。
また、先日このピアリング接続のデモをOCIJP#5の "初心者向けOCIネットワーク構築"というコンテンツで登壇させて頂いたのですが、接続確認ができずに終わってしまいました。 (セキュリティ・リストにICMPの設定を入れていないのに ping で確認しようとしていたのが原因でした。。 )もう絶対に失敗はしないように努めてまいります。

告知

次回は 2020/2/18に STEPUP OCI、大阪リージョン(仮)というコンテンツで開催されます。 興味がある方、是非ご参加ください!

fullenergy-oci.connpass.com