LoginSignup
0
0

OCIテナンシを跨いでプライベート・インスタンスに接続する (Part 3 - リージョン間)

Last updated at Posted at 2023-06-19

初めに
ISV様(SaaS提供者)と各エンドユーザ様のOCI環境は、コンパートメント単位ではなく、テナンシで分けるケースがよくあります。この場合、ISV様の管理者から、インターネットを経由せず、エンドユーザ様のプライベート・インスタンスにアクセスしたいのは、一般的な要件です。

やり方は、いろいろありますので、4回連載で接続方法を紹介したいと思います。

  • Part 1: LPG(ローカル・ピアリング・ゲートウェイ)の利用
  • Part 2: DRG(動的ルーティング・ゲートウェイ)アタッチメントの利用
  • Part 3 (本文): DRG RPC(リモート・ピアリング接続)でリージョン間の接続
  • Part 4: 各方法の差異比較

構成図
image.png

検証環境
Compute Instance (Linux 8 VM)

※、VMを例にして紹介しますが、この方法は、プライベート・サブネットに格納されるOracle Base DB或いはADBへの接続にも適用します。

制限事項

  • 接続元と接続先のVCNのCIDRブログは、重複しないこと。
  • リージョンごと、最大5個のDRGが作れるというサービス制限がある(ソフトリミット)。
  • テナンシ間のリモート・ピアリング接続をするのに、レガシーDRGではなく、DRGv2(アップグレードされたDRG)は必要である。

接続方法

1. 事前準備

1-1. IAMリソースの作成

テナンシ リソース・タイプ 名前 コメント
ISV コンパートメント Compt-ISV 接続元(Requestor)
ISV ユーザー ISV-Admin ISV様の管理者
ISV グループ ISV-Admin-Grp ISV様の管理者を入れる
User-A コンパートメント Compt-User-A 接続先(Acceptor)

1-2. ポリシーの作成

テナンシ ポリシー名 コメント
ISV Policy-RPC-ISV rootコンパートメントの下に作成
User-A Policy-RPC-User-A rootコンパートメントの下に作成

ポリシーの詳細
設定箇所:接続元(Requestor)のテナンシ (ISV様より作成)
ポリシー名:Policy-RPC-ISV
ステートメント:

Define tenancy User-A as <OCID_of_Tenancy_User-A>
Allow group ISV-Admin-Grp to manage remote-peering-from in compartment Compt-ISV
Endorse group ISV-Admin-Grp to manage remote-peering-to in tenancy User-A

設定箇所:接続先(Acceptor)のテナンシ (エンドユーザ様より作成)
ポリシー名:Policy-RPC-User-A

Define tenancy ISV as <OCID_of_Tenancy_ISV>
Define group ISV-Admin-Grp as <OCID_of_ISV-Admin-Grp>
Admit group ISV-Admin-Grp of tenancy ISV to manage remote-peering-to in compartment Compt-User-A

1-3. ネットワーキング・リソースの作成

テナンシ リージョン リソース・タイプ 名前 コメント
ISV Tokyo VCN VCN-ISV 10.0.0.0/16
Private Subnet Private Subnet ISV 10.0.0.0/24
User-A Osaka VCN VCN-User-A 192.168.0.0/16
Private Subnet Private Subnet User-A 192.168.0.0/24

2. テナンシ間、リージョン間のプライベート接続

2-1. DRGの作成

ISVとエンドユーザのテナンシに、それぞれのDRGを作成します。
ISV様用:DRG-ISV (次のように)
エンドユーザ様用:DRG-User-A (画面を省略)
image.png

2-2. DRGアタッチメントの作成

ISV様とエンドユーザ様のVCNに、それぞれのDRGアタッチメントを作成します。

画面入口:ネットワーキング → 仮想クラウド・ネットワーク → 仮想クラウド・ネットワークの詳細 → 「DRGアタッチメントの作成」をクリック

DRGの場所は、デフォルトの「現在のテナンシ」を指定してください。
image.png
エンドユーザ側も上記と同様に作成しますので、画面を省略します。

2-3. RPC(リモート・ピアリング接続)の作成

ISVとエンドユーザのテナンシに、それぞれのRPCを作成します。
ISV様用:RPC-ISV (次のように)
エンドユーザ様用:RPC-User-A (画面を省略)
image.png
作成後の状態:
この時点のピア・ステータスは、「新規(ピアリングなし)」となります。
image.png

2-4. RPC接続の確立

次のように、エンドユーザのテナンシのRPC詳細画面で、OCIDをコピーします。
image.png
RPC OCIDの例:ocid1.remotepeeringconnection.oc1.ap-osaka-1.aaaa<中略>hahq
DRG OCID、或いは DRGアタッチメントのOCIDと間違いないようにご注意を。

ISVテナンシのRPC詳細画面で、「接続の確立」をクリックし、相手のリージョン(ap-osaka-1)とコピーしたRPC OCIDを入力してから、接続の確立を開始します。
image.png

ピア・ステータスは、Pending(保留中)から、Peered(ピアリング済)まで、約2~3分がかかります。
ISV側の確認結果:
image.png
エンドユーザ側の確認結果:
image.png

2-5. ルート表とセキュリティ・リスト(or NSG)の設定

テナンシ タイプ 項目 コメント
ISV ルート表 ルール ターゲット: DRG-ISV
宛先: 192.168.0.0/24
ISV側のサブネットに紐づけ
SL or NSG Ingress ソース側のIP, TCP 22 ISV側のサブネット或いはVMに紐づけ
Egress オール・ゼロ、或いは192.168.0.0/24 TCP 22
User-A ルート表 ルール ターゲット: DRG-User-A
宛先: 10.0.0.0/24
エンドユーザ側のサブネットに紐づけ
SL or NSG Ingress 10.0.0.0/24 TCP 22 エンドユーザ側のサブネット或いはVMに紐づけ

2-6. 相手のVMにSSH接続してみる

コマンド: ssh <VM_Private_IP> (事前にプライベート・キーを用意しておく)

[opc@linux-isv ~]$ pwd
/home/opc
[opc@linux-isv ~]$ ll .ssh/id_rsa
-r--------. 1 opc opc 1819 Jun 16 06:59 .ssh/id_rsa
[opc@linux-isv ~]$ ssh 192.168.0.124
The authenticity of host '192.168.0.124 (192.168.0.124)' can't be established.
ECDSA key fingerprint is SHA256:<中略>.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.124' (ECDSA) to the list of known hosts.
Activate the web console with: systemctl enable --now cockpit.socket

[opc@linux-user-a ~]$

以上です。


関連記事
オラクル・クラウドの個人シリーズ・ブログ
OCIテナンシを跨いでプライベート・インスタンスに接続する (Part 1 - LPGの利用)
OCIテナンシを跨いでプライベート・インスタンスに接続する (Part 2 - DRGの利用)
OCIテナンシを跨いでプライベート・インスタンスに接続する (Part 4 - 差異比較)


オフィシャル・リンク
DRGピアリングに関連するIAMポリシー
Configure cross-region private connectivity between tenancies (英語)
How to connect in OCI between Tenancies and across Regions (英語)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0