接続プロファイルの作成
このページでは、移行プロセスの準備部分について説明します。この部分では、MongoDB 互換の移行元データベースから Cloud Storage バケットにデータをインポートする際に後で使用される Datastream 接続プロファイルを作成します。
このステージでは、次の操作を行います。
- 前に作成した Cloud Storage バケットの Cloud Storage 接続プロファイルを作成します。
- 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_id、resource_group_name、vCore_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"
接続プロファイルの作成のモニタリングの詳細については、トラブルシューティングをご覧ください。
次のステップ
移行元データベースからインポートするに進みます。