建立連線設定檔

本頁面說明遷移程序的準備工作,包括建立 Datastream 連線設定檔,以便稍後從與 MongoDB 相容的來源資料庫匯入資料至 Cloud Storage 值區。

在這個階段,您將執行下列操作:

  1. 為先前建立的 Cloud Storage bucket 建立 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 變更串流指南。

執行下列指令,為 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 連線設定檔,也就是您先前建立的 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"

如要進一步瞭解如何監控連線設定檔建立作業,請參閱「疑難排解」一節。

後續步驟

繼續進行「從來源資料庫匯入」。