创建连接配置文件

本页介绍了迁移流程的准备阶段,您可以在此阶段创建 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

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

连接到分片集群时,请从以下命令中省略 --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 兼容服务器的机器,也可以通过堡垒主机连接。

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

连接到分片集群时,请从以下命令中省略 --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 更改流指南。

运行以下命令,为您的 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"

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

后续步骤

继续执行从源数据库导入