MongoDBへの接続
OCI GoldenGateでソースまたはターゲットとして使用するMongoDBへの接続の作成について学習します。
開始する前に
次を確認します:
-
シークレットの使用、ボールトの使用、シークレット・バンドルの読取りなど、セキュアなVaultおよびシークレット・アクセスを有効にするために必要なポリシーを構成します。詳細は、「最小推奨ポリシー」を参照してください。
-
MongoDB Replicatセットを構成します。
-
OCI GoldenGate for Big Dataでは、操作ログ(ポップログ)を使用して、チェンジ・データ・キャプチャ(CDC)レコードを読み取ります。oplogは、データベースを変更するすべての操作のローリング・レコードを保持するMongoDBの制限付きコレクションです。レプリカ・セットがMongoDBで有効になっていると、Oplogファイルが作成されます。
-
MongoDB Atlasには、Replicatセットが事前構成されています。オンプレミスのMongoDBデプロイメントの場合、Replicatセットを手動で構成およびデプロイして、oplogおよびCDC機能を有効にする必要があります。オンプレミスのMongoDBの場合は、レプリカ・セットをデプロイする必要があります。
-
-
MongoDBバージョン3.6以降。
-
INSERT、UPDATE、DELETEの各操作を取得するためのOCI GoldenGateサポートが必要です。
接続の作成
MongoDB接続を作成するには:
-
OCI GoldenGateの「概要」ページで、「接続」を選択します。
「はじめに」セクションの「接続の作成」を選択して、ステップ3にスキップすることも可能です。
-
「接続」ページで、「接続の作成」を選択します。
-
「接続の作成」ページで、次のようにフィールドに入力します:
-
「名前」に、接続の名前を入力します。
-
(オプション)「説明」に、この接続を他の接続から区別するのに役立つ説明を入力します。
-
(マルチクラウド上のGoldenGateの場合のみ)「サブスクリプション」を選択し、次のフィールドに入力します。
-
「コンパートメント」ドロップダウンで、リソース・アンカーが存在するコンパートメントを選択します。
-
マルチクラウド・パートナ・リージョンを選択します。
-
「パートナ可用性ゾーン」を選択します。使用可能なオプションは、選択したマルチクラウド・パートナ・リージョンに基づいて移入されます。
-
-
「コンパートメント」で、接続を作成するコンパートメントを選択します。
-
「タイプ」で、「MongoDB」を選択します。
-
「接続文字列」に、ユーザー名とパスワードを指定しない有効なMongoDB接続文字列URIを入力します。たとえば、
mongodb://mongodb1.example.com:27017です。 -
「ユーザー名」に、このデータベースのユーザー名を入力します。
-
パスワード・シークレットを選択します。別のコンパートメントにある場合は、ドロップダウンを使用してコンパートメントを変更します。
ノート:
-
シークレットとは、パスワード、証明書、SSHキー、OCIサービスで使用する認証トークンなどの資格証明です。シークレットを作成するには、シークレットの作成を参照してください。次を確認します:
-
「手動シークレット生成」を選択します。
-
資格証明をシークレット・コンテンツに貼り付けます。
-
-
パスワード・シークレットを使用しない場合は、このフォームの下部にある「拡張オプション」の下の「セキュリティ」セクションで「ボールトでシークレットを使用」の選択を解除してください。
-
シークレット・コンテンツを更新する必要がある場合は、次のことを確認してください:
-
プレーン・テキスト・テンプレートを使用して新しいシークレット・バージョンを作成し、更新されたコンテンツを指定します。詳細は、シークレットのコンテンツの更新を参照してください。
-
キャッシュされたシークレット・コンテンツをクリアするには、接続をリフレッシュします。
-
-
-
「セキュリティ・プロトコル」で、セキュリティ・プロトコルを選択します:
-
プレーン: ユーザー名とパスワード認証。
-
TLS: ユーザー名およびパスワードを含むTLS。
-
MTLS: ユーザー名とパスワードを使用するMTLS。
-
-
拡張オプションの表示を展開します。次のオプションを構成できます。
-
セキュリティ
-
この接続にパスワード・シークレットを使用しない「ボールト・シークレットの使用」の選択を解除します。選択されていない場合:
-
すべての暗号化キー管理をOracleに任せるには、「Oracle管理暗号化キーの使用」を選択します。
-
「顧客管理暗号化キーの使用」を選択して、OCI Vaultに格納されている特定の暗号化キーを選択し、接続資格証明を暗号化します。
-
-
-
ネットワーク接続性
-
共有エンドポイント: 割り当てられたデプロイメントとエンドポイントを共有します。デプロイメントのイングレスIPからの接続を許可する必要があります。
-
専用エンドポイント: VCN内の割り当てられたサブネット内の専用エンドポイントを介したネットワーク・トラフィック用。この接続のイングレスIPからの接続を許可する必要があります。
ノート:
- 専用接続が7日間未割当てのままの場合、サービスはそれを共有接続に変換します。
- Oracle GoldenGate接続についてさらに学習します。
-
-
セキュリティ属性: Zero Trust Packet Routing (ZPR)を使用して、この接続へのアクセスを制御するセキュリティ属性を追加します。
-
タグ: タグを追加すると、リソースを編成できます。
-
-
-
「作成」を選択します。
接続が作成されると、「接続」リストに表示されます。接続をデプロイメントに割り当てて、レプリケーションのソースまたはターゲットとして使用するようにしてください。
次の手順
既知問題
MongoDB、DocumentDBおよびOracle JSON Collection TLSセキュリティ・プロトコル
MongoDB Replicat、DocumentDB ReplicatまたはOracle JSON Collectionの接続が、レポート・ファイルで次のエラーで失敗した場合:
Error: Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
回避策:プロパティ・ファイルに次のプロパティを追加し、接続OCIDで<connection_ocid>を更新して、そのままの状態にしてください。
jvm.bootoptions=-Djavax.net.ssl.trustStore=/u02/connections/<connection_ocid>/truststore.pkcs12 -Djavax.net.ssl.trustStorePassword=Welcome123
OCI GoldenGateMongoDB接続では、mongdb+srv接続文字列はサポートされていません。
回避策: MongoDB接続文字列を使用します。
-
MongoDB Atlasで、「接続」を選択します。
-
「ドライバ」を選択します。
-
「Java」を選択します。
-
「バージョン」で、「3.4以降」を選択します。
-
指定されたmongodb文字列を使用できます。たとえば:
mongodb://<user_name>:<db_password>@cluster0-shard-00-00.abc.mongodb.net:27017,cluster0-shard-00-01.abc.mongodb.net:27017,cluster0-shard-00-02.abc.mongodb.net:27017/?ssl=true&replicaSet=atlas-3grqh1-shard-0&authSource=admin&retryWrites=true&w=majority&appName=Cluster0
MongoDBテスト接続の問題
MongoDB接続でテスト接続を使用すると、エラーが発生する可能性があります。このエラーを無視し、OCI GoldenGateデプロイメント・コンソールでMongoDB接続をテストできます。デプロイメント・コンソールで、管理サービスのナビゲーション・メニューを開き、「構成」を選択します。MongoDB接続が資格証明としてリストされている必要があり、ここで**「接続」