7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle Cloud:契約が異なるテナンシのVCNをCross-Tenancy Peeringしてみてみた

Last updated at Posted at 2019-02-25

異なるテナンシ(異なる契約)どうしをLocal VCN Peeringすることができ、これを Cross-tenancy Peeringと言います。

今回は、ABC社とXYZ社のVCNを Cross-tenancy Peeringし、On-PremisesからABC社へVPN接続を行い、Transit RoutingでOn-PremisesからXYZ社へ直接疎通できるように構成設定します。

#■ 構成図
お互いのテナンシへ権限を付与してPeeringを確立できるように、必要なIAMポリシーを実装するには、それぞれの2箇所のテナンシのVCN管理者の内、片側の管理者をRequestor、もう一方をAcceptorとして指定します。
Requestorは、お互い2つのLPG(Local Peering Gateway)の接続リクエスト許可を行います。
Acceptorは Acceptorのコンパートメント内のLPGに接続するリクエスタ権限を付与する特定のIAMポリシーを作成します。
このポリシーがないと、Requestorの接続リクエストは失敗します。
構成.png

#■ 手順概要

1. LPG作成:
	各VCN管理者は、それぞれのVCNのLPGを作成します。
2. 情報共有: 
	各テナンシーの管理者はお互いの必要情報を共有します。 
3. 接続必須IAMポリシー設定:
	各管理者は、IAMポリシーを設定して、接続を確立できるようにします。 
4. 接続確立:
	リクエスタの管理者が、2つのLPGを接続します。
5. ルート表設定:
	各管理者は、VCNルート表を設定して、VCN間接続トラフィックを必要に応じて有効にします。
6. セキュリティ・リスト設定:
	各管理者は、VCNセキュリティ・リストを設定して、VCN間接続トラフィックを必要に応じて有効にします。

##● 注意点
・IAMポリシーは、rootコンパートメントへ作成
・LPGのPeeringは、リクエスタ側テナントのIAMポリシーGroup権限があるユーザーで実施

#■ 環境作成(事前準備)
概要図にある以下内容で各テナンシーを設定
今回Oracle Identity Cloud Service(IDCS)のOCIログイン・ユーザーでCross-Tenancy接続許可をするので、接続許可のポリシーを付与したIAMのGroupをIDCSのユーザーへマッピングを行います。

##● RequestorテナンシーUser/Group設定

・テナンシー名:ABC
・Tenancy OCID:ocid1.tenancy.oc1..aaaaaaarequestorComp
・Compartment名:RequestorComp
・VCN名:VCN-1
・LPG名:LPG-1
・OCIのGourp名:RequestorGrp 
・OCIのGourp OCID : ocid1.group.oc1..aaaarequestorgrp
・IDCSのGroup:OCI-RequestorGrp
・IDCSのLPG接続許可管理者User: oci@mail.com

##● Acceptorテナンシー

・テナンシー名:XYZ
・Tenancy OCID:ocid1.tenancy.oc1..aaaaaacceptorcomp
・Compartment名:AcceptorComp
・VCN名:VCN-2
・LPG名:LPG-2 
・LPG OCID:ocid1.localpeeringgateway.oc1.iad.aaaaaaaalpg2

#■ Requestorテナンシー:LPG接続許可管理者User設定
LPG接続許可するためのRequestorGrpを作成し、VCN管理ユーザーへ権限付与します
今回IDCSユーザーで設定するので、IDCSユーザーで実行できるように権限設定します

##● 管理ユーザーでログイン
管理権限あるIDCSユーザーでログイン

##● RequestorGrpグループ作成

  1. OCI Webコンソール画面
    Identitiy > Groups をクリック
    01_Group01.png

  2. Group画面
    [Create Group]をクリック
    01_Group02.png

  3. Create Group画面
    NAMEを設定して[Submit]をクリック

    NAME: RequestorGrp

01_Group03.png

4)Group作成確認
Groupが作成されたことを確認
01_Group04.png
01_Group05.png

##● IDCSユーザー用 OCI-RequestorGrpグループ作成
Oracle Identity Cloud Service(IDCS)フェデレーションからユーザー設定

  1. OCI Webコンソール画面
    Identitiy > Federation をクリック
    00_Idp-Group05Idp-Groupadd01.png

  2. Federation画面
    Oracle Identity Cloud Serviceアイデンティティ・フェデレーションを表示
    Nameにある「OracleIdentityCloudService」をクリック
    00_Idp-Group05Idp-Groupadd02.png

  3. OracleIdentityCloudService画面
    左ペインにある[Groups]をクリックし、[Create IDCS Group]をクリック
    00_Idp-Group05Idp-Groupadd03.png

  4. Create IDCS Group画面
    NAMEを設定して[Create]をクリック

    NAME: OCI-RequestorGrp

