プライベート・エンドポイント上の非Oracle AIデータベースへの顧客管理異機種間接続によるデータベース・リンクの作成
Autonomous AI DatabaseからOracle AI Database Gatewayへのデータベース・リンクを作成して、プライベート・エンドポイントにあるOracle以外のデータベースにアクセスできます。
この項では、データベース・リンクを使用してAutonomous AI Databaseから、非Oracle AI Databaseがプライベート・エンドポイント上にあるOracle AI Database Gatewayを介してOracle AI Database以外のデータベースに接続するステップについて説明します。
プライベート・エンドポイント上の非Oracle AIデータベースへの顧客管理の異機種間接続を使用してデータベース・リンクを作成するための前提条件
プライベート・エンドポイントにある非Oracle AIデータベースへの顧客管理異機種間接続を備えたAutonomous AIデータベースからデータベース・リンクを作成するための前提条件をリストします。
プライベート・エンドポイント上にある非Oracle AIデータベースへの顧客管理異機種間接続を使用してデータベース・リンクを作成するには:
-
ターゲット・データベースは、ソース・データベースのOracle Cloud Infrastructure VCNからアクセスできる必要があります。たとえば、次の場合にターゲット・データベースに接続できます。
-
ターゲット・データベースはプライベート・エンドポイント上にあります。
-
ソース・データベースとターゲット・データベースの両方が、同じOracle Cloud Infrastructure VCNに存在します。
-
ソース・データベースとターゲット・データベースは、ペアになっている別のOracle Cloud Infrastructure VCNsにあります。
-
プライベート・エンドポイント上のターゲットの場合、
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKでは、hostnameパラメータを使用した単一のホスト名の指定がサポートされています。プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません(ターゲットがパブリック・エンドポイント上にある場合、CREATE_DATABASE_LINKはIPアドレス、SCAN IPまたはSCANホスト名の使用をサポートしています)。
-
-
プライベート・エンドポイントには、次のイングレスおよびエグレス・ルールを定義する必要があります:
-
ソース・データベースのサブネット・セキュリティ・リストまたはネットワーク・セキュリティ・グループにエグレス・ルールを定義して、TCPを介したトラフィックがターゲット・データベースのIPアドレスおよびポート番号に対して許可されるようにします。
-
ソース・データベースのIPアドレスから宛先ポートへのTCP経由のトラフィックが許可されるように、ターゲット・データベースのサブネット・セキュリティ・リストまたはネットワーク・セキュリティ・グループにイングレス・ルールを定義します。
イングレスおよびエグレス・ルールを使用したプライベート・エンドポイントの構成の詳細は、プライベート・エンドポイントを使用したネットワーク・アクセスの構成を参照してください。
-
ノート
ノート: Autonomous AI Databaseインスタンスがプライベート・エンドポイントで構成されている場合、ROUTE_OUTBOUND_CONNECTIONSデータベース・プロパティを設定して、すべての送信データベース・リンクがAutonomous AI Databaseインスタンスのプライベート・エンドポイントVCNのエグレス・ルールに従うことを指定します。詳細は、プライベート・エンドポイントを使用したアウトバウンド接続のセキュリティの強化を参照してください。
プライベート・エンドポイント上の非Oracle AIデータベースへの顧客管理異機種間接続によるデータベース・リンクの作成(ウォレットなし)
Autonomous AI DatabaseインスタンスからOracle AI Database Gatewayへのデータベース・リンクを作成して、プライベート・エンドポイントにある非Oracleデータベースにアクセスし、ウォレット(TCPS)またはウォレット(TLS)なしで接続できます。
プライベート・エンドポイント上のAutonomous AI DatabaseインスタンスからターゲットのOracle AI Database Gatewayへのデータベース・リンクを作成し、ウォレット(TLS)なしで接続するには:
-
Autonomous AI Databaseで、ターゲット・データベースにアクセスするための資格証明を作成します。
DBMS_CLOUD.CREATE_CREDENTIALで指定するusernameおよびpasswordは、データベース・リンク内で使用されるターゲット・データベースの資格証明です(ターゲット・データベースはOracle AI Database Gatewayを介してアクセスされます)。credential_nameパラメータの指定は必須です。次に例を示します。
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => 'password' ); END; /usernameパラメータの文字はすべて大文字である必要があります。この操作によって、資格証明が暗号化された形式でデータベースに格納されます。資格証明には任意の名前を使用できます。
-
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、ターゲット・ゲートウェイに対するデータベース・リンクを作成します。次に例を示します。
BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'SALESLINK', hostname => '*example.com*', port => '1522', service_name => '*example_service_name*', ssl_server_cert_dn => '*ssl_server_cert_dn*', credential_name => 'DB_LINK_CRED', directory_name => NULL, gateway_link => TRUE, private_target => TRUE, gateway_params => NULL); END; /接続がTCPベースのデータベース・リンク(ウォレットなし)として作成されている場合、
ssl_server_cert_dnパラメータはオプションです。directory_nameがNULLの場合、接続はTCPベースのデータベース・リンク(ウォレットなし)として作成されます。ターゲットの非Oracle AI Databaseがプライベート・エンドポイント上にある(つまり、データベース・リンクがVCN DNSサーバーで解決する必要があるホスト名にアクセスする)場合、
private_targetパラメータをTRUEに設定する必要があります。private_targetがTRUEの場合、hostnameパラメータは単一のホスト名である必要があります(プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名はサポートされていません)。gateway_linkがTRUEで、gateway_paramsがNULLの場合、データベース・リンクが顧客管理のOracleゲートウェイへのものであることを指定します。ADMIN以外のユーザーが
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを実行するには、権限が必要です。 -
作成したデータベース・リンクを使用して、ターゲット・ゲートウェイのデータにアクセスします。
次に例を示します。
SELECT * FROM employees@SALESLINK;
ステップ1で作成した資格証明(Oracle AI Database Gatewayの資格証明)では、ターゲット・ユーザーのパスワードが変更された場合、ターゲット・ユーザーの資格証明を含む資格証明は、次のように更新できます:
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/ここで、passwordは新しいパスワードです。
この操作の後、この資格証明を使用する既存のデータベース・リンクは、データベース・リンクを削除して再作成しなくても引き続き機能します。
その他の情報については、次のWebサイトを参照してください。
プライベート・エンドポイント上の非Oracle AIデータベースへの顧客管理の異機種間接続によるデータベース・リンクの作成(Walletを使用)
Autonomous AI DatabaseインスタンスからOracle AI Database Gatewayへのデータベース・リンクを作成して、プライベート・エンドポイントにある非Oracleデータベースにアクセスし、ウォレット(TCPS)またはウォレット(TLS)なしで接続できます。
プライベート・エンドポイント上のAutonomous AI DatabaseインスタンスからターゲットのOracle AI Database Gatewayへのデータベース・リンクを作成し、ウォレットなしで接続するには:
-
ターゲットのOracle AI Database Gateway自己署名ウォレットをオブジェクト・ストアにコピーします。たとえば、Oracle AI Database Gatewayの証明書を含む
cwallet.ssoをオブジェクト・ストアにコピーします。ウォレット・ファイルは、データベースのユーザーIDおよびパスワードと組み合せて、ターゲット・ゲートウェイを介して使用可能なデータへのアクセスを可能にします。ウォレット・ファイルは安全な場所に保存してください。ウォレット・ファイルは、権限のあるユーザーとのみ共有してください。
-
cwallet.ssoを格納するオブジェクト・ストアにアクセスするための資格証明を作成します。様々なオブジェクト・ストレージ・サービスのusernameおよびpasswordパラメータの詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。 -
ウォレット・ファイル
cwallet.ssoのディレクトリをAutonomous AI Databaseに作成します。次に例を示します。
CREATE DIRECTORY *dblink_wallet_dir* AS '*directory_path_of_your_choice*';ディレクトリの作成の詳細は、「Autonomous AI Databaseでのディレクトリの作成」を参照してください。
-
DBMS_CLOUD.GET_OBJECTを使用して、前のステップで作成したディレクトリDBLINK_WALLET_DIRにターゲット・ゲートウェイ自己署名付きウォレットをアップロードします。
次に例を示します。
BEGIN
DBMS_CLOUD.GET_OBJECT(
credential_name => 'DEF_CRED_NAME',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/cwallet.sso',
directory_name => 'DBLINK_WALLET_DIR');
END;
/In this example, `namespace-string` is the Oracle Cloud Infrastructure object storage namespace and `bucketname` is the bucket name. See [Understanding Object Storage Namespaces](https://docs.cloud.oracle.com/iaas/Content/Object/Tasks/understandingnamespaces.htm) for more information.
ノート:このステップで使用するcredential_nameは、オブジェクト・ストアの資格証明です。次のステップでは、ターゲット・ゲートウェイにアクセスするための資格証明を作成します。
-
Autonomous AI Databaseで、ターゲット・データベースにアクセスするための資格証明を作成します。
DBMS_CLOUD.CREATE_CREDENTIALで指定するusernameおよびpasswordは、データベース・リンク内で使用されるターゲット・データベースの資格証明です(ターゲット・データベースはOracle AI Database Gatewayを介してアクセスされます)。credential_nameパラメータの指定は必須です。次に例を示します。
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => 'password' ); END; /usernameパラメータの文字はすべて大文字である必要があります。この操作によって、資格証明が暗号化された形式でデータベースに格納されます。資格証明には任意の名前を使用できます。
-
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、ターゲット・ゲートウェイに対するデータベース・リンクを作成します。次に例を示します。
BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'SALESLINK', hostname => '*example.com*', port => '1522', service_name => '*example_service_name*', ssl_server_cert_dn => '*ssl_server_cert_dn*', credential_name => 'DB_LINK_CRED', directory_name => '*DBLINK_WALLET_DIR*', gateway_link => TRUE, private_target => TRUE, gateway_params => NULL); END; /directory_nameがNULLでない場合は、TCPSベースのデータベース・リンクが作成されます。ターゲットの非Oracle AI Databaseがプライベート・エンドポイント上にある(つまり、データベース・リンクがVCN DNSサーバーで解決する必要があるホスト名にアクセスする)場合、
private_targetパラメータをTRUEに設定する必要があります。private_targetがTRUEの場合、hostnameパラメータは単一のホスト名である必要があります(プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名はサポートされていません)。gateway_linkがTRUEで、gateway_paramsがNULLの場合、データベース・リンクが顧客管理のOracleゲートウェイへのものであることを指定します。ADMIN以外のユーザーが
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを実行するには、権限が必要です。 -
作成したデータベース・リンクを使用して、ターゲット・ゲートウェイのデータにアクセスします。
次に例を示します。
SELECT * FROM employees@SALESLINK;
ステップ5で作成した資格証明(Oracle AI Database Gatewayの資格証明)では、ターゲット・ユーザーのパスワードが変更された場合、ターゲット・ユーザーの資格証明を含む資格証明は、次のように更新できます:
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/ここで、passwordは新しいパスワードです。
この操作の後、この資格証明を使用する既存のデータベース・リンクは、データベース・リンクを削除して再作成しなくても引き続き機能します。
その他の情報については、次のWebサイトを参照してください。