2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Autonomous Database]Data Transformsでプライベート・エンドポイントのBase Databaseにアクセスしてみる

Last updated at Posted at 2024-10-08

はじめに

Autonomous Databaseに付属するツールのData Transformsですが、プライベート・ネットワークにあるデータ・ソースを利用するには事前にこちらのドキュメント、Noteの設定が必要になります。

そこで、プライベート・エンドポイントのAutonomous Database(ADB)のData Transformsから別のVCNのプライベート・エンドポイントにあるBase Database(BaseDB)に接続できるよう試してみました。

環境

image.png

  • OCI Computeは必須ではなく、データベース接続確認のために作成しました。SQL*Plusを使うため、Oracle Linux Cloud Developerイメージを利用しています。

  • アクセス制御は考慮していません。実際にはセキュリティリストやACLなどは環境に合わせた設定が必要です。

  • 便宜上Data Transformsのコンソールにはインターネット経由でのアクセスができるようにしています。

Autonomous Databaseの作成

プライベート・エンドポイントに作成する方法はこちらのチュートリアルを参照してください。この記事ではData Transformsのコンソールはインターネット経由でアクセスさせたいため、「パブリック・アクセスを許可」にチェックをして、アクセスを許可するクライアントを設定します。また便宜上すべてからアクセスできるよう、CIDRブロックで0.0.0.0/0にしています。
もし「パブリック・アクセスを許可」しない場合はチュートリアルの2-2,2-3の方法でアクセスが可能です。

image.png

プライベート・エンドポイントアクセスのための設定

ドキュメントに記載があるとおり、作成したAutonomous DatabaseにADMINユーザーで接続し、SQLで以下のコマンドを実行します。Noteによると2時間待つようにとあるのでそのまま放置します。

ALTER DATABASE PROPERTY SET ROUTE_OUTBOUND_CONNECTIONS = 'PRIVATE_ENDPOINT';

VCNのローカル・ピアリング

VCN間のローカル・ピアリングの設定をします。ローカル・ピアリングについてはこちらのドキュメントをご確認ください。
同じリージョン内のCIDERが重複していないVCN間でのみ可能です。

ローカル・ピアリング・ゲートウェイ(LPG)の作成

OCIコンソールから、「ネットワーキング」 > 「仮想クラウド・ネットワーク」でAutonomous Databaseで利用しているVCNを選択し、「Resources」からローカル・ピアリング・ゲートウェイをクリックします。
ローカル・ピアリング・ゲートウェイの作成で以下を入力して作成します。

  • 名前:任意の名前
  • コンパートメントに作成:デフォルトで選択されているコンパートメント

image.png

同様にBase Databaseで利用しているVCNを選択してローカル・ピアリング・ゲートウェイを作成します。また、作成したローカル・ピアリング・ゲートウェイのOCIDをコピーしておきます。

ピアリング接続の確立

Autonomous Databaseで作成したローカル・ピアリング・ゲートウェイ(ピアリング・ステータスが新規になっています)で「ピアリング接続の確立」をクリックします。

image.png

「ローカル・ピアリング・ゲートウェイOCIDの入力」を選択して、コピーしておいたBase DatabaseのVCNのローカル・ピアリング・ゲートウェイのOCIDを入力して、「ピアリング接続の確立」をクリックします。

image.png

接続が確立できると、Base DatabaseとAutonomous Database両方のローカル・ピアリング・ゲートウェイのピアリング・ステータスがピアリング済みとなります。

ルート表の設定

それぞれのVCNのプライベート・サブネットが使用しているルート表にローカル・ピアリングでアクセスするためのルールを設定します。使用しているルート表は、プライベート・サブネットのサブネット詳細画面で確認することができます。

image.png

表示されているルート表名をクリックすると、そのルート表の詳細画面になりますので、ルート・ルールの追加をクリックしてルールを追加します。

  • ターゲットタイプ:ローカル・ピアリング・ゲートウェイ
  • 宛先/CIDRブロック:先方(Autonomous Database側ならBase Database側、Base Database側ならAutonomous Database側)のVCNのCIDR
  • ターゲット・ローカル・ピアリング・ゲートウェイ: 作成したローカル・ピアリング・ゲートウェイ

image.png

Base Databaseのホスト名の解決

Data Transformsのプライベート・ネットワークのソースへの接続はFQDN名での接続が必要です。
Base Databaseのホスト名の解決のために、Autonomous Database側のVCNのDNSリゾルバにプライベート・ビューとしてBase Database側のデフォルト・プライベート・ビューを追加します。詳細はこちらのチュートリアルをご確認ください。

Autonomous Database側のVCNの詳細画面でDNSリゾルバを確認し、名前をクリックします。

