プライベート・エンドポイントを使用したData Transforms (2025/05/31)
プライベート・エンドポイントを使用したData Transforms (2025/05/31)
https://blogs.oracle.com/ateam/post/data-transforms-private-endpoints
投稿者: Ricardo Morais | Cloud Solution Architect
背景
Oracle Data Transformsは、直感的なグラフィカル・インタフェースを通じてデータ統合フローを設計・実行できるローコードのデータ統合ツールです。以下のものを作成できます。
- データ ロード: Autonomous Databaseへのデータのロード プロセスを簡素化します。
- データフロー: 異なるシステム間でデータが移動および変換される方法を定義します。
- ワークフロー: データ フローが実行される順序を調整します。
Oracle Data TransformsはOracle Autonomous Databaseとシームレスに統合されます。プロビジョニング時にリポジトリが自動的に作成され、ユーザーが開発または構成したすべてのオブジェクトが格納されます。様々なデータソースタイプをサポートしています。サポートされるコネクタのリストをご覧ください。
Oracle Data Transforms には、次の場所からアクセスまたはプロビジョニングできます。
- Autonomous Database Data Studioページ:データベース アクションインターフェース内のData Studioコンポーネントとしてアクセスします。
- Oracle Cloud Marketplace : 事前構成されたVMとしてプロビジョニングされます(ターゲットとしてAutonomous Databaseのみをサポート)
機能的には両方のバージョンは同じです。唯一の違いは、Marketplaceバージョンではデータ統合ターゲットとしてAutonomous Databaseのみをサポートしていることです。
この投稿では、プライベート エンドポイントを介してOracle Data TransformsとAutonomous Database間の安全でプライベートな通信を可能にするために必要なネットワークとデータベースの構成について説明します。
アーキテクチャの概要
注: これはリファレンス アーキテクチャでも必須のアーキテクチャでもありません。これは単に、プライベート エンドポイント間のデータ変換接続をテストするために使用されるネットワーク構成です。
このブログで使用する環境は、プライベートエンドポイントがプロビジョニングされた2つのAutonomous Databaseインスタンスで構成され、デフォルトの初期構成のみを使用して新しいVCNとサブネットにデプロイされています。OCI Bastionサービスは、サブネットの1つにプライベートエンドポイントがプロビジョニングされています。
Oracle Data TransformsとBI Cloud Connector (BICC)、Object Storage、およびAutonomous Database間の接続は、このブログ投稿で説明されているネットワーク構成によってサポートされます。
構成
プライベートサブネットの作成
プライベート エンドポイントの前提条件と構成手順については、このドキュメントで詳しく説明します。
プライベートエンドポイントとTLS認証を使用したAutonomous Databaseのプロビジョニング
プライベート エンドポイント(プライベート サブネット内)を使用して2 つのAutonomous Database をプロビジョニングまたは構成します。
相互TLS認証を「不要」に設定します。ネットワークセキュリティグループにアクセス制御リストを実装することで、特定のIPアドレスまたはCIDRがAutonomous Databaseインスタンスにアクセスできるようになります。
OCI Bastion 経由でプライベートエンドポイントを使用してデータ変換にアクセスする
Autonomous Databaseインスタンスはプライベートエンドポイントを持つため、データベース自体、データベースアクション、データ変換にはインターネットからアクセスできません。そのため、SSHポート転送を介してアクセスするには、 OCI Bastionサービスが必要です。
- プライベートサブネットの1つにプライベートエンドポイントを持つOCI Bastionサービスをプロビジョニングします。
- ポート 443 のAutonomous DatabaseエンドポイントへのSSH ポート転送セッションを作成します。
これらの手順の詳細は以下のとおりです。
OCI Bastion サービスのプロビジョニング
OCI コンソールのメイン メニューで、 [Identity & Security]メニュー項目をクリックし、[Bastion] をクリックします。
次に、「Bastion を作成」ボタンをクリックします。Bastion に名前を付け、エンドポイントをプロビジョニングする VCN とプライベートサブネット(この場合はプライベートサブネット)を選択します。この Bastion によって管理されるセッションへの接続を許可する 1 つ以上のアドレス範囲を CIDR 表記で追加します。「Bastion を作成」をクリックします。
SSHポート転送セッションの作成
作成した Bastion サービスをクリックし、[Create Session]をクリックします。
セッションタイプとして「SSHポート転送セッション」を選択します。Bastionホスト経由でアクセスするAutonomous DatabaseプライベートエンドポイントのIPアドレス、ターゲットポート(HTTPSの場合は443)、およびSSH公開鍵を入力します。「セッションの作成」をクリックします。
注:セキュリティ上の理由から、Bastion セッションは最大 3 時間有効です。有効期限が切れると、新しいセッションを作成できます。
セッションがプロビジョニングされたら、行の末尾にあるメニュー (3 つのドット) をクリックし、[SSH コマンドのコピー]メニュー項目をクリックします。
ターミナルウィンドウを開きます。コマンドプロンプトにSSHコマンドを貼り付けます。例:
ssh -i <privateKey> -N -L <localPort>:10.*.*.*:443 -p 22 ocid1.bastionsession.oc1.iad.aaaaaaaaabbbbbbbbbbccccccccdddddddeeeeeefff@somehost.bastion.west-region-9.oci.oraclecloud.com
コマンドに含まれるIPアドレスとポートは、インスタンス作成時に指定したターゲットIPとポートです。<privateKey>をSSH秘密鍵のパスに、<localPort>をADBのリモートhttpsポートに転送するローカルポートに置き換えてください。例:
ssh -i ~/.ssh/id_rsa -N -L 443:10.*.*.*:443 -p 22 ocid1.bastionsession.oc1.iad.aaaaaaaaabbbbbbbbbbccccccccdddddddeeeeeefff@somehost.bastion.west-region-9.oci.oraclecloud.com
注意: macOS などの一部のプラットフォームでは、1024 未満のポートを転送するとエラーが発生します。
bind [::1]:443: Permission denied
channel_setup_fwd_listener_tcpip: cannot listen to port: 443
その場合は、ssh コマンドに-gスイッチを追加します。
ssh -i ~/.ssh/id_rsa -g -N -L 443:10.*.*.*:443 -p 22 ocid1.bastionsession.oc1.iad.aaaaaaaaabbbbbbbbbbccccccccdddddddeeeeeefff@somehost.bastion.west-region-9.oci.oraclecloud.com
SSH転送セッションが確立されたら、 データベースアクションにアクセスします。データ変換にhttps://localhost/ords/sql-developer直接アクセスするには、次の手順に従ってください。 https://localhost/odi
Autonomous Databaseでプライベートエンドポイントアクセスを有効にする
Autonomous Databaseインスタンスでプライベート・エンドポイントを使用する場合、ROUTE_OUTBOUND_CONNECTIONS
データベース・プロパティを値に設定することで、セキュリティを強化できます。これにより、すべての送信接続が、 Autonomous Databaseインスタンスのプライベート・エンドポイントPRIVATE_ENDPOINT
に関連付けられたVCNのエグレス・ルールに従うようになります。
ADMINユーザーとして、SQL Developerを使用して、データベースアクションインターフェース経由で両方のAutonomous Databaseインスタンスで次の文を実行します。https://localhost/ords/sql-developer.
ALTER DATABASE PROPERTY SET ROUTE_OUTBOUND_CONNECTIONS = 'PRIVATE_ENDPOINT';
詳細については、「プライベートエンドポイントを使用した送信接続のセキュリティ強化」を参照してください。
ネットワークセキュリティグループ
- Autonomous Databaseのネットワーク セキュリティ グループ ルールを構成します。
- OCI Bastion サービスがポート 443 (データ変換) で SSH ポート転送を介して接続できるようにする Ingress ステートフル ルール。
- 以前に実行したデータベース ルートのアウトバウンド接続設定により、エンドポイント経由でAutonomous Databaseからのアウトバウンド トラフィックを許可する出力ステートフル ルール。
このネットワーク・セキュリティ・グループをAutonomous Databaseインスタンスに関連付けます。必要に応じて、特定のCIDRまたはCIDR範囲を指定したイングレス・ルールを追加できます。ネットワーク・セキュリティ・グループとセキュリティ・リストのどちらも使用できますが、NSGを使用するとよりきめ細かな制御が可能になります。
データベースユーザー
いずれかのAutonomous Databaseで、DWROLE権限とロールを持つデータベースユーザーを作成します。このユーザーがData Transformsにログインします。DATA_TRANSFORM_USER
Data Transforms接続
Autonomous Database
データベース コンソール ページで、データベース接続ボタンをクリックして接続の詳細を表示します。
TLS認証をTLSに設定し、希望するサービスレベル(低、中、高)のTNS接続記述をコピーします。このテストでは、低レベルのサービスを使用します。
SSHポート転送セッションが確立されたら、ローカルマシン(https://localhost/odi )からData Transformsにアクセスします。ポート転送により、ローカルポート443がAutonomous Databaseのポート443にマッピングされます。先ほど作成したロールを持つユーザーでログインしてください。DATA_TRANSFORM_USER
Data Transformsにログインしたら、[接続]をクリックし、事前構成されたローカル データベース接続の 3 つのドット メニューをクリックして、[編集] をクリックします。
このData Transformsインスタンスに関連付けられているローカルAutonomous Databaseのデータベース資格情報を入力し、接続をテストします。成功した場合は、「更新」をクリックします。
「接続の作成」をクリックし、Oracleコネクタを選択して、プライベートエンドポイントを持つ 他のAutonomous DatabaseへのDB接続を構成します。 「接続の操作」を参照してください。
先ほどコピーしたTNS記述をJDBC URLフィールドに貼り付けます。TNS記述は jdbc:oracle:thin:@
注意:TNS記述のホストパラメータからホスト名のプレフィックスを削除してください。ホスト名はadbで始まる必要があります。
例:
abcdef.adb.west-region-9.oraclecloud.com
に
adb.west-region-9.oraclecloud.com
[接続テスト]をクリックし、成功した場合は[作成] をクリックします。
オブジェクトストレージ
オブジェクトストレージへの接続はパブリックサブネットの場合と同じ方法で設定され、サービスゲートウェイへのルートが必要です。「接続の作成」をクリックし、Oracle Object Storageコネクタを選択します。
「Oracle Object Storage 接続の作成」を参照してください 。
BIクラウドコネクタ - BICC
BICCへの接続は、パブリックサブネットの場合と同様に、Fusion AppsとObject Storageの資格情報を使用して構成します。サービスゲートウェイへのルートが必要です。「接続の作成」をクリックし、 Oracle Object Storageコネクタを選択します。
Oracle Business Intelligence Cloud Connector接続の作成を参照してください
4. データフロー
Data Transformsに関連付けられたAutonomous Database(または別のソース/ターゲット)との間のテストデータフローを作成します。大まかな手順は次のとおりです。
プライベートエンドポイント間のエンドツーエンドの接続性をテストするには、ソースとターゲット間の変換を伴わないシンプルな直接データフローで十分です。今回のテストでは、リモートサンプルテーブル がSH.PRODUCTSデータストアとしてマッピングされています。データフローはそこからデータを読み取り、ローカルテーブルにロードします。
リモートソースからローカルターゲットへのデータフローを定義します。データフローを実行し、ジョブのステータスを確認します。以下のように「Done」と表示されれば、プライベートエンドポイント経由でジョブが正常に完了しており、ターゲットデータベースのテーブルを確認できます。
同様のテストは、 BICCおよびオブジェクト ストレージデータ ソースでも実行できます。
参考文献
Oracle Data Transforms - 始めましょう
Autonomous Databaseからプライベートデータソースへのアクセスを有効にする
さらに詳しく知りたいですか?
新しい A チーム ブログが公開されたときに通知を受け取るには、ここをクリックして RSS フィードに登録してください。
まとめ
Oracle Data Transformsは、Autonomous Databaseのプライベートエンドポイントを使用することで、OCI内でのセキュアでプライベートなデータ統合をサポートします。プライベート接続を有効にするには、TLS認証とネットワーク・セキュリティ・グループ・ルールを設定し、ROUTE_OUTBOUND_CONNECTIONSプロパティを に設定しますPRIVATE_ENDPOINT。JDBC接続を定義する際は、TNS記述からホスト接頭辞を削除し、 で始まるようにしてくださいadb。この設定により、Data TransformsはプライベートIP経由で他のAutonomous DatabaseおよびOCIサービスに接続できるようになり、クラウド・ネットワーク内に完全に保持された、高パフォーマンスでセキュアなデータ・パイプラインをサポートします。
コメント
コメントを投稿