Transit Routingの機能により、
On-Premises NetworkからOracle Services Network内にあるObject Storge,Autonomous DatabaseなどのPublic Serviceへアクセス可能になりました。
オンプレミスのホストはプライベートIPアドレスを使用し、トラフィックはインターネットを経由しません。
トラフィックは、FastConnectのPrivate Peering または IPSec VPN で Dynamic Routing Gateway.(DRG)から、Service Gatewayを経由してOracle Services Network (OSN)へアクセスします。
Service Gatewayを経由可能なPublic IPのサービスリストはこちらです
Supported Cloud Services in Oracle Services Network
その他の注意点は、On-Premises側のDNSです。
Object Storage,Autonomous DatabaseなどのPublic Service はIPアドレスではなくURLでアクセスする必要があるため、FQDNの名前解決をGlobal DNSでされている必要があります。
また、OCIからBGPで伝搬されるCIDRはPublic IP Address RangesのJSONに記載ある"OSN"と"OBJECT_STORAGE"項目部分のCIDRです。
■ 構成
■ 手順概要
上記構成は今までの手順で構築し動作確認しておきます。
本機能の手順はRoute Table設定になり、DRG と Service Gateway間の経路を作るためのRoute Tableを各Gateway個別に作成して設定します。
技術的には、接続Region内にあるObject Storge,Autonomous Database などOSNのPublic IP Address Ranges内の利用可能なCIDRが、BGPによってオンプレミスのルーターへ伝搬されます。
OCI側の設定はシンプルなので、接続できない場合は、CPE側の設定も見直してください。
● CPE側接続トラブル例
・ルーター側フィルタリング設定:OSNアドレスを通すように設定をし直して解消
・ルーターOS不具合:伝送遅延/再起動反映/Globalアドレス伝搬不可能/等の不具合のため、パッチ適用によって解消
・On-PremisesとOCIのCIDRが重複:重複しないようにCIDR設定し直して解消
■ DRG設定
● DRG用Route Table作成
● DRGへRoute Table関連付
■ Service Gatway設定
● Service Gatway用Route Table作成
● Service GatwayへRoute Table関連付
■ 動作確認
● BGP確認
DRGに接続したRegionの Public IP Address Ranges がBGPルートとしてアドバタイズされます
・すべてのBGP接続のステータスを確認
Router01(config)# show ip bgp summary
BGP router ID 192.168.0.211, local AS number 65000
2 BGP AS-PATH entries
Neighbor V AS MsgRcvd MsgSent Up/DownTime State
192.168.200.202 4 31898 27415 25143 0:47:42 ESTABLISHED
192.168.200.206 4 31898 27585 25142 0:47:40 ESTABLISHED
Total number of neighbors 4
・BGP情報確認
Router01(config)# show ip bgp
BGP table version is 434, local router ID is 192.168.0.211
Local AS number 65000
Status codes: s - suppressed, * - valid, h - history
> - best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Path
* 10.0.0.0/24 192.168.200.206 31898 i
*> 192.168.200.202 31898 i
* 134.70.80.0/23 192.168.200.206 31898 i
*> 192.168.200.202 31898 i
* 134.70.82.0/23 192.168.200.206 31898 i
*> 192.168.200.202 31898 i
* 140.91.32.0/23 192.168.200.206 31898 i
*> 192.168.200.202 31898 i
* 140.204.8.128/25 192.168.200.206 31898 i
*> 192.168.200.202 31898 i
192.168.200.0/24 0.0.0.0 0 i
* 192.29.36.0/22 192.168.200.206 31898 i
*> 192.168.200.202 31898 i
*> 192.168.0.0/24 0.0.0.0 1 i
Total number of prefixes 14
・On-Premises(Neighbor)のCIDRがOCIへアドバタイズしていることを確認
Router01(config)# show ip bgp neighbors 192.168.200.202 advertised-routes
BGP table version is 434, local router ID is 192.168.0.211
Local AS number 65000
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/24 192.168.200.201 1 i
Total number of prefixes 1
・OCI Regionの Public IP Address Ranges がOn-Premises(Neighbor)へアドバタイズしていることを確認
Router01(config)# show ip bgp neighbors 192.168.200.202 received-routes
BGP table version is 434, local router ID is 192.168.0.211
Local AS number 65000
Status codes: s - suppressed, * - valid, h - history
> - best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Path
*> 10.0.0.0/24 192.168.200.202 31898 i
*> 134.70.80.0/23 192.168.200.202 31898 i
*> 134.70.82.0/23 192.168.200.202 31898 i
*> 140.91.32.0/23 192.168.200.202 31898 i
*> 140.204.8.128/25 192.168.200.202 31898 i
*> 192.29.36.0/22 192.168.200.202 31898 i
Total number of prefixes 6
・Route情報確認
Router01(config)# show ip route
IP Routing Table - 11 entries, 6 hidden, 2031 frees
Entries: 4 Connected, 1 Static, 0 RIP, 0 OSPF, 6 BGP
Codes: C - Connected, S - Static, R - RIP, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, B - BGP
* - Candidate default, s - Summary
Timers: Age
S* 0.0.0.0/0 [1/1] is directly connected, GigaEthernet0.1, 5d17h13m33s
10.0.0.0/8 is subnetted, 1 subnets
B 10.0.0.0/24 [20/0] via 192.168.200.202, Tunnel0.0, 0:44:22
134.70.0.0/16 is subnetted, 2 subnets
B 134.70.80.0/23 [20/0] via 192.168.200.202, Tunnel0.0, 0:14:06
B 134.70.82.0/23 [20/0] via 192.168.200.202, Tunnel0.0, 0:14:06
140.91.0.0/16 is subnetted, 1 subnets
B 140.91.32.0/23 [20/0] via 192.168.200.202, Tunnel0.0, 0:14:06
140.204.0.0/16 is subnetted, 1 subnets
B 140.204.8.128/25 [20/0] via 192.168.200.202, Tunnel0.0, 0:14:06
192.168.0.0/16 is subnetted, 2 subnets
C 192.168.200.200/30 [0/1] is directly connected, Tunnel0.0, 3:37:14
C 192.168.200.204/30 [0/1] is directly connected, Tunnel1.0, 3:37:06
B 192.29.36.0/22 [20/0] via 192.168.200.202, Tunnel0.0, 0:14:06
C 192.168.0.0/24 [0/1] is directly connected, GigaEthernet1.0, 0:57:14
219.98.239.0/24 is subnetted, 1 subnets
C 219.98.239.245/32 [0/1] is directly connected, GigaEthernet0.1, 5d17h13m35s
■ Object Storage接続確認
● traceroute確認
設定により経路が短縮されていることを確認
Object Storage 内の共有したい対象データに期間限定でURLリンクを発行する機能Pre-Authenticated Request(PAR)でURLを作成しそのアドレスを使用してtracerouteをします
・参考プライベートサブネットからObject Storageへアクセスしてみてみた
・設定前のInternet経由の経路
[user@onp-inst01 ~]$ traceroute -I objectstorage.ap-tokyo-1.oraclecloud.com
traceroute to objectstorage.ap-tokyo-1.oraclecloud.com (134.70.80.1), 64 hops max, 72 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 134.70.80.1 (134.70.80.1) 4.391 ms 4.052 ms 4.081 ms
・設定後のIPSec経路
[user@onp-inst01 ~]$ traceroute -I objectstorage.ap-tokyo-1.oraclecloud.com
traceroute to objectstorage.ap-tokyo-1.oraclecloud.com (134.70.80.1), 64 hops max, 72 byte packets
1 * * *
2 * * *
3 * * *
4 134.70.80.1 (134.70.80.1) 4.716 ms 4.528 ms 6.641 ms
● wget でPARファイル取得
※ Mac OS の場合 $ brew install wget でwgetコマンドをインストール
[user@onp-inst01 ~]$ wget https://objectstorage.ap-tokyo-1.oraclecloud.com/p/PAR/n/POC/b/bucket01/o/test_file01.pptx
--2018-07-18 01:04:15--
objectstorage.ap-tokyo-1.oraclecloud.com (objectstorage.ap-tokyo-1.oraclecloud.com) をDNSに問いあわせています... 134.70.80.1
objectstorage.ap-tokyo-1.oraclecloud.com (objectstorage.ap-tokyo-1.oraclecloud.com)|134.70.80.1|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 9372530 (8.9M) [application/vnd.openxmlformats-officedocument.presentationml.presentation]
`test_file01.pptx' に保存中
test_file01 100%[===================>] 8.94M 5.59MB/s 時間 1.6s
2018-07-18 01:04:17 (5.59 MB/s) - `test_file01.pptx' へ保存完了 [9372530/9372530]
[user@onp-inst01 ~]$ ls
Pictures test_file01.pptx
■ Autonomous Database接続確認
Internetから接続できないように、Service Gateway以外からのアクセスを遮断設定し、オンプレミスのPrivate IPからAutonomous Databaseへアクセスできることを確認します
・参考:To manage the access control list of an Autonomous Database
● アクセス制御リスト(ACL)設定
① ATP画面にある[Actions]から[アクセス制御リスト]をクリック
② Service Gateway CIDRをホワイトリスト登録
サービスゲートウェイを介したアクセス制御リスト(ACL)を構成する場合、CIDR範囲240.0.0.0/4をACLに追加して、Service Gateway以外からのアクセスを遮断設定
・参考:Overview of Autonomous Database
● オンプレミスのからATPへ接続確認
[user@onp-inst01 ~]$ ~/oracle/sqlcl/bin/sql /nolog
SQLcl: 木 7月 18 00:43:06 2019のリリース18.4 Production
Copyright (c) 1982, 2019, Oracle. All rights reserved.
SQL> set cloudconfig /Users/shiro/oracle/Wallet_atp01.zip
操作は正常に完了しました。
操作は正常に完了しました。
Using temp directory:/var/folders/td/6d05hmn_000gn/T/oracle_cloud_config120257123
SQL> connect ADMIN@atp01_high
パスワード (**********?) ********************
接続しました.
■ 応用編
Transit Routing(伝送ルーティング)は、同じリージョン内の複数のVCNへのアクセスもできるので、OSN含めたHub-and-Spoke構成が可能です。
このHub-and-Spoke構成は同様 各Route Tableの設定で可能になります。
手順は以前の記事を参考ください
・参考: Oracle Cloud:VCN Transit Routing で Hub and Spoke構成をしてみてみた
■ 参考
●マニュアル:
・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へのアクセス