Cross-Tenancy Peeringは、異なるRegion間も接続できます。
ということで、ABC社契約テナンシの Ashuburnリージョンと XYZ社契約テナンシの Phoenixリージョンどうしを Cross-Tenancy Remote Peering して On-PremisesからABC社へ VPN接続を行い、ABC社を中継してOn-Premisesから XYZ社へ疎通できるように設定します。
■ 構成
Cross-Tenancy Peering は、お互いの Tenancy 管理者が同意した場合にのみ可能になり、必要な Policyを付与して Peeringを有効化します。
それぞれのテナンシの管理者の内、ABC-Tenancy側を Requestor、もう一方の XYZ-Tenancy側を Acceptor として指定して必要な IAMポリシーを実装して Peeringします。
■ 事前準備
各テナンシの Computeインスタンス、VCN、Route Table, Security List等や
On-Premisesと ABC-Tenancyテナンシへ、IPSec VPN接続はあらかじめ疎通できるよう設定しておきます。
・参考: NEC IXルーターを冗長構成でIKEv2 IPSec VPN接続してみてみた
今回は、IDCSユーザーで作業するため次の情報を使用して各テナンシへ IAM Policy と Group作成を行い Cross-Tenancy Peering VCNsします
IAMユーザーで作業する場合は、IDCSグループ作成は不要です。
Tenancy Name | ABC-Tenancy | XYZ-Tenancy |
---|---|---|
Region | Ashburn | Phoenix |
Tenancy OCID | ocid1.tenancy.oc1..aaaaaaaa4rljlv6dfuvi2qc6 | ocid1.tenancy.oc1..aaaaaaaai4sy6qyo2aa6 |
IDCS Group Name | OCI_Requestor-RPC-Admin | OCI_Acceptor-RPC-Admin |
IAM Group Name | Requestor-RPC-Admin | Acceptor-RPC-Admin |
IAM Group OCID | ocid1.group.oc1..aaaaaaaaxqjcqrglcqtfumqny4nto7 | - |
Policy Name | Requestor-RPC-Policy | Acceptor-RPC-Policy |
Policy Statements | ・Define tenancy <Acceptor Tenancy Name> as <Acceptor-Tenancy-OCID> ・Allow group <Requestor-Group-Name> to manage remote-peering-from in compartment <Requestor-Compartment-Name> ・Endorse group <Requestor-Group-Name> to manage remote-peering-to in tenancy <Acceptor-Tenancy-Name> |
・Define tenancy <Requestor-Tenancy-Name> as <Requestor-Tenancy-OCID> ・Define group <Requestor-Group-Name> as <Requestor-Group-OCID> ・Admit group <Requestor-Group-Name> of tenancy Requestor to manage remote-peering-to in compartment <Acceptor-Compartment-Name> |
■ ABC-Tenancy (Requestor)作業
● IAMグループ: Requestor-RPC-Admin作成
-
OCI コンソール画面
[Identity & Security] > Identity項目 の [Groups] をクリック
-
Create Group画面
[Create Group] をクリックし、以下項目を入力して [Create Group] をクリック・Name: 任意の名前を設定
・Description: 任意の説明を記載
● IDCSグループ: OCI_Requestor-RPC-Admin作成
-
Federation画面
Identity > Federation画面にある、OracleIdentityCloudService をクリック
-
OracleIdentityCloudService画面
[Resources] > [Groups] 画面にある、[Create IDCS Group]をクリック
-
Create IDCS Group画面
以下項目をクリックし、[Create]をクリック・Name: 任意の名前を設定
・Description: 任意の説明を記載
・Users: 付与するIAMユーザーを選択
● IAMグループとIDCSグループマッピング
-
Group Mappings画面
[Resources] > [Group Mappings] 画面にある、[Add Mappings]をクリック
-
Add Mappings画面
以下項目をクリックし、[Create]をクリック・Identity Provider Group: 作成した IDCSグループを選択
・OCI Group: 作成した IAMグループを選択
● IDCSユーザーへIDCSグループ追加
-
OracleIdentityCloudService: Users画面
[Resources] > [Users] 画面にある、権限を付与するユーザーを選択
-
Add User to IDCS Group画面
以下項目をクリックし、[Add]をクリック・Groups: 作成したIDCSグループを選択
● ポリシー:Requestor-RPC-Policy作成
-
Create Policy画面
以下項目をクリックし、[Create]をクリック・Name: 任意の名前を設定
・Compartment: rootコンパートメントを選択
・Policy Builder: [Show manual editor]をONにして、以下入力
Define tenancy XYZ-Tenancy as ocid1.tenancy.oc1..aaaaaaaai4sy6qyo2aa6
Allow group Requestor-RPC-Admin to manage remote-peering-from in compartment POC
Endorse group Requestor-RPC-Admin to manage remote-peering-to in tenancy XYZ-Tenancy
■ XYZ-Tenancy (Acceptor)作業
● IAMグループ: Acceptor-RPC-Admin作成
-
OCI コンソール画面
[Identity & Security] > Identity の [Groups] をクリック
-
Group画面
[Create Group] をクリックし、以下項目をクリックして [Create Group] をクリック・Name: 任意の名前を設定
・Description: 任意の説明を記載
● IDCSグループ: OCI_Acceptor-RPC-Admin作成
-
Federation画面
Identity > Federation画面にある、OracleIdentityCloudService をクリック
-
OracleIdentityCloudService画面
[Resources] > [Groups] 画面にある、[Create IDCS Group]をクリック
-
Create IDCS Group画面
以下項目をクリックし、[Create]をクリック・Name: 任意のIDCS Group名を入力
・Description: 任意の説明を記載
・Users: 付与するユーザーを選択
● IAMグループとIDCSグループマッピング
-
Group Mappings画面
[Resources] > [Group Mappings] 画面にある、[Add Mappings]をクリック
-
Add Mappings画面
以下項目をクリックし、[Create]をクリック
・Identity Provider Group: 作成した IDCSグループを選択
・OCI Group: 作成した IAMグループを選択
● IDCSユーザーへIDCSグループ追加
-
OracleIdentityCloudService: Users画面
[Resources] > [Users] 画面にある、権限を付与するユーザーを選択
-
CAdd User to IDCS Group画面
以下項目をクリックし、[Add]をクリック
・Groups: 作成した IDCS Groupを選択
● ポリシー:Acceptor-RPC-Policy作成
-
Create Policy画面
以下項目をクリックし、[Create]をクリック・Name: 任意の名前を設定
・Compartment: rootコンパートメント を選択
・Policy Builder: [Show manual editor]をONにして、以下入力
Define tenancy ABC-Tenancy as ocid1.tenancy.oc1..aaaaaaaa4rljlv6dfuvi2qc6
Define group Requestor-RPC-Admin as ocid1.group.oc1..aaaaaaaaxqjcqrglcqtfumqny4nto7
Admit group Requestor-RPC-Admin of tenancy ABC-Tenancy to manage remote-peering-to in compartment POC
■ Remote Peerin Connection (RPC)作成
各Tenancyにある DRG上のリモート・ピアリング接続(RPC)を作成
● ABC-Tenancy側作業
-
DRG画面
左ペインの Resources > [Remote Peerin Connection Attachments]をクリックし、
[Create Remote Peering Connection]をクリック
-
リモート・ピアリング接続の作成画面
以下項目を入力し、[Create Remote Peerin Connection]をクリック・Name: 任意の名前を設定
・Create in compertment: RPCを作成するコンパートメントを設定
● XYZ-Tenancy側作業
-
DRG画面
左ペインの Resources > [Remote Peerin Connection Attachments]をクリックし、
[Create Remote Peerin Connection]をクリック
-
リモート・ピアリング接続の作成画面
以下項目を入力し、[Create Remote Peering Connection]をクリック・Name: 任意の名前を設定
・Create in compartment: RPCを作成するコンパートメントを設定
■ Cross-Tenancy Remote Peering
● ABC-Tenancy側作業
● XYZ-Tenancy作業
-
DRG画面
左ペインにある Resources > Remote Peering Connections Attachments をクリックし、
作成した Remote Peering Connectionsをクリック
3) Establish Connection画面
以下項目を入力し、[Establish Connection]をクリック
・Region: 接続する対抗リージョンを選択
・Remote Peering Connection OCID: 接続するABC-Tenancy側RPCのOCIDを設定
■ DRG Route Table設定
DRGにアタッチされた RPC、IPSec-VPN Attachment間でトラフィックをルーティングするルート情報を設定
・手順参考: DRGで東京リージョンを経由して、オンプレミスと 大阪リージョンを接続してみてみた
■ On-Premises CPE BGP接続確認
・ BGP接続確認
Router(config)# show ip bgp summary
BGP router ID 192.168.254.13, local AS number 65001
2 BGP AS-PATH entries
Neighbor V AS MsgRcvd MsgSent Up/DownTime State
192.168.254.14 4 31898 967 961 2:39:26 ESTABLISHED
192.168.254.18 4 31898 966 960 2:39:17 ESTABLISHED
Total number of neighbors 2
・ Neighbors(OCI) Received-Routes確認
Router(config)# sho ip bgp neighbors 192.168.254.14 received-routes
BGP table version is 403, local router ID is 192.168.254.13
Local AS number 65001
Status codes: s - suppressed, * - valid, h - history
> - best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Path
*> 10.10.0.0/24 192.168.254.14 31898 i
*> 10.20.0.0/24 192.168.254.14 31898 i
Total number of prefixes 2
・ Neighbors(OCI) Advertised-Routes確認
Router(config)# sho ip bgp neighbors 192.168.254.14 advertised-routes
BGP table version is 403, local router ID is 192.168.254.13
Local AS number 65001
Status codes: s - suppressed, * - valid, h - history
> - best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Path
*> 192.168.0.0/25 192.168.254.41 1 i
Total number of prefixes 1
・ BGP 確認
Router(config)# show ip bgp
BGP table version is 403, local router ID is 192.168.254.13
Local AS number 65001
Status codes: s - suppressed, * - valid, h - history
> - best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Path
* 10.10.0.0/24 192.168.254.18 31898 i
*> 192.168.254.14 31898 i
* 10.20.0.0/24 192.168.254.18 31898 i
*> 192.168.254.14 31898 i
192.168.0.0/24 0.0.0.0 1 i
*> 192.168.0.0/25 0.0.0.0 1 i
Total number of prefixes 6
■ On-Premise と XYZ-Tenancy接続確認
● On-Premise --> XYZ-Tenancy接続確認
・ taraceroute確認
on-premises:~ user$ traceroute -I 10.20.0.2
traceroute to 10.20.0.2 (10.20.0.2), 64 hops max, 72 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 10.20.0.2 (10.20.0.2) 303.541 ms 238.850 ms 203.140 ms
・ ping疎通確認
on-premises:~ user$ ping 10.20.0.2 -c 3
PING 10.20.0.2 (10.20.0.2): 56 data bytes
64 bytes from 10.20.0.2: icmp_seq=0 ttl=60 time=222.416 ms
64 bytes from 10.20.0.2: icmp_seq=1 ttl=60 time=234.596 ms
64 bytes from 10.20.0.2: icmp_seq=2 ttl=60 time=206.904 ms
--- 10.20.0.2 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 206.904/221.305/234.596/11.332 ms
・ ssh接続確認
on-premises:~ user$ ssh -i id_rsa opc@10.20.0.2 hostname
xyz-inst
■ 参考
・Peering VCNs in different regions through a DRG
・[IAM policies related to DRG peering](https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/drg-iam.htm#scenario_m