创建连接配置文件
本页介绍了 迁移过程 的准备工作部分,您可以在其中创建 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
运行以下命令,为托管在 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_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"
如需详细了解如何监控连接配置文件的创建过程,请参阅 问题排查。
后续步骤
继续执行 从源数据库导入。