OCIで異なるテナント、異なるリージョン間をピアリング接続する

2022/05/22

OracleCloud

t f B! P L

もう少しだけOCIネタ続きます。

当然ながら異なるリージョン同士でピアリング接続をすることが可能。

それが異なるテナント(アカウント)であっても。


今回は2つ目のアカウントを用意して、それぞれのリージョンをDRGで接続することで

相互に通信ができるようにする。

簡単なイメージは以下。


DRGを使うことで、VCNではなくリージョン間でのピアリング接続を容易にしている。

AWSだとTransit Gatewayみたいなものかな?


どちらでもいいんだけど、ピアリング接続しにいくテナントをリクエスタ

接続を受け付けるテナントをアクセプタ、と呼称する。



リクエスタテナントでIDCSグループ作成、ユーザーマッピング

まずはリクエスタテナントでの作業。

コンソールメニューから「アイデンティティとセキュリティ」の「グループ」をクリックする。


「グループの作成」をクリックする。


「名前」および「説明」を入力して「作成」をクリックする。

ここでは"Requestor-RPC-Admin"とする。


次にコンソールメニューから「アイデンティティとセキュリティ」の「フェデレーション」をクリックする。


「OracleIdentityCloudService」をクリックする。


「IDCSグループの作成」をクリックする。


「名前」を入力して、「作成」をクリックする。

ここでは"IDCS_Requestor-RPC-Admin"とする。


グループが作成されたことを確認する。


そのまま「グループのマッピング」より「マッピングの追加」をクリックする。


「アイデンティティ・プロバイダ・グループ」、「OCIグループ」にそれぞれ作成したグループを選択して、「マッピングの追加」をクリックする。


マッピングが追加されたことを確認する。


次にユーザーとの紐付け。

ユーザー画面でOCIのユーザーをクリックする。


「IDCSグループへの追加」をクリックする。


「グループ」に作成したIDCSグループを選択して「追加」をクリックする。


リクエスタテナントでポリシー作成

次にIAMポリシーを追加する。

コンソールメニューから「アイデンティティとセキュリティ」の「ポリシー」をクリックする。


「ポリシーの作成」をクリックする。


「手動エディタの表示」をクリックし、以下の通りポリシーを設定する。

