[Oracle Cloud] クロステナンシーピアリングをしてみた

# はじめに

Oracle Cloud の仮想ネットワーク VCN は、別のテナント(契約) 同士で直接接続が出来ます。クロス・テナンシー・ピアリングという方法で、VCN 同士を直接接続して、互いに通信し合うことが出来ます。マルチテナンシー構成で便利にネットワーク構成が出来ます。

こちらに概要が公開されています。

https://speakerdeck.com/ocise/ociji-shu-zi-liao-jia-xiang-kuraudonetutowaku-vcn-xiang-xi?slide=9

今回の記事では、クロス・テナンシー・ピアリングの設定方法を紹介します。



# 構成図

まず、全体像をお見せします。2つのテナンシーにある VCN を接続します。それぞれの VCN で LPG (Local Peering Gateway) を作成して互いにピアリングをした後に、Route Table で互いの経路情報を定義することで通信が出来ます。

![1605263280793.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/39f9350c-d1c1-4fae-9e85-0a01a88cd850.png)



分かりやすさのために、Tenancy の OCID を記載します。一部変更しているダミーな値となっています。

- Requestor
- Tenant OCID : ocid1.tenancy.oc1..aaaaaaaahysodjbc46bsbxjwtu4hcxos6uxhhldgeeq5yvw4vrwsdz34sfta
- Acceptor
- Tenant  OCID : ocid1.tenancy.oc1..aaaaaaaaoopalje5rdn5nxqupyg3wn7jt5icmqn7fomevd5cbsc5ugfsby5q



# IAM Policy 設定 (Requestor 側)

別テナント同士で、クロステナンシーピアリングをするために、IAM Policy で互いに連携できるようにします。

次の情報を Requestor 側で設定します。

- Acceptor 側の Tenant OCID
- グループ名 (Administrators) は、Requestor の IAM Group 名

```
Define tenancy Acceptor as ocid1.tenancy.oc1..aaaaaaaaoopalje5rdn5nxqupyg3wn7jt5icmqn7fomevd5cbsc5ugfsby5q
Allow group Administrators to manage local-peering-from in tenancy
Endorse group Administrators to manage local-peering-to in tenancy Acceptor
Endorse group Administrators to associate local-peering-gateways in tenancy with local-peering-gateways in tenancy Acceptor
```



このような具合に設定します。

![1605258001325.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/06408aa2-0edb-0aa2-45ab-c0998b32c580.png)





# IAM Policy 設定 (Acceptor 側)

今後は、次の情報を Acceptor 側で設定します。

- Requestor 側の Tenancy OCID
- Requestor 側の IAM Group (Administrators) の OCID 
- Define の Group 名は何でもいい

```
Define tenancy Requestor as ocid1.tenancy.oc1..aaaaaaaahysodjbc46bsbxjwtu4hcxos6uxhhldgeeq5yvw4vrwsdz34sfta
Define group RequestorGrp as ocid1.group.oc1..aaaaaaaacgs5qorutdhb3abnh3nprosi4u54n2tgilptyqbthpn6rmg3d46q
Admit group RequestorGrp of tenancy Requestor to manage local-peering-to in tenancy
Admit group RequestorGrp of tenancy Requestor to associate local-peering-gateways in tenancy Requestor with local-peering-gateways in tenancy
```



# LPG作成 (Requestor 側)

次に、2つのテナンシーで、LPG(Local Peering Gateway) を作成します。

![1605256030151.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/d80a46e5-3a69-d7f9-8040-3ebab69fecc3.png)



Create

![1605256056528.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/37751c86-dd9c-e63b-b2b9-8622d3e11bae.png)



完了

![1605256069654.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/d3093953-cb56-3adb-0f1d-2e5d5bc27298.png)



Copy OCID

ocid1.localpeeringgateway.oc1.ap-osaka-1.aaaaaaaa53jxvqq7yzunnt3lznl7mei33loukbuazlnecuyetdz3d5c2bkmq

![1605256160422.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/7dbdc6c2-8d37-837e-8b80-e1b0df97912c.png)





# LPG作成 (Acceptor 側)

反対のテナンシーでも LPG を作成します。

![1605254120457.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/7b3b9f48-0f99-cf6c-c13b-8cdee929ee3a.png)



create

![1605254147289.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/e8230337-8224-9367-6c3a-249999ef3989.png)



作成完了

![1605255892735.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/56ae0eb8-9e6e-e0f2-4a9c-e674782c5fdb.png)



Copy OCID

ocid1.localpeeringgateway.oc1.ap-osaka-1.aaaaaaaammolzlaw33xrbrvt6b4hqe5puyhhtrytlfmqq63fj3v5rlasoneq

![1605256124686.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/1003f34a-ba48-7b81-fe4d-06ade2dea6ca.png)





# クロステナンシーピアリングの設定 (Requestor 側)

クロステナンシーピアリングをしていきます。設定は、Requestor 側だけで完了します。

![1605256215147.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/f7198d52-5de9-9ddc-4e63-856bc0ab6658.png)



Acceptor 側の LPG OCID を入れる

![1605256263895.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/665223c4-2d9b-6de0-b35e-02bb0f800b61.png)



Pending 状態になります。このまま待ちます。

![1605259076269.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/f3450761-43a2-b1f3-a255-82ff97dedd8d.png)



自動的にPeer 完了となります。

![1605259243221.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/0929446d-a54c-4277-e75f-5d81a9aa3453.png)



# Route Table の設定

互いに疎通出来るような Route Table の設定を入れていきます。

![1605260307860.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/c8bf7e35-17bd-7618-175d-9e1bc4b0da8f.png)



Requestor 側

![1605259991064.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/87d91405-e954-dc83-6ca1-71af736a055f.png)



Acceptor 側

![1605260056276.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/694647b6-6d67-e08d-5deb-087f6fd17dba.png)



# 疎通出来る

これで、クロステナンシーピアリングが完了です。互いに疎通が出来ます。

```
[opc@bastion-osaka ~]$ ping 172.16.0.2
PING 172.16.0.2 (172.16.0.2) 56(84) bytes of data.
64 bytes from 172.16.0.2: icmp_seq=1 ttl=64 time=0.387 ms
64 bytes from 172.16.0.2: icmp_seq=2 ttl=64 time=0.329 ms
64 bytes from 172.16.0.2: icmp_seq=3 ttl=64 time=0.329 ms
64 bytes from 172.16.0.2: icmp_seq=4 ttl=64 time=0.331 ms
^C
--- 172.16.0.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3062ms
rtt min/avg/max/mdev = 0.329/0.344/0.387/0.024 ms
[opc@bastion-osaka ~]$
```





# 参考URL

https://docs.cloud.oracle.com/en-us/iaas/Content/Network/Tasks/localVCNpeering.htm

https://speakerdeck.com/ocise/ociji-shu-zi-liao-jia-xiang-kuraudonetutowaku-vcn-xiang-xi?slide=9