您可以單獨建立連線設定檔,也可以在建立特定遷移工作時建立。無論採用哪種方式,您都可以在「連線設定檔」頁面查看及修改所有連線設定檔,並在多項遷移工作中重複使用。
如果擁有來源存取資訊的人員與建立遷移工作的人員不同,單獨建立來源連線設定檔就很有用。您也可以在多項遷移工作中重複使用來源連線設定檔定義。
如要建立來源連線設定檔,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「連線設定檔」頁面。
- 按一下 Create profile。
- 在「建立連線設定檔」頁面,從「設定檔角色」清單選取「來源」。
- 從「資料庫引擎」清單中,選取來源資料庫引擎。
- 在「連線設定檔名稱」欄位中,輸入連線設定檔的人類可讀名稱。這個值會顯示在連線設定檔清單中。
- 保留系統自動產生的連線設定檔 ID。
- 輸入主機名稱或 IP 位址。
如果來源資料庫是託管於 Google Cloud,或是使用反向 SSH 通道將目的地資料庫連線至來源資料庫,請指定來源資料庫的私人 (內部) IP 位址。Cloud SQL 目的地可存取這個位址。詳情請參閱 使用虛擬私有雲對等互連設定連線。
如為其他連線方式 (例如 IP 許可清單),請提供公開 IP 位址。
- MySQL 將主機名稱限制為 60 個字元。Amazon RDS 資料庫主機名稱通常會超過 60 個字元。如果遷移的資料庫屬於這種情況,請設定 DNS 重新導向,建立 CNAME 記錄,將網域名稱與 RDS 資料庫執行個體的網域名稱建立關聯。如要進一步瞭解如何設定 DNS CNAME,請參閱 Google Cloud 或 AWS Route53。
- 輸入用來存取主機的通訊埠。預設的 MySQL 通訊埠為 3306。
- 輸入目標資料庫的使用者名稱和密碼。 使用者帳戶必須具備存取資料的必要權限。 詳情請參閱「 設定來源資料庫」。
- 在頁面的「連線設定檔區域」部分,選取要儲存連線設定檔的區域。
選用:如果連線是透過公用網路建立 (使用 IP 許可清單),建議您使用 SSL/TLS 加密,確保來源和目的地資料庫之間的連線安全無虞。
在「保護連線安全」部分中,從「加密類型」清單中,選取下列其中一個 SSL/TLS 設定選項:
- 無:Cloud SQL 目的地執行個體會連線至來源資料庫,且不進行加密。如果資料庫需要加密連線,建議不要使用這個選項。
- 基本:Cloud SQL 目的地執行個體會連線至來源資料庫並加密,但不會驗證憑證授權單位 (CA)。
TLS 驗證:Cloud SQL 目的地執行個體連線至來源資料庫時,會驗證來源,確保執行個體安全連線至正確的主機。這可防止中間人攻擊。如果是 TLS 驗證,來源不會驗證執行個體。
如要使用 TLS 驗證,您必須提供簽署外部伺服器憑證的 CA 憑證,採用 x509 PEM 編碼。
- mTLS 驗證:當目的地執行個體連線至來源時,執行個體會驗證來源,來源也會驗證執行個體。
mTLS 驗證可提供最強大的安全保障。不過,如果您不想在建立 Cloud SQL 目的地執行個體時提供用戶端憑證和私密金鑰,仍可使用 TLS 驗證。
如要使用 mTLS 驗證,您必須在建立目的地連線設定檔時提供下列項目:
- 簽署來源資料庫伺服器憑證的 CA 憑證。
- 執行個體用來驗證來源資料庫伺服器的憑證 (用戶端憑證)。
- 與用戶端憑證相關聯的私密金鑰 (用戶端金鑰)。
點選「建立」。
「連線設定檔」頁面隨即顯示,並列出新建立的連線設定檔。
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]