建立連線設定檔
本頁面說明遷移程序的準備工作,包括建立 Datastream 連線設定檔,以便稍後從與 MongoDB 相容的來源資料庫匯入資料至 Cloud Storage 值區。
在這個階段,您將執行下列操作:
- 為先前建立的 Cloud Storage bucket 建立 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 變更串流指南。
執行下列指令,為 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 連線設定檔,也就是您先前建立的 bucket。
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"
如要進一步瞭解如何監控連線設定檔建立作業,請參閱「疑難排解」一節。
後續步驟
繼續進行「從來源資料庫匯入」。