image.png

プライベート・リゾルバの詳細画面でプライベート・ビューの管理をクリックします。

image.png

コンパートメントの変更で、コンパートメントをBase DatabaseのVCNのコンパートメントに変更し、利用しているプライベート・ビューを選択して、保存します。

image.png

セキュリティ・リストの編集

Base Database側のプライベート・サブネットのセキュリティ・リストのイングレス・ルールにAutonomous Database側からBase Databaseへの接続を許可するように設定をします。

  • ソース:10.0.0.0/16 Autonomous Database側VCNのCIDER(Public SubnetのComputeからの接続テストをしたいため)
  • 宛先ポート:1521 (Base Databaseのリスナーポート)

image.png

Computeで確認

Autonomous DatabaseのVCNのパブリック・サブネットに作成したComputeからSQL*PlusでBaseDBへの接続を確認してみます。接続文字列はOCIコンソールのプラガブル・データベース詳細のPDB接続で確認できます。

image.png

簡易接続でSYSTEMユーザで接続確認します。

[oracle@compute1 ~]$ sqlplus system/WelCome12345##@basedb19c.private1.vcn1.oraclevcn.com:1521/pdb1.private1.vcn1.oraclevcn.com

SQL*Plus: Release 21.0.0.0.0 - Production on Mon Oct 7 09:13:49 2024
Version 21.13.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.

Last Successful login time: Mon Oct 07 2024 09:08:50 +00:00

Connected to:
Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production
Version 19.24.0.0.0

接続できました!

Data Transformsで接続の作成

2時間経過していることを確認して、OCIコンソールのAutonomous Databaseの詳細画面からData Transformsを起動します。ツール構成タブからデータ変換のパブリック・アクセスURLをブラウザで開きます。

image.png

Database Actionsからの起動も可能です。

Autonmous DatabaseのADMINユーザーとそのパスワードでログインします。

image.png

初回アクセスや事前に設定したアイドル時間終了後の場合は、2分程度プロビジョニングの時間が必要です。

image.png

起動すると、Data Transformsのホーム画面となります。Data TransformsのメニューからConnectionsを選択します。

image.png

Base DatabaseとAutonomous Databaseへの接続を作成します。Autonomous Databaseの接続はデフォルトで作成されていますが、接続サービスがLOWサービスでの固定となるため、他のサービスが利用できるよう別に作成をします。

Create Connectionをクリックします。

image.png

まずBase Databaseへの接続を作成します。DatabasesタブからOracleを選択し、Nextボタンをクリックします。

image.png

以下を設定します。Connectionsに指定する文字列は、Base Databaseのコンソールから接続したいプラガブル・データベースの接続文字列を@の後に指定します。

  • Connection Name:任意の名前
  • Connections:以下のいずれかのフォーマットで設定
    • jdbc:oracle:thin:@::
    • jdbc:oracle:thin:@:
    • jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=)(PORT=)(CONNECT_DATA=(SERVICE_NAME=)))
  • User: 接続ユーザ名
  • Password: 接続ユーザのパスワード

例えば、簡易接続を使った場合は次のようになります。

image.png

Test Connectionsで接続テストを行い、以下のように接続が成功すればOKです。

image.png

Autonomous Databaseの接続も同様に作成します。

試してみたところ、ウォレットファイルのアップロードやTLSの接続文字列をそのまま利用してもエラーになったため、成功した方法を記載しています。(2024年10月時点)

接続文字列はAutonomous Databaseのコンソールからデータベース接続で確認できます。TLS認証はTLS、アクセスはプライベート・エンドポイントを選択し、表示されるいずれかのTNS名の接続文字列をコピーします。

image.png

コピーした文字列をData Transformsの接続文字列のフォーマットの@の後に記述し、ホスト名のoraclecloud.comの部分をoraclevcn.comに変更します。
(host=xxxxxxxx.adb.ap-tokyo-1.oraclecloud.com))
→(host=xxxxxxx.adb.ap-tokyo-1.oraclevcn.com))

image.png

Test Connectionsで接続が成功すればOKです。

ドキュメントを確認したところ、以下のようにoraclecloud.comは予約済みであるため利用できないとありました。

image.png

ただ、oraclevcn.comでの名前もAutonomous Databaseを作成時にデフォルトで利用VCNのプライベート・ゾーンとして作成されており利用ができそうなので、それで試したところ接続できました。

おわりに

Data Transformsからプライベート・エンドポイントにあるデータ・ソースへのアクセスを試してみました。
Data Transformsでデータ・フローを作成する方法などについてはこちらのチュートリアルを参考にしてください。

参考資料

2
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?