本頁面說明如何使用資料庫遷移服務的公開 IP 許可清單網路連線方式,將 Cloud SQL Enterprise 版執行個體升級至 Cloud SQL Enterprise Plus 版。資料庫遷移服務會建立新的 Cloud SQL 執行個體,並將資料遷移至該執行個體。
總覽
Cloud SQL Enterprise Plus 版本最適合需要最高寫入效能的應用程式。如要進一步瞭解這些改善項目,請參閱「效能強化」。
如要為現有的 Cloud SQL Enterprise 版本執行個體啟用這些強化功能,您必須使用資料庫遷移服務,將執行個體升級至 Cloud SQL Enterprise Plus 版本。
事前準備
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- 啟用資料庫遷移服務 API。
- 確認您的使用者帳戶具備資料庫移轉管理員角色。
需求條件
資料庫遷移服務提供多種來源資料庫選項和網路連線方式。某些連線方法可能比其他方法更適合特定來源。本頁面假設您使用的是 Cloud SQL Enterprise 版本執行個體,且環境中可設定網路,新增傳入防火牆規則。由於我們無法得知您環境的具體情況,因此無法提供網路設定的詳細步驟。
設定來源執行個體
如要設定來源 Cloud SQL Enterprise 版本執行個體,請完成下列步驟:
- 如果來源執行個體沒有
postgres資料庫,請建立一個。詳情請參閱「在 Cloud SQL 執行個體上建立資料庫」。 - 在來源執行個體的資料庫上安裝
pglogical套件。請確認套件已包含在shared_preload_libraries變數中。詳情請參閱「設定來源資料庫」。 - 為來源執行個體的資料庫啟用邏輯複製和解碼功能。詳情請參閱「為來源資料庫啟用邏輯複製和解碼功能」。
設定來源資料庫
除了 template0 和 template1 資料庫,資料庫遷移服務會遷移來源 Cloud SQL Enterprise 版本執行個體下的所有其他資料庫。
針對來源執行個體中未列於上方的每個資料庫,完成下列步驟:
如要將
pglogical擴充功能安裝到資料庫,請執行CREATE EXTENSION IF NOT EXISTS pglogical指令。如果資料表沒有主鍵,請手動遷移
UPDATE和DELETE陳述式。如要在每個遷移的資料庫設定這些權限,請建立使用者或設定現有使用者的權限。您可以使用這個使用者連線至來源執行個體,並在「Connection profiles」(連線設定檔) 頁面中將這個使用者設為使用者。這位使用者必須具備各個遷移資料庫和預設
postgres資料庫的特定權限。如要設定這些權限,請連線至執行個體,並執行下列指令:
GRANT USAGE on SCHEMA SCHEMA to USER(針對要遷移的每個資料庫,套用至所有結構定義,但資訊結構定義和開頭為pg_的結構定義除外)。GRANT USAGE on SCHEMA pglogical to PUBLIC;GRANT SELECT on ALL TABLES in SCHEMA pglogical to USER,從來源資料庫取得複製資訊。GRANT SELECT on ALL TABLES in SCHEMA SCHEMA to USER(針對要遷移的每個資料庫,套用至所有結構定義,但資訊結構定義和開頭為pg_的結構定義除外)。GRANT SELECT on ALL SEQUENCES in SCHEMA SCHEMA to USER(針對要遷移的每個資料庫,套用至所有結構定義,但資訊結構定義和開頭為pg_的結構定義除外)。ALTER USER USER with REPLICATION role
為來源資料庫啟用邏輯複製和解碼功能
將 cloudsql.logical_decoding 和 cloudsql.enable_pglogical 旗標設為 On,為來源 Cloud SQL Enterprise 版本的資料庫啟用邏輯複製和解碼功能。如要進一步瞭解這些旗標,請參閱「設定資料庫旗標」。
如要啟用這兩個旗標,請完成下列步驟:
-
前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 按一下來源執行個體。
- 按一下 [編輯]。
- 在「Customize your instance」(自訂執行個體) 部分,如果出現「Show configuration options」(顯示設定選項) 選單,請按一下該選單。
展開「旗標」部分。
如要設定
cloudsql.logical_decoding和cloudsql.enable_pglogical旗標,請完成下列步驟:- 按一下「新增資料庫旗標」。
- 從下拉式選單中選擇
cloudsql.logical_decoding旗標。 - 將這個旗標的值設為
On。 - 按一下「完成」。
- 對
cloudsql.enable_pglogical旗標重複執行這些步驟。
按一下「儲存」。
在「Changes require restart」(必須重新啟動,變更才會生效) 對話方塊中,按一下「Save and restart」(儲存並重新啟動)。Cloud SQL 會重新啟動來源執行個體,讓您對旗標所做的設定變更生效。
- 在「設定」窗格中,確認「資料庫旗標」部分的變更。
建立連線設定檔
連線設定檔包含來源 Cloud SQL Enterprise 版本資料庫的資訊。資料庫遷移服務會使用連線設定檔中的資訊,將資料從來源資料庫遷移至目的地 Cloud SQL Enterprise Plus 版執行個體。
如要建立連線設定檔,請完成下列步驟:
前往 Google Cloud 控制台,在資料庫遷移服務中,前往「Connection profiles」(連線設定檔) 頁面。
按一下 Create profile。
從「資料庫引擎」下拉式選單中,選取「PostgreSQL 適用的 Cloud SQL」。
在「Connection profile name」(連線設定檔名稱) 欄位中,輸入來源資料庫的連線設定檔名稱,例如
My Connection Profile。選取要儲存連線設定檔的區域。
從「Cloud SQL instance」(Cloud SQL 執行個體) 下拉式選單中,選取 Cloud SQL Enterprise 版執行個體的名稱。
如要向來源執行個體驗證身分,請輸入使用者名稱和密碼。然後按一下「繼續」。
如要加密資料,請為來源和目的地資料庫之間的連線啟用 SSL/TLS 加密。否則請保留預設值「None」。
按一下「繼續」。
在「Connectivity test」(連線能力測試) 下拉式選單中,選取「Public IP」(公開 IP)。
確認來源設定正確無誤,且資料庫遷移服務能與來源通訊:
按一下「Run test」。
確認您看到
Your connection profile test was successful!狀態。
如果測試失敗,請在流程的適當部分解決問題,然後返回重新測試。
點選「建立」。
建立遷移工作
資料庫遷移服務會執行遷移工作,將資料從來源 Cloud SQL Enterprise 版資料庫執行個體,遷移至目的地 Cloud SQL Enterprise Plus 版執行個體。
建立遷移工作的步驟如下:
- 定義工作設定。
- 選取為來源 Cloud SQL Enterprise 版資料庫建立的連線設定檔。這就是來源連線設定檔。
- 定義目的地 Cloud SQL Enterprise Plus 版本執行個體的設定。
- 設定來源與目的地資料庫執行個體之間的連線。
- 測試遷移工作,確保您為工作提供的連線資訊有效。
定義遷移工作設定
前往 Google Cloud 控制台,在資料庫遷移服務中,前往「Migration jobs」(遷移工作) 頁面。
點選「建立遷移工作」。
在「遷移工作名稱」欄位中,輸入遷移工作的名稱,例如
My Migration Job。從「來源資料庫引擎」下拉式選單中,選取「PostgreSQL 適用的 Cloud SQL」。
在「目的地資料庫引擎」下拉式選單中,選取「PostgreSQL 適用的 Cloud SQL」。
選取要建立 Cloud SQL Enterprise Plus 版本執行個體的目的地區域。
在「遷移工作類型」下拉式選單中,選取「連續」,因為您希望來源 Cloud SQL Enterprise 版資料庫中的持續變更,能遷移至目的地 Cloud SQL Enterprise Plus 版本執行個體。
查看自動產生的必要條件,瞭解如何為遷移工作準備環境。包括如何設定來源 Cloud SQL Enterprise 版資料庫,以及如何將其連結至目的地 Cloud SQL Enterprise Plus 版執行個體。
建議您在這個步驟完成這些必要條件,但您也可以在測試或啟動遷移工作前的任何時間完成。
點選「儲存並繼續」。
指定來源連線設定檔的相關資訊
在「選取來源連線設定檔」下拉式選單中,選取您建立的連線設定檔。
點選「儲存並繼續」。
定義目的地 Cloud SQL Enterprise Plus 版本執行個體的設定
在「Password」(密碼) 欄位中,輸入目的地 Cloud SQL Enterprise Plus 版本執行個體的英數字元密碼。這是執行個體中
postgres管理員帳戶的密碼。從「Database version」(資料庫版本) 下拉式選單中,選取指定資料庫引擎支援的 Cloud SQL 版本清單中的目的地執行個體。
選取「Enterprise Plus」。
在「選擇區域和可用區」部分,選取新 Cloud SQL Enterprise Plus 版本執行個體所需的 Google Cloud 可用區 (或保留「不限」)。
選取 [公開 IP] 核取方塊。
選取 Cloud SQL Enterprise Plus 版本執行個體的機器類型。磁碟大小必須大於或等於來源資料庫大小。
定義 Cloud SQL 執行個體的儲存空間類型和容量。
按一下「建立並繼續」,建立新的執行個體。
在隨即顯示的對話方塊中,按一下「建立目的地並繼續」。建立執行個體可能需要幾分鐘才能完成。
設定連線能力
- 在「連線方式」下拉式清單中,選取「IP 許可清單」。
如要使用目的地 Cloud SQL Enterprise Plus 版執行個體的傳出 IP 位址,建立與來源 Cloud SQL Enterprise 版執行個體的連線,請完成下列步驟:
- 在「目的地傳出 IP 位址」區域中,按一下「全部複製」。
- 在瀏覽器中開啟另一個分頁。
-
前往 Google Cloud 控制台的「Cloud SQL Instances」(Cloud SQL 執行個體) 頁面。
- 按一下來源執行個體。
- 按一下 [編輯]。
- 在「自訂執行個體」部分,如果出現「顯示設定選項」選單,請按一下該選單。
- 按一下「連線」部分。
- 點選「新增網路」。
- 在「Name」(名稱) 欄位中,為代表您複製的第一個 IP 位址的網路提供名稱,例如
My First Network。這個網路用於建立來源 Cloud SQL Enterprise 版和目的地 Cloud SQL Enterprise Plus 版資料庫執行個體之間的連線。 - 在「Network」(網路) 欄位中,輸入您複製的第一個 IP 位址,後面加上
/32。這樣一來,網路就只會接受來自這個 IP 位址的連線。 - 按一下「完成」。
- 針對複製的每個 IP 位址重複執行上述步驟。
- 按一下 [儲存]。Cloud SQL 會重新啟動來源 Cloud SQL Enterprise 版本執行個體,讓您所做的設定變更生效。
- 在包含遷移工作的分頁中,點選「儲存並繼續」。
測試、建立及啟動遷移工作
檢查您為遷移工作選擇的設定。
確認來源設定正確、來源 Cloud SQL Enterprise 版本和目的地 Cloud SQL Enterprise Plus 版本執行個體可以互相通訊,且遷移工作有效:
點選「測試工作」。
確認您看到
Your migration job test was successful!狀態。
如果測試失敗,您可以在流程的適當部分解決問題,然後返回重新測試。
如要建立遷移工作並立即啟動,請按一下「建立並啟動工作」。
在隨即顯示的對話方塊中,點選「建立並啟動」。
在「遷移工作」頁面,確認遷移工作的狀態為「
Starting」。幾分鐘後,確認狀態變更為
Running。
驗證遷移工作
如要確認資料庫遷移服務已使用遷移工作,將資料從來源 Cloud SQL Enterprise 版資料庫執行個體遷移至目的地 Cloud SQL Enterprise Plus 版資料庫執行個體,請完成下列步驟:
前往 Google Cloud 控制台的「SQL Instances」(SQL 執行個體) 頁面。
點選遷移工作的唯讀副本項目。
- 按一下「搜尋」欄位旁的「啟用 Cloud Shell」圖示。
在提示中,使用
gcloud sql connect指令連線至目的地 Cloud SQL Enterprise Plus 版資料庫執行個體。gcloud sql connect DESTINATION_INSTANCE_NAME --user=postgres將 DESTINATION_INSTANCE_NAME 替換為目的地 Cloud SQL Enterprise Plus 版本執行個體的名稱。
- 選用:如果出現「授權 Cloud Shell」對話方塊,請點選「授權」。
- 在「Enter password」(輸入密碼) 提示中,輸入您在「定義目的地 Cloud SQL Enterprise Plus 版本執行個體的設定」中提供的密碼。
- 在 postgres 提示中,輸入
\list即可列出資料庫,並確認您看到來源 Cloud SQL Enterprise 版本資料庫執行個體。 - 在 postgres 提示字元中,輸入
\connect SOURCE_DB_NAME,查看與這個資料庫執行個體相關聯的資料表。提示名稱會從postgres變更為 SOURCE_DB_NAME。 - 在 SOURCE_DB_NAME 提示中,輸入
\dt即可查看這個執行個體的資料表。 - 在 SOURCE_DB_NAME 提示中,輸入
GRANT cloudsqlexternalsync to USER;,授予這位使用者存取這個執行個體資料表資料的權限。將 USER 替換為您用來連線至目的地 Cloud SQL Enterprise Plus 版資料庫執行個體的使用者名稱。
- 在 SOURCE_DB_NAME 提示中,輸入
SELECT * from TABLE_NAME;,查看從來源 Cloud SQL Enterprise 版本資料庫執行個體資料表複製的資訊。 - 確認資料表顯示正確資訊。
升級遷移工作
升級遷移工作後,目的地 Cloud SQL Enterprise Plus 版本資料庫執行個體會取代來源 Cloud SQL Enterprise 版本資料庫執行個體,成為主要資料庫。
如要升級遷移工作,請完成下列步驟:
返回「遷移工作」頁面。
按一下要升級的遷移工作。「遷移工作詳細資料」頁面隨即顯示。
停止所有寫入來源 Cloud SQL Enterprise 版本資料庫的作業。
確認複製延遲時間極短。
按一下要升級的遷移工作。這項工作的狀態為「
Running」。如要升級遷移工作,請按一下「Promote」(升級)。
在隨即顯示的對話方塊中,按一下「Promote」(升級)。
確認遷移工作的狀態為
Promote in progress。幾分鐘後,確認狀態變更為Completed。
新的 Cloud SQL Enterprise Plus 版資料庫執行個體已可使用。
清除所用資源
為避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請前往 Google Cloud 控制台,刪除不需要的遷移工作、連線設定檔、來源 Cloud SQL Enterprise 版執行個體和專案。
後續步驟
- 進一步瞭解 Cloud SQL Enterprise Plus 版的主要功能。
- 進一步瞭解 Cloud SQL Enterprise Plus 版本的效能強化功能。
- 進一步瞭解 Cloud SQL Enterprise Plus 版本支援的區域。
- 進一步瞭解 Cloud SQL Enterprise Plus 版本的定價。