もう少しだけ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が一番!!
0 件のコメント:
コメントを投稿