名前、説明:任意の名前(ここでは"Requestor-RPC-Policy"

ポリシー・ビルダー:

Define tenancy Acceptor as <アクセプタテナンシのOCID>

Allow group Requestor-RPC-Admin to manage remote-peering-from in compartment <コンパートメント名>

Endorse group Requestor-RPC-Admin to manage remote-peering-to in tenancy Acceptor


リクエスタテナントでの権限設定等は以上。


アクセプタテナントでIDCSグループ作成、ユーザーマッピング

先ほどの作業を同様にアクセプタテナントでも実施する。

コンソールメニューから「アイデンティティとセキュリティ」の「グループ」をクリックする。


「グループの作成」をクリックする。


「名前」、「説明」を入力して「作成」をクリックする。

ここでは"Acceptor-RCP-Admin"とする。


次は「フェデレーション」から「OracleIdentityCloudService」をクリックする。


「IDCSグループの作成」をクリックする。


「名前」を入力して「作成」をクリックする。

ここでは"IDCS_Acceptor-RPC-Admin"としている。


次に「グループ・マッピング」から「マッピングの追加」をクリックする。


「アイデンティティ・プロバイダ・グループ」と「OCIグループ」をそれぞれ選択し、「マッピングの追加」をクリックする。


「ユーザー」よりOCIユーザーをクリックする。


「IDCSグループへの追加」をクリックする。


グループ」に作成したIDCSグループを選択して「追加」をクリックする。


アクセプタテナントでポリシー作成

次にIAMポリシーを追加する。

コンソールメニューから「アイデンティティとセキュリティ」の「ポリシー」をクリックする。


「ポリシーの作成」をクリックする。


「手動エディタの表示」をクリックし、以下の通りポリシーを設定する。

名前、説明:任意の名前(ここでは"Acceptor-RPC-Policy"

ポリシー・ビルダー:

Define tenancy Requestor as <リクエスタテナンシのOCID>

Define group Requestor-RPC-Admin as <Requestor-RPC-AdminグループのOCID>

Admit group Requestor-RPC-Admin of tenancy Requestor to manage remote-peering-to in compartment <コンパートメント名>


リクエスタテナントでの権限設定は以上。


リクエスタテナントでDRGのリモートピアリング接続作成

次にリクエスタテナントでDRGの設定を行う。

まだDRGを作ってない場合は作っておく。

DRGの画面より「リモート・ピアリング接続の作成」をクリックする。


「名前」を入力して、「リモート・ピアリング接続の作成」をクリックする。

ここでは名前を"RPC-Osaka"(大阪リージョンへの接続)という名前にする。


アクセプタテナントでDRGのリモートピアリング接続作成

アクセプタテナントでも同様にRPC接続を作成する。

名前は"RPC-Phoenix"(フェニックスリージョンへの接続)とした。


アクセプタテナントでRPCのOCIDをコピー

いよいよRPC同士を接続する。

まずはアクセプタテナント(接続先)のRPCのOCIDを控える必要がある。

RCPのOCIDをコピーする。

※以下の画面では「RPC-Osaka」(リクエスタテナントの方)になってますが、

 「RPC-Phoenix」のOCIDをコピーするのが正解です。


リクエスタテナントでリモートピアリング接続

リクエスタテナントからピアリング接続を行う。

DRGのリモートピアリング接続アタッチメントから、「リモート・ピアリング接続」をクリックする。

※ここも画面が間違ってます。(リクエスタとアクセプタのテナントが逆w)


「接続の確立」をクリックする。

※画面違い


「リージョン」に接続先リージョン、「リモート・ピアリング接続OCID」に先ほどコピーしたOCIDを入力し、「接続」をクリックする。

※ここも画面違い。リクエスタとアクセプタを間違えるとエラーになります。


設定の問題がなければ、RPCのステータスが「接続済み」に変わる。


エラーになるとステータスが「無効」と表示される。

その際は、上記までの設定でどこかが間違っているので見直す。

  • リクエスタとアクセプタが逆になっている
  • IDCSグループのマッピングができていない
  • ポリシーのルールが間違っている

などなど。


これでリージョン間での接続は完了。

同一テナントであれば、RPCの設定をするだけ。


ルートテーブル、セキュリティリスト等の追加

仮想マシン間で通信を行うためにはもう少しだけ設定が必要。

それぞれのVCNの各サブネットのルートテーブルにDRGへのルーティングを追加する。

・ターゲットタイプ:動的ルーティング・ゲートウェイ

・宛先CIDRブロック:宛先VCNのCIDR


あとはセキュリティリストで必要な通信ポートの開放と、

必要に応じて仮想サーバ上のFW(iptablesなど)でポートの開放を行うと通信ができる。


参考

やってることはこのサイトと全く同じ。

クラウドだと設定が簡単

昔だと現地でルーター機器をゴニョゴニョして接続〜みたいなことだったけど、

クラウドはブラウザでぽちぽち設定していけばNWが接続できるようになる。

これで色々な場所に色々なサーバを立てて遊ぶことができる。

OCIだと数台は余裕で立てることができるので、非常に便利だし、勉強にもなる。


やっぱり個人で遊ぶにはOracle Cloudが一番!!

検索

Blog Archive

Popular Posts

About Me

自分の写真
性別:男
年齢:ついに40over
趣味:Snowboard、パソコン、iPhone、子育て

仕事:ユー子の社内SEとしてサーバ、NW等のインフラ全般をやってます

日々生活していく中で思ったことなどをつらつらと書いていきます。

どうぞよろしく!

ブログランキング

ブログランキング・にほんブログ村へ

QooQ