创建连接配置文件

本页介绍了 迁移过程 的准备工作部分,您可以在其中创建 Datastream 连接配置文件,以便稍后用于将数据从与 MongoDB 兼容的源数据库导入到 Cloud Storage 存储桶。

在此阶段,您需要执行以下操作:

  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

此示例假定您已配置与专用网络的 SSH 连接 ,可以直接连接到托管与 MongoDB 兼容的服务器的机器,也可以通过堡垒 主机连接。

运行以下命令,为托管在 Compute Engine 上的 MongoDB 数据库创建 Datastream 连接配置文件。

连接到分片集群时,请从以下命令中省略 --mongodb-replica-set 标志。

如果您想使用 SSH 密码进行连接,请传递 --forward-ssh-password 标志,而不是 --forward-ssh-private-key 标志。

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

Amazon DocumentDB

此示例假定您已获取 Amazon DocumentDB 连接所需的参数和证书 ,以便连接到 Amazon DocumentDB

在创建连接配置文件之前,请在 Amazon DocumentDB 数据库中明确启用变更数据流。如需了解启用此功能的说明,请参阅 Amazon DocumentDB 更改流 指南。

运行以下命令,为 DocumentDB 数据库创建 Datastream 连接配置文件:

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-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-ca-certificate="$DOCUMENT_DB_CA_CERTIFICATE" \
--mongodb-tls \
--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 连接配置文件。

此示例假定源可通过公共 DNS 或 IP 地址访问,这些地址可以采用 MongoDB SRV 连接格式表示。 这些说明还假定 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 连接配置文件。

此示例假定源可通过公共 DNS 或 IP 地址访问,这些地址可以采用 MongoDB SRV 连接格式表示。 这些说明还假定 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"

如需详细了解如何监控连接配置文件的创建过程,请参阅 问题排查

后续步骤

继续执行 从源数据库导入