本快速入門導覽課程說明如何使用資料庫移轉服務,將資料遷移至 PostgreSQL 適用的 Cloud SQL。假設您及時完成所有步驟 (包括清除作業),本快速入門導覽課程建立的資源通常不到一美元。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Database Migration Service API.
- 請確認使用者帳戶已獲指派資料庫遷移管理員角色。
需求條件
資料庫移轉服務提供多種來源資料庫選項和連線方法。不同來源適合的連線方式不盡相同。在本快速入門導覽課程中,我們假設您在可設定網路的環境中使用獨立的 PostgreSQL 資料庫,並新增輸入防火牆規則。來源資料庫可位於內部部署或雲端服務供應商。由於我們無法瞭解您的環境具體情況,因此無法提供網路設定的詳細步驟。
在本快速入門導覽中,您將選取「PostgreSQL」做為「來源資料庫引擎」,並選取「IP 允許清單」做為網路方法。
建立來源連線設定檔
建立連線設定檔時,您會建立包含來源資料庫相關資訊的記錄。資料庫移轉服務會使用連線設定檔中的資訊,將來源資料庫的資料遷移至目的地 Cloud SQL 資料庫執行個體。前往 Google Cloud 控制台的「Database Migration Service Connection profiles」(資料庫遷移服務連線設定檔) 頁面。
按一下「建立設定檔」。
在「建立連線設定檔」頁面中,從「設定檔角色」清單選取「來源」。
在「資料庫引擎」清單中,選取來源資料庫的下列其中一種分類類型:
- 獨立 PostgreSQL 執行個體 (PostgreSQL)
- 現有的 PostgreSQL 適用的 Cloud SQL 執行個體 (PostgreSQL 適用的 Cloud SQL)
- PostgreSQL 適用的 Amazon RDS 執行個體
在本快速入門導覽課程中,請選取「PostgreSQL」PostgreSQL。
- 提供下列資訊:
- 在「Connection profile name」(連線設定檔名稱) 欄位中,輸入來源資料庫的連線設定檔名稱,例如
My Connection Profile
。 - 保留系統自動產生的「連線設定檔 ID」。
- 輸入連線資訊:
- 如果您是從自行代管的資料庫進行複製,請輸入「主機名稱或 IP 位址」(網域或 IP) 和「通訊埠」,以存取主機。(PostgreSQL 的預設通訊埠為 5432)。
- 如果是從 Cloud SQL 資料庫複製,請從下拉式清單選取 Cloud SQL 執行個體。
- 輸入「使用者名稱」和「密碼」,驗證來源執行個體。
- (選用) 如果您打算透過公開網路 (使用 IP 允許清單) 傳輸機密資訊,建議您對來源和目的地資料庫之間的連線使用 SSL/TLS 加密。否則請保留預設值「None」。
- 在「Connection profile name」(連線設定檔名稱) 欄位中,輸入來源資料庫的連線設定檔名稱,例如
在頁面的「連線設定檔區域」部分,選取要儲存連線設定檔的區域。
- 點選「建立」。
建立遷移工作
資料庫移轉服務會使用遷移工作,將來源資料庫執行個體的資料遷移至目的地 Cloud SQL 資料庫執行個體。建立遷移工作包括:
- 定義作業的設定
- 選取為來源資料庫建立的連線設定檔 (來源連線設定檔)
- 定義目的地 Cloud SQL 資料庫執行個體的設定
- 設定來源與目的地資料庫執行個體之間的連線
- 測試遷移工作,確保您為工作提供的連線資訊有效
定義遷移工作設定
前往 Google Cloud 控制台的「Database Migration Service 遷移工作」頁面。
按一下「建立遷移工作」。
在「遷移工作名稱」欄位中,輸入遷移工作的名稱,例如
My Migration Job
。保留系統自動產生的「遷移工作 ID」。
開啟「來源資料庫引擎」下拉式清單,然後選取來源資料庫的分類類型。
選取要建立目標執行個體的「Destination region」(目標區域)。
將「遷移工作類型」設為「連續」,因為您希望來源資料庫的持續變更內容遷移至目的地 Cloud SQL 資料庫執行個體。
查看自動生成的需求條件,瞭解環境必須如何準備遷移作業。這些必要條件可能包括如何設定來源資料庫,以及如何將來源資料庫連線至目的地 Cloud SQL 資料庫執行個體。建議您在這個步驟完成這些必要條件,但您也可以在測試或啟動遷移工作前完成。如要進一步瞭解這些必要條件,請參閱「設定來源」。
按一下「儲存並繼續」。
指定來源連線設定檔的相關資訊
開啟「選取來源連線設定檔」下拉式清單,然後選取您建立的連線設定檔。
按一下「儲存並繼續」。
定義目的地 Cloud SQL 執行個體的設定
提供 Cloud SQL 執行個體的目的地執行個體 ID。根據預設,這個欄位會預先填入遷移作業 ID。你可以保留這個名稱,或輸入其他名稱。
為目的地 Cloud SQL 執行個體提供英數密碼。這是執行個體中
postgres
管理員帳戶的密碼。您可以手動輸入密碼,也可以按一下「產生」,讓資料庫移轉服務自動建立密碼。
從指定資料庫引擎支援的 Cloud SQL 版本清單中,選擇目的地執行個體的「資料庫版本」。
為新的 Cloud SQL 執行個體選取所需的 Google Cloud 區域 (或保留為「Any」)。
勾選「公開 IP」核取方塊,因為在本快速入門導覽課程中,您將使用 IP 許可清單做為網路方法。這個方法是將來源資料庫伺服器設為接受 Cloud SQL 執行個體傳出 IP 位址傳出的連線。
選取 Cloud SQL 執行個體的「機器類型」。磁碟大小必須等於或大於來源資料庫大小。
定義 Cloud SQL 執行個體的「儲存空間類型」和「儲存空間容量」。
按一下「建立並繼續」,建立新的執行個體。
在後續的對話方塊中,按一下「建立目的地並繼續」。 建立執行個體可能需要幾分鐘才能完成。
設定連線
- 選擇要用來建立來源與目的地資料庫之間連線的網路方法。在本快速入門導覽課程中,請使用「連線方式」清單選取「IP 許可清單」做為網路連線方式。
- 如果這個欄位未預先填入來源 IP 位址,請從控制台複製 Cloud SQL 執行個體的傳出 IP 位址,並以該 IP 位址設定來源資料庫伺服器的網路防火牆,以便接受這個 IP 位址傳出的連線。
- 更新
pg_hba.conf
檔案或 Amazon RDS 安全性群組,接受來自這個 IP 位址的連線。 - 在防火牆規則中,建立「連入」規則,允許從目的地 Cloud SQL 執行個體的連線 IP 位址,透過通訊埠 5432 建立連線。
- 更新
- 按一下「設定並繼續」,完成連線設定檔設定。
設定遷移資料庫
您可以選取要遷移的資料庫。
- 在「要移轉的資料庫」清單中,選取「所有資料庫」。
系統會選取來源中的所有資料庫進行遷移。
- 按一下 [儲存並繼續]。
測試及建立遷移工作
查看您為遷移工作選擇的設定。
按一下「TEST JOB」(測試工作),確認來源設定正確無誤、來源和目的地執行個體可以相互通訊,以及遷移工作有效。
確認狀態為「成功通過測試!」。
如果測試失敗,請在流程的適當部分解決問題,然後返回重新測試。
按一下「建立並啟動工作」,即可建立並立即啟動遷移工作。
在後續的對話方塊中,按一下「開始」。
在「遷移工作」頁面中,確認遷移工作的狀態為「正在啟動」。幾分鐘後,確認狀態是否變更為「執行中」。
驗證遷移工作
在本節中,您將確認資料庫移轉服務是否使用遷移工作,將資料從來源資料庫執行個體遷移至目的地 Cloud SQL 資料庫執行個體。
- 前往 Google Cloud console中的「SQL Instances」(SQL 執行個體) 頁面。
- 按一下遷移工作的唯讀副本項目。
- 按一下頁面右上區域顯示的「啟用 Cloud Shell」圖示。
- 在 Google Cloud Shell 提示中,按下 Enter 鍵。
- 選用:如果出現「Authorize Cloud Shell」(授權 Cloud Shell) 對話方塊,請按一下「Authorize」(授權)。
- 連線至目的地 Cloud SQL 資料庫執行個體。
- 在「Enter password」(輸入密碼) 提示中,輸入您在「Define settings for the destination Cloud SQL instance」(為目的地 Cloud SQL 執行個體定義設定) 中提供或由資料庫移轉服務產生的密碼。
- 在 postgres 提示中輸入
\list
,列出資料庫並確認您看到來源資料庫執行個體。 - 在 postgres 提示中輸入
\connect SOURCE_DB_NAME
,因為您想查看與這個資料庫執行個體相關聯的資料表。提示名稱從「postgres
」變更為「SOURCE_DB_NAME」。 - 在 SOURCE_DB_NAME 提示中輸入
\dt
,即可查看這個執行個體的資料表。 - 在 SOURCE_DB_NAME 提示中輸入
GRANT cloudsqlexternalsync to USER;
,因為您要授予這個使用者存取這個執行個體中資料表的資料權限。 - 在 SOURCE_DB_NAME 提示中輸入
SELECT * from TABLE_NAME;
,即可查看從來源資料庫執行個體中的資料表複製的資訊。 - 確認表格中顯示的資訊正確無誤。
這表示資料庫移轉服務已遷移資料。
升級遷移工作
您現在可以升級遷移工作。因此,目標 Cloud SQL 資料庫執行個體會取代來源資料庫執行個體,成為主要資料庫。
返回「遷移工作」頁面。
按一下要升級的遷移工作。「遷移工作詳細資料」頁面隨即顯示。
等待複製延遲時間趨近於零。
停止寫入來源資料庫。
等待複製延遲時間歸零。
按一下要升級的遷移工作。這項工作的狀態應為「執行中」。
按一下「升級」即可升級遷移工作。
在後續的對話方塊中,再次點按「升級」。
確認遷移工作的狀態為「正在升級」。幾分鐘後,確認狀態是否變更為「已完成」。
新的 Cloud SQL 資料庫執行個體已可供使用。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。
- 如不需要遷移工作、連線設定檔、Cloud SQL 執行個體和專案,請使用 Google Cloud 控制台 刪除。