接続プロファイルの作成

このページでは、移行プロセスの準備部分について説明します。この部分では、MongoDB 互換の移行元データベースから Cloud Storage バケットにデータをインポートする際に後で使用される Datastream 接続プロファイルを作成します。

このステージでは、次の操作を行います。

  1. 前に作成した Cloud Storage バケットの Cloud Storage 接続プロファイルを作成します。
  2. MongoDB 互換の移行元データベースの接続プロファイルを作成します。

gcloud CLI にログインする

以降のセクションで説明する移行手順では、gcloud CLI を使用して移行手順を構成し、実行します。まず、 Google Cloud にログインして、移行パイプラインをホストするプロジェクトを選択します。

gcloud auth login
gcloud config set project "$PROJECT_ID"

移行元データベースの接続プロファイルを作成する

Compute Engine 上の MongoDB

次のコマンドを実行して、Compute Engine でホストされている MongoDB データベースへの Datastream 接続プロファイルを作成します。

シャーディングされたクラスタに接続する場合は、次のコマンドから --mongodb-replica-set フラグを省略します。

gcloud datastream connection-profiles create "$SRC_CONNECTION_PROFILE_NAME" \
--display-name="$SRC_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--mongodb-username="$MONGODB_USERNAME" \
--mongodb-password="$MONGODB_PASSWORD" \
--mongodb-host-addresses="$MONGODB_IP_ADDRESS" \
--mongodb-replica-set="$REPLICA_SET" \
--private-connection="$PRIVATE_CONNECTION_NAME" \
--mongodb-standard-connection-format \
--type=mongodb \
--mongodb-direct-connection

SSH 経由の MongoDB

この例では、MongoDB 互換サーバーをホストするマシンに直接、または Bastion ホストを介して、プライベート ネットワークへの SSH 接続がすでに構成されていることを前提としています。

次のコマンドを実行して、Compute Engine でホストされている MongoDB データベースへの Datastream 接続プロファイルを作成します。

シャーディングされたクラスタに接続する場合は、次のコマンドから --mongodb-replica-set フラグを省略します。

SSH パスワードで接続する場合は、--forward-ssh-private-key フラグではなく --forward-ssh-password フラグを渡します。

gcloud datastream connection-profiles create "$SRC_CONNECTION_PROFILE_NAME" \
--display-name="$SRC_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--mongodb-username="$MONGODB_USERNAME" \
--mongodb-password="$MONGODB_PASSWORD" \
--mongodb-host-addresses="$MONGODB_IP_ADDRESS" \
--mongodb-replica-set="$REPLICA_SET" \
--forward-ssh-hostname="$BASTION_IP_ADDRESS" \
--forward-ssh-port="$BASTION_SSH_PORT" \
--forward-ssh-username="$BASTION_SSH_USERNAME" \
--forward-ssh-private-key="$BASTION_SSH_PRIVATE_KEY" \
--mongodb-standard-connection-format \
--type=mongodb \
--mongodb-direct-connection

Azure Cosmos DB

Azure Cosmos DB の API で MongoDB の変更ストリームを明示的に有効にして、Datastream ストリームの開始を有効にします。

この手順では、Azure CLI をインストールする必要があります。

az resource patch --ids "/subscriptions/subscription_id/resourceGroups/resource_group_name/providers/Microsoft.DocumentDB/mongoClusters/vCore_cluster_name" \
--api-version 2024-10-01-preview \
--properties "{\"previewFeatures\": [ \"ChangeStreams\"]}"

subscription_idresource_group_namevCore_cluster_name は、Azure Cosmos DB デプロイに対応する値に置き換えます。

次のコマンドを実行して、ソースの Azure Cosmos DB への Datastream 接続プロファイルを作成します。

この例では、ソースが MongoDB SRV 接続形式で表現できるパブリック DNS または IP アドレスを介してアクセスできることを前提としています。この手順では、Azure Cosmos DB サーバーが認証にユーザー名とパスワードの組み合わせを使用していることを前提としています。

gcloud datastream connection-profiles create "$SRC_CONNECTION_PROFILE_NAME" \
--display-name="$SRC_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--mongodb-username="$MONGODB_USERNAME" \
--mongodb-password="$MONGODB_PASSWORD" \
--mongodb-host-addresses="$MONGODB_HOST_ADDRESS" \
--mongodb-srv-connection-format \
--type=mongodb \
--static-ip-connectivity \
--labels=skip_all_validations=true

MongoDB Atlas

次のコマンドを実行して、ソース MongoDB Atlas データベースへの Datastream 接続プロファイルを作成します。

この例では、ソースが MongoDB SRV 接続形式で表現できるパブリック DNS または IP アドレスを介してアクセスできることを前提としています。また、この手順では、MongoDB Atlas サーバーが認証にユーザー名とパスワードの組み合わせを使用していることを前提としています。

gcloud datastream connection-profiles create "$SRC_CONNECTION_PROFILE_NAME" \
--display-name="$SRC_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--mongodb-username="$MONGODB_USERNAME" \
--mongodb-password="$MONGODB_PASSWORD" \
--mongodb-host-addresses="$MONGODB_HOST_ADDRESS" \
--mongodb-srv-connection-format \
--type=mongodb \
--static-ip-connectivity

接続プロファイルの作成のモニタリングの詳細については、トラブルシューティングをご覧ください。

Cloud Storage 接続プロファイルを作成する

Cloud Storage の宛先(先ほど作成したバケット)の Datastream 接続プロファイルを構成します。

gcloud datastream connection-profiles create "$DST_CONNECTION_PROFILE_NAME" \
--display-name="$DST_CONNECTION_PROFILE_NAME" \
--location="$LOCATION" \
--type=google-cloud-storage \
--bucket="$GCS_BUCKET_NAME" \
--root-path="/$GCS_BUCKET_ROOT_PATH"

接続プロファイルの作成のモニタリングの詳細については、トラブルシューティングをご覧ください。

次のステップ

移行元データベースからインポートするに進みます。