OCIのテナンシをまたいでVCN同士を接続したい場合やテナンシをまたいでFastConnectを共有したい場合、実現方法としてはおおまかに2種類あります。
- ひとつのDRGに別のテナンシのVCNをアタッチする
- それぞれのテナンシ内のDRG間でリモート・ピアリング接続を行う
一般的にはリモート・ピアリング接続はリージョンが異なる場合に利用するものですが、同一リージョン内であってもリモート・ピアリング接続を作成することは可能です。
特別な要件がなければ 1) のほうがDRGがひとつにまとまり、シンプルな構成なのでおすすめです。DRGルーティングの設定も一つのDRGで完結出来ますので、作業工数が少なくて済みます。
ただし、1)の場合はDRGはどちらか一方のテナンシに存在するため、テナンシごとに管理者が別々に分かれている場合などは、今後の構成変更などの作業が発生した場合に都度別のテナンシのネットワーク管理者に作業依頼しないといけない、というようなことも想定されます。たとえば、もし今後テナンシB側だけに追加のアタッチメントを追加したいという要件が発生した場合に、2)の構成にしておけばテナンシB側だけで作業を完結できる可能性もあります。(逆に、都度両方のDRGを設定しないといけないのが手間になるという可能性もありますが。)
管理運用の体制や今後想定される要件に応じてどちらの構成にするかを選択するとよいです。
どちらの場合も、クロステナンシのIAMポリシー設定が必要になります。
1)の構成については、以前のqiita記事↓があるのでそちらを参考にしてください。
今回は、2)それぞれのテナンシ内のDRG間でリモート・ピアリング接続を行う のほうを実施していきたいと思います。
クロステナンシでDRG間のリモート・ピアリング接続(Remote Peering Connection、略してRPC)を作成する手順です。
通信を行うためには、RPC接続ができた後に通信要件に応じてルーティング設定も適切に実施する必要がありますが、この記事ではRPCの接続確立までを記載します。
1. クロステナンシのポリシーの設定
まず、クロステナンシのポリシー設定を行います。
クロステナンシのポリシー構文については以前の記事で解説しているので、初めて実施する人は参照してください。
RPCで接続を確立する際は、リクエスタ(接続をリクエストする操作を行う側)と、アクセプター(リクエストを受け入れる側)が存在します。あくまで接続を確立する手順上の役割なので、どちらがリクエスタ/アクセプタになったとしても接続が確立できてしまえば機能的には違いはありません。
各テナンシのOCIDと、リクエスタ側のグループのOCIDを確認しておいてから、ポリシー作成を行います。
-
リクエスタ側のテナンシで、以下のポリシー文を含めたポリシーをrootコンパートメントに作成します。
Define tenancy Acceptor as ocid1.tenancy.oc1..xxxxxxxxxxxxxxxxxx(アクセプタ側テナンシのOCID) Allow group <リクエスタとなるグループ名> to manage remote-peering-from in compartment <RPCを配置するコンパートメント名> Endorse group <リクエスタとなるグループ名> to manage remote-peering-to in tenancy Acceptor
注) 今回は、最低限リクエスタとなるユーザーがDRGを管理したりRPCの操作ができるようにvirtual-network-familyのmanage権限とcompartmentのread権限も追加しています。 -
アクセプタ側テナンシで、以下のポリシー文を含めたポリシーをrootコンパートメントに作成します。
Define group RequestorGroup as ocid1.group.oc1..xxxxxxxxxxxxxxxxxx(リクエスタ側グループのOCID) Define tenancy Requestor as ocid1.tenancy.oc1..xxxxxxxxxxxxxxxxxx(リクエスタ側テナンシのOCID) Admit group RequestorGroup of tenancy Requestor to manage remote-peering-to in compartment <RPCを配置するコンパートメント名>
以上でクロステナンシのポリシー作成は完了です。
2. 各DRGにRPCを作成する
準備ができたので、両テナンシのDRGでそれぞれRPCを作成します。
- DRGの詳細画面を開いて、アタッチメント・タブを下にスクロール。リモート・ピアリング接続アタッチメント」から「リモートピアリング接続の作成」をクリック
- 名前を入力して、作成ボタンをクリック
- リモート・ピアリング接続アタッチメントが作成されたことを確認。ピアリング・ステータスは「新規(ピアリングなし)」の状態。リモート・ピアリング接続の名前のリンクをクリックする。
- リモート・ピアリング接続のOCIDを確認する。
- 上記作業をアクセプタ側のテナンシのDRGでも同じく実施する。
3. RPCの接続を確立する
- リクエスタ側のDRGのリモートピアリング・アタッチメントから、リモート・ピアリング接続の名前のリンクを開き、「接続の確立」ボタンをクリック
- リージョンを選択し、アクセプタ側のリモート・ピアリング接続のOCIDを入力。
- ピア・ステータスは「保留中」となる。
- しばらく待つと、ピア・ステータスが「保留中」から「ピアリング済」になる。
- アクセプタ側のDRGのRPCを確認すると、こちらもピア・ステータスが「ピアリング済」となっていることがわかる。
以上で、クロステナンシでのリモートピアリング接続の作成は完了です!
あとは、通信要件に応じたルーティングをVCNルート表やDRGルート表に設定していきましょう。

