创建连接配置文件
本页介绍了迁移流程的准备阶段,您可以在此阶段创建 Datastream 连接配置文件,以便稍后用于将数据从 MongoDB 兼容的源数据库导入到 Cloud Storage 存储桶。
在此阶段,您将执行以下操作:
- 为您之前创建的 Cloud Storage 存储桶创建 Cloud Storage 连接配置文件。
- 为 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_id、resource_group_name 和 vCore_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"
如需详细了解如何监控连接配置文件的创建,请参阅问题排查。
后续步骤
继续执行从源数据库导入。