00_Idp-Group05Idp-Groupadd04.png

  1. OCI-RequestorGrpグループ作成確認
    00_Idp-Group05Idp-Groupadd05.png

##● IDCSユーザーへOCI-RequestorGrpグループ権限付与

  1. OracleIdentityCloudService画面
    左ペインにある[Groups]をクリックし、権限付与するユーザーをクリック
    00_Idp-Group20_IdpUseraddGroup00.png

  2. IDCSユーザー画面
    [Add to IDCS Group]をクリック
    00_Idp-Group20_IdpUseraddGroup01.png

  3. Add User to IDCS Group画面
    GROUPSから作成した「OCI-RequestorGrp」を選択し、[Add]をクリック
    00_Idp-Group20_IdpUseraddGroup02.png

4)Group付与確認
00_Idp-Group20_IdpUseraddGroup03.png

##● Group Mapping
作成したOCIグループ(RequestorGrp)とIDCSグループ(OCI-RequestorGrp)をマッピング

  1. OracleIdentityCloudService画面
    Identitiy > Federation から「OracleIdentityCloudService」をクリック
    左ペインから、[Group Mappings]をクリックし、[Add Mappings]をクリック
    00_Idp-Group10_IdpGoupMapping01.png

  2. Add Mappings画面
    作成したIDCSグループとOCIグループをマッピング

    ・IDENTITY PROVIDER GROUP: OCI-RequestorGrp
    ・OCI GROUP: RequestorGrp

00_Idp-Group10_IdpGoupMapping02.png

  1. Mappings確認
    00_Idp-Group10_IdpGoupMapping03.png

#■ 1. LPG作成:
各VCN管理者は、それぞれのVCNにLPGを作成

#■ 2. 情報共有:
各テナンシーの管理者はお互いの以下必要情報を共有します。

##● Requestorテナンシ

・テナンシのOCID
・RequestorGrpのOCID
・VCN CIDR とSubnet

##● Acceptorテナンシ

・テナンシのOCID
・VCN CIDR と Subnet

#■ 3. 接続必須IAMポリシー設定:
各管理者は、以下IAMポリシーを設定して、接続を確立できるようにします。

##● リクエスタ側: IAMポリシー設定

  1. OCIコンソール
    Identity > Policiesをクリック
    02_Policy01.png

  2. Policies画面
    「root」COMPARTMENTを選択し、[Create Policy]ボタンをクリック
    02_Policy02.png

  3. Create Policy画面
    以下情報を設定し[Create]ボタンをクリック

    ・NAME:ポリシー名を設定、ここではPolicy-R
    ・DISCRIPTION: 任意の説明を記入
    ・COMPARTMENT: rootコンパートメントを選択
    ・Poilicy Builder: 以下4行入力
    Define tenancy Acceptor as ocid1.tenancy.oc1..aaaaaacceptorcomp
    Allow group RequestorGrp to manage local-peering-from in compartment RequestorComp
    Endorse group RequestorGrp to manage local-peering-to in tenancy Acceptor
    Endorse group RequestorGrp to associate local-peering-gateways in compartment RequestorComp with local-peering-gateways in tenancy Acceptor

02_Policy03.png

  1. 作成したポリシー画面
    ポリシーが作成されたことを確認
    02_Policy04.png

##● アクセプタ側: IAMポリシー設定

  1. Policies画面
    「root」COMPARTMENTを選択し、[Create Policy]ボタンをクリック
    02_Policy01.png

  2. ポリシー作成
    Identityにある「Policies」画面にて、「root」COMPARTMENTを選択し、
    [Create Policy]ボタンをクリックして以下情報を設定し[Create]ボタンをクリック

    ・NAME:ポリシー名を設定、ここではPolicy-A
    ・DISCRIPTION: 任意の説明を記入
    ・COMPARTMENT: rootコンパートメントを選択
    ・Poilicy Builder: 以下4行入力
    Define tenancy Requestor as ocid1.tenancy.oc1..aaaaaaarequestorComp
    Define group RequestorGrp as ocid1.group.oc1..aaaarequestorgrp
    Admit group RequestorGrp of tenancy Requestor to manage local-peering-to in compartment AcceptorComp
    Admit group RequestorGrp of tenancy Requestor to associate local-peering-gateways in tenancy Requestor with local-peering-gateways in compartment AcceptorComp

02_Policy02.png

  1. ポリシー作成確認
    ポリシーが作成されたことを確認
    02_Policy03.png

#■ 4. LPG接続確立
リクエスタは、リクエスタのLPG(LPG-1)画面でアクセプタLPG(LPG-2)のOCIDを使用してPeering

##● アクセプタ側: LPG(LPG-2)
作成したLPGのOCIDをリクエスタ側へ通知します

  1. LPG(LPG-2)画面
    LPGの右端にあるドットをクリックし、[Copy OCID]をクリック
    このIDをリクエスタ側へ通知します

