ねら~ITエンジニア雑記

やきうのお兄ちゃんが綴るOracle Databaseメインのブログ

Private Subnet に作成した DBCS に Public Subnet の Network Load Balancer経由 で接続してみる。(Oracle Cloud Infrastructure)

表題の通り Private Subnet に作成した DBCS に、Public Subnet の NLB経由 で接続してみるやで。
彡(゚)(゚)

1. 接続トポロジー/検証環境

接続トポロジーは以下の通りです。

PC -> (Internet) -> NLB(Public Subnet) ┬-> RAC #1(Private Subnet)
                        └-> RAC #2(Private Subnet)

検証環境は下記記事の構成を使います。

検証によく使う Oracle Cloud Infrastructure(OCI) の 環境構成
(VCN, Seculity List, 各種Gateway, Route Table, Subnet, Compute)まとめ
https://qiita.com/ora_gonsuke777/items/08e4781af8c4f7e114ff

2. DBCS(EEHP, RAC) の作成

詳細は省略します。DBCS RAC(EEEP) を Private Subnet に作成します。 NLB001.jpg

作成後に DBノード の 物理IP を確認します。 NLB002.jpg

3. NLB(Network Load Balancer) の作成

作成する LB は NLB を選択します。 NLB003.jpg

LB名は任意、Visibility Type は Public、Public IP は Ephemeral、VCN と Subnet は予め作成しておいたものを選択します。 NLB004.jpg

Listener名は任意、プロトコルTCP、ポートは1521を指定します。 NLB005.jpg

Backends名は任意、この時点で Backend Servers は指定せず、Health Check のポートは TCP/1521 に変更します。 NLB006.jpg

レビュー画面になるので、Submitボタンを押します。 NLB007.jpg

作成が終わりましたが、この時点では Backend Server が無いので追加で設定します。 NLB008.jpg

Backend Sets の画面に遷移して Add Backends ボタンを押します。 NLB009.jpg

RAC DBノード #1 の 物理IP を指定して追加します。 NLB010.jpg

RAC DBノード #2 の 物理IP も追加します。 NLB011.jpg

上手く行くと Backends の Health が OK になります。 NLB012.jpg

4. PC から NLB経由 で DBCS に接続

まず Pluggable Database の画面に遷移して、PDB のサービス名を確認します。 NLB013.jpg

PC から NLB経由 で DBCS に接続します。今回は SQL Developer を使用彡(゚)(゚)

ホスト名:NLB の Public IP Address
ポート :1521
サービス名:上記で確認した PDB のサービス名

NLB014.jpg

テストに成功したので接続して SQL を実行すると……。 NLB015.jpg

上手くいきました。

5. 注意事項

Backend Sets の IP に RAC DBノード の 物理IP を指定しているので、Oracle MAA には沿っていません。
今回の要件で Oracle MAA準拠するには Compute に CMAN(Connection Manager) を構成して、
NLB の Backends に CMAN を2台以上配置して NLB⇒CMAN経由でDBに接続するのがエエかと思います(未検証)
彡(゚)(゚)

5.6 Oracle Connection Managerのアーキテクチャの理解
https://docs.oracle.com/cd/F19136_01/netag/understanding-oracle-net-architecture.html#GUID-AAEEC927-9A69-4012-AC2C-8423274F94C6
 
(※CMANの参考記事) How to create a database link from Oracle Autonomous Database to a private on-premise DB
https://qiita.com/RexZheng/items/92fb55686fff9811bfbe

6. まとめ

注意事項があるとは云え NLB構成による Public接続化 はお手軽です。
セキュリティに留意して、ご活用下さいね彡(^)(^)