您可以單獨建立連線設定檔,也可以在建立特定遷移工作的情況下建立。無論如何,所有連線設定檔皆可在「連線設定檔」頁面中查看及修改,並可在各項遷移工作中重複使用。
如果擁有來源存取資訊的使用者與建立遷移工作的使用者不同,建立來源連線設定檔就很有用。您也可以在多個遷移工作中重複使用來源連線設定檔定義。
如要建立來源連線設定檔,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「連線設定檔」頁面。
- 按一下 Create profile。
- 在「Create a connection profile」(建立連線設定檔) 頁面中,從「Profile role」(設定檔角色) 清單中選取「Source」(來源)。
- 在「資料庫引擎」清單中,選取來源資料庫引擎。
- 在「連線設定檔名稱」欄位中,輸入可供人類閱讀的連線設定檔名稱。這個值會顯示在連線設定檔清單中。
- 保留系統自動產生的連線設定檔 ID。
- 輸入主機名稱或IP 位址。
如果來源資料庫託管於 Google Cloud,或是使用反向安全殼層通道將目的地資料庫連結至來源資料庫,請指定來源資料庫的私人 (內部) IP 位址。Cloud SQL 目的地可存取這個地址。詳情請參閱「 使用 VPC 對等互連功能設定連線」一文。
如為其他連線方式 (例如 IP 許可清單),請提供公開 IP 位址。
- MySQL 的主機名稱長度上限為 60 個半形字元。Amazon RDS 資料庫主機名稱通常會超過 60 個字元。如果要遷移的資料庫符合上述情況,請設定 DNS 重新導向,建立 CNAME 記錄,將您的網域名稱與 RDS DB 執行個體的網域名稱建立關聯。如要進一步瞭解如何設定 DNS CNAME,請參閱 Google Cloud 或 AWS Route53 的相關說明。
- 輸入用於存取主機的通訊埠。預設的 MySQL 通訊埠為 3306。
- 輸入目的地資料庫的使用者名稱和密碼。 使用者帳戶必須具備存取資料的必要權限。 詳情請參閱「 設定來源資料庫」。
- 在頁面上的「連線設定檔區域」部分,選取要儲存連線設定檔的區域。
選用:如果是透過公開網路建立連線 (使用 IP 許可清單),建議您在來源和目的地資料庫之間的連線使用 SSL/TLS 加密。
在「保護連線」部分的「加密類型」清單中,您可以選取下列任一 SSL/TLS 設定選項:
- None:Cloud SQL 目的地執行個體會連線至來源資料庫,但不會加密。如果資料庫需要加密連線,建議您不要使用這個選項。
- 基本:Cloud SQL 目的地執行個體會透過加密連線至來源資料庫,但不會驗證憑證授權單位 (CA)。
TLS 驗證:當 Cloud SQL 目的地執行個體連線至來源資料庫時,執行個體會驗證來源,確保執行個體可安全地連線至正確的主機。這可防止中間人攻擊 (PITM)。針對 TLS 驗證,來源不會驗證執行個體。
如要使用 TLS 驗證,您必須提供簽署外部伺服器憑證的 CA 憑證,採用 x509 PEM 編碼。
- mTLS 驗證:當目的地執行個體連線至來源時,執行個體會驗證來源,而來源會驗證執行個體。
mTLS 驗證可提供最強的安全性。不過,如果您不想在建立 Cloud SQL 目的地執行個體時提供用戶端憑證和私密金鑰,仍可使用 TLS 驗證。
如要使用 mTLS 驗證,您必須在建立目的地連線設定檔時提供下列項目:
- 簽署來源資料庫伺服器憑證的 CA 憑證 (CA 憑證)。
- 執行個體用於驗證來源資料庫伺服器的憑證 (用戶端憑證)。
- 與用戶端憑證相關聯的私密金鑰 (用戶端金鑰)。
按一下 [建立]。
「Connection profiles」頁面隨即顯示,並顯示新建立的連線設定檔。
gcloud
這個範例會使用選用的 --no-async
標記,讓所有作業都能同步執行。也就是說,部分指令可能需要一段時間才能完成。您可以略過 --no-async
標記,以非同步方式執行指令。如果是,您必須使用 gcloud database-migration operations describe
指令,確認作業是否成功。
使用下列任何指令資料之前,請先替換以下項目:
- CONNECTION_PROFILE_ID 與連線設定檔的機器可讀 ID。
- REGION 與您要儲存連線設定檔的區域 ID。
- HOST_IP_ADDRESS 與資料庫移轉服務可存取來源資料庫執行個體的 IP 位址。這個值可能會因您用於遷移作業的 連線方法而異。
- PORT_NUMBER 與來源資料庫接收傳入連線的通訊埠編號。預設的 MySQL 通訊埠為 3306。
- USERNAME 與資料庫使用者帳戶名稱,您希望資料庫移轉服務以此帳戶連線至來源資料庫執行個體。
- PASSWORD 與資料庫使用者帳戶的密碼。
- (選用) CONNECTION_PROFILE_NAME 為連線設定檔提供人類可讀的名稱。這個值會顯示在 Google Cloud 控制台中。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --region=REGION \ --host=HOST_IP_ADDRESS \ --port=PORT_NUMBER \ --username=USERNAME \ --password=PASSWORD \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --region=REGION ` --host=HOST_IP_ADDRESS ` --port=PORT_NUMBER ` --username=USERNAME ` --password=PASSWORD ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --region=REGION ^ --host=HOST_IP_ADDRESS ^ --port=PORT_NUMBER ^ --username=USERNAME ^ --password=PASSWORD ^ --display-name=CONNECTION_PROFILE_NAME
您應該會收到類似以下的回應:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]