##● リクエスタ側: LPG(LPG-1)

  1. LPG(LPG-1)画面
    LPGの右端にあるドットをクリックし、[Establish Connection]ボタンをクリック

  2. Establish Peering Connection画面
    以下項目を設定し、[Establish Peering Connection]をクリック

    ・Specify THE LOCAL PEERING GATEWAY: [ENTER LOCAL PEERING GATWAY OCID]を選択
    ・PEERING GATEWAY OCID: アクセプタ側: LPG(LPG-2)のOCIDを設定

  3. 接続確認
    以下ステータスを確認

    ・Peering Status: 「Peerd」,
    ・Peer Advertised CIDR: アクセプタ側: LPG(LPG-2)のVCN CIDR(172.16.0.0/16)
    ・Cross-Tenancy: Yes

#■ 5. ルート表設定
ここでは、VCN-1をHubとして、On-PremisesからVCN-2へアクセスできるように以下図面のように、①〜④個別に作成したRoute Tableを設定してVCN Transit Routingを行います。
構成Transit.png

VCN Transit Routingの設定は、次を参考に設定できます。
  - Oracle Cloud:VCN Transit Routing で Hub and Spoke構成をしてみてみた
  - Transit Routing + IPSec VPN / FastConnectで Object Storage, Autonomous Databaseへ接続してみてみた

#■ 6. セキュリティ・リスト設定
各管理者は、VCNセキュリティ・リストを更新して、VCN間接続トラフィックを必要に応じて有効にします。
今回は、3箇所のSIDRすべてのプロトコル(All Protocols)を許可していますが、セキュリティ要件に合わせて設定してください。

##● VCN-1

###・Ingress Rule 1

- SOURCE CIDR:10.0.0.0/16
- IP PROTOCOL:All Protocols

###・Ingress Rule 2

- SOURCE CIDR:172.16.0.0/16
- IP PROTOCOL:All Protocols

###・Ingress Rule 3

- SOURCE CIDR:192.168.0.0/16
- IP PROTOCOL:All Protocols

##● VCN-2

###・Ingress Rule 1

- SOURCE CIDR:10.0.0.0/16
- IP PROTOCOL:All Protocols

###・Ingress Rule 2

- SOURCE CIDR:172.16.0.0/16
- IP PROTOCOL:All Protocols

###・Ingress Rule 3

- SOURCE CIDR:192.168.0.0/16
- IP PROTOCOL:All Protocols04

SL01.png

#■ 疎通テスト

##● On-premises -> VCN-2へ疎通確認
・On-premises -> spoke-inst01 へping確認

[opc@OnP-Inst01 ~]$ ping 172.16.0.2 -c 3
	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=63 time=53.0 ms
	64 bytes from 172.16.0.2: icmp_seq=2 ttl=63 time=53.0 ms
	64 bytes from 172.16.0.2: icmp_seq=3 ttl=63 time=53.0 ms

	--- 172.16.0.2 ping statistics ---
	3 packets transmitted, 3 received, 0% packet loss, time 2002ms
	rtt min/avg/max/mdev = 53.009/53.024/53.035/0.011 ms

・On-premises -> spoke-inst01 へssh確認

[opc@OnP-Inst01 ~]$ ssh -i id_rsa opc@172.16.0.2 hostname
	spoke-inst01

##● VCN-2 -> On-premisesへ疎通確認
・spoke-inst01 -> On-premises へping確認

[opc@spoke-inst01 ~]$ ping 192.168.0.2 -c 3
	PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
	64 bytes from 192.168.0.2: icmp_seq=1 ttl=63 time=46.6 ms
	64 bytes from 192.168.0.2: icmp_seq=2 ttl=63 time=46.6 ms
	64 bytes from 192.168.0.2: icmp_seq=3 ttl=63 time=46.5 ms

	--- 192.168.0.2 ping statistics ---
	3 packets transmitted, 3 received, 0% packet loss, time 2003ms
	rtt min/avg/max/mdev = 46.575/46.616/46.669/0.039 ms

・spoke-inst01 -> On-premises へssh確認

[opc@spoke-inst01 ~]$ ssh -i id_rsa opc@192.168.0.2 hostname
	OnP-Inst01

#■ 参考
   ・ローカルVCNピアリング(リージョン内)
   ・Transit Routing: Private Access to Oracle Services
   ・Supported Cloud Services in Oracle Services Network
   ・Public IP Address Ranges
   ・To manage the access control list of an Autonomous Database
   ・Oracle Services Network(OSN)
   ・伝送ルーティング : Oracle Servicesへのプライベート・アクセス
   ・伝送ルーティング : 同じリージョン内の複数のVCNへのアクセス

7
4
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
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?