使用 VPC 對等互連功能,將執行個體升級至 Cloud SQL Enterprise Plus 版本


本頁說明如何使用資料庫遷移服務的私人虛擬私有雲對等互連網路連線方法,將 Cloud SQL Enterprise 版執行個體升級至 Cloud SQL Enterprise Plus 版。資料庫移轉服務會建立新的 Cloud SQL 執行個體,並將資料遷移至該執行個體。

總覽

Cloud SQL Enterprise Plus 版本非常適合需要最高寫入效能的應用程式。如要進一步瞭解這些改善項目,請參閱「效能提升」。

如要為現有的 Cloud SQL Enterprise 版本執行個體啟用這些強化功能,您必須使用資料庫移轉服務,將執行個體升級為 Cloud SQL Enterprise Plus 版本。

事前準備

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. 啟用 Database Migration Service API。

    啟用 API

  7. 請確認使用者帳戶已獲指派資料庫遷移管理員角色。

    前往「IAM」頁面

  8. 需求條件

    資料庫遷移服務提供多種來源資料庫選項和網路連線方法。不同來源適合的連線方式不盡相同。在本頁面中,我們假設您在可設定網路的環境中使用 Cloud SQL Enterprise 版執行個體,並新增輸入防火牆規則。由於我們無法瞭解您的環境詳情,因此無法提供網路設定的詳細步驟。

    設定來源執行個體

    如要設定來源 Cloud SQL Enterprise 版執行個體,請完成下列步驟:

    1. 如果來源執行個體沒有 postgres 資料庫,請建立一個。詳情請參閱「在 Cloud SQL 執行個體上建立資料庫」。
    2. 在來源執行個體的資料庫中安裝 pglogical 套件。確認套件已納入 shared_preload_libraries 變數。詳情請參閱「設定來源資料庫」。
    3. 為來源執行個體的資料庫啟用邏輯複製和解碼功能。詳情請參閱「為來源資料庫啟用邏輯複寫和解碼」。

    設定來源資料庫

    除了 template0template1 資料庫,資料庫移轉服務會遷移來源 Cloud SQL Enterprise 版執行個體中的所有其他資料庫。

    在上方未提及的來源執行個體中,針對各個資料庫完成下列步驟:

    1. 如要在資料庫中安裝 pglogical 擴充功能,請執行 CREATE EXTENSION IF NOT EXISTS pglogical 指令。

    2. 如果資料表沒有主鍵,請手動遷移 UPDATEDELETE 陳述式。

    3. 如要在每個遷移的資料庫上設定這些權限,請建立使用者或設定現有使用者的權限。您會使用這個使用者連線至來源執行個體,並在「連線設定檔」頁面中將這個使用者設為使用者。針對各個遷移的資料庫和預設的 postgres 資料庫,這位使用者必須具備特定權限。

      如要設定這些權限,請連結執行個體並執行下列指令:

      1. GRANT USAGE on SCHEMA SCHEMA to USER 在每個待遷移的資料庫中,針對所有結構定義 (資訊結構定義和開頭為 pg_ 的結構定義除外) 執行這項操作。
      2. GRANT USAGE on SCHEMA pglogical to PUBLIC; 在要遷移的每個資料庫上。
      3. GRANT SELECT on ALL TABLES in SCHEMA pglogical to USER 針對所有資料庫執行,以便取得來源資料庫的複製資訊。
      4. GRANT SELECT on ALL TABLES in SCHEMA SCHEMA to USER 在每個待遷移的資料庫中,針對所有結構定義 (資訊結構定義和開頭為 pg_ 的結構定義除外) 執行這項操作。
      5. GRANT SELECT on ALL SEQUENCES in SCHEMA SCHEMA to USER 在每個待遷移的資料庫中,針對所有結構定義 (資訊結構定義和開頭為 pg_ 的結構定義除外) 執行這項操作。
      6. ALTER USER USER with REPLICATION role

    為來源資料庫啟用邏輯複製和解碼功能

    cloudsql.logical_decodingcloudsql.enable_pglogical 標記設為 On,為來源 Cloud SQL Enterprise 版執行個體的資料庫啟用邏輯複製和解碼功能。如要進一步瞭解這些旗標,請參閱「設定資料庫旗標」。

    如要啟用這兩個標記,請完成下列步驟:

    1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

      前往 Cloud SQL 執行個體

    2. 按一下來源執行個體。
    3. 按一下 [編輯]
    4. 在「自訂執行個體」部分,如果出現「顯示設定選項」選單,請點選該選單。
    5. 展開「旗標」部分。

    6. 如要設定 cloudsql.logical_decodingcloudsql.enable_pglogical 標記,請完成下列步驟:

      1. 按一下「新增資料庫旗標」
      2. 從下拉式選單中選擇 cloudsql.logical_decoding 旗標。
      3. 將這個旗標的值設為 On
      4. 按一下 [完成]
      5. 針對 cloudsql.enable_pglogical 標記重複上述步驟。
    7. 按一下 [儲存]

    8. 在「下列變更需重新啟動執行個體才會生效」對話方塊中,按一下「儲存並重新啟動」。Cloud SQL 會重新啟動來源執行個體,讓您對旗標所做的設定變更生效。

    9. 在「設定」窗格中,確認「資料庫旗標」部分顯示的變更。

    從來源執行個體擷取資訊

    如要升級來源 Cloud SQL Enterprise 版執行個體,您必須擷取下列資訊:

    • 執行個體的私人 IP 位址。在資料庫移轉服務中建立連線設定檔時,請使用這個 IP 位址。
    • 虛擬私有雲網路的名稱,可讓 Cloud SQL Enterprise Plus 版目的地執行個體直接與 Cloud SQL Enterprise 版來源執行個體通訊。在資料庫移轉服務建立遷移工作時,您會使用這個虛擬私有雲網路。

    如要從來源 Cloud SQL Enterprise 版本執行個體擷取資訊,請完成下列步驟:

    1. 前往 Google Cloud 控制台的「SQL Instances」(SQL 執行個體) 頁面。

      前往 Cloud SQL 執行個體

    2. 按一下來源執行個體。
    3. 在「Connect to this instance」(連線至這個執行個體) 區段中,按一下「Private IP address」(私人 IP 位址) 欄位中的「Copy to clipboard」(複製到剪貼簿)
    4. 按一下頁面頂端的 [Edit] (編輯)
    5. 展開「連線」專區。
    6. 在「Associated networking」(相關聯的網路) 區段中,記下「Network」(網路) 欄位中顯示的虛擬私有雲網路名稱。

    建立連線設定檔

    連線設定檔包含來源 Cloud SQL Enterprise 版資料庫的相關資訊。資料庫移轉服務會使用連線設定檔中的資訊,將來源資料庫中的資料遷移至目的地 Cloud SQL Enterprise Plus 版執行個體。

    如要建立連線設定檔,請完成下列步驟:

    1. 在 Google Cloud 控制台中,前往 Database Migration Service 的「連線設定檔」頁面。

      前往「連線設定檔」

    2. 按一下 Create profile

    3. 從「資料庫引擎」下拉式清單中,選取「PostgreSQL 適用的 Cloud SQL」

    4. 在「Connection profile name」(連線設定檔名稱) 欄位中,輸入來源資料庫的連線設定檔名稱,例如 My Connection Profile

    5. 選取要儲存連線設定檔的區域。

    6. 從「Cloud SQL 執行個體」下拉式清單中,選取 Cloud SQL Enterprise 版執行個體的名稱。

    7. 在「主機名稱或 IP 位址」欄位中,將值替換為您在「從來源 Cloud SQL Enterprise 版執行個體擷取資訊」中複製的私人 IP 位址。

    8. 如要驗證來源執行個體,請輸入使用者名稱和密碼。然後按一下「繼續」

    9. 如要加密資料,請為來源和目的地資料庫之間的連線啟用 SSL/TLS 加密。否則請保留預設值「None」

    10. 按一下「繼續」

    11. 從「連線測試」下拉式選單中,選取「未定義」

    12. 點選「建立」

    建立遷移工作

    資料庫移轉服務會使用遷移工作,將來源 Cloud SQL Enterprise 版資料庫執行個體的資料,遷移至目的地 Cloud SQL Enterprise Plus 版執行個體。

    建立遷移工作包括下列步驟:

    • 定義工作的設定。
    • 選取為來源 Cloud SQL Enterprise 版資料庫建立的連線設定檔。這是您的來源連線設定檔
    • 定義目的地 Cloud SQL Enterprise Plus 版本執行個體的設定。
    • 設定來源與目的地資料庫執行個體之間的連線。
    • 測試遷移工作,確保您為工作提供的連線資訊有效。

    定義遷移工作設定

    1. 前往 Google Cloud 控制台的「Migration jobs」(移轉工作) 頁面。

      前往「遷移工作」頁面

    2. 按一下「建立遷移工作」

    3. 在「遷移工作名稱」欄位中,輸入遷移工作的名稱,例如 My Migration Job

    4. 從「來源資料庫引擎」下拉式清單中,選取「PostgreSQL 適用的 Cloud SQL」

    5. 從「目的地資料庫引擎」下拉式清單中,選取「PostgreSQL 適用的 Cloud SQL」

    6. 選取要建立 Cloud SQL Enterprise Plus 版本執行個體的目的地區域。

    7. 從「遷移工作類型」下拉式清單中選取「連續」,因為您希望將來源 Cloud SQL Enterprise 版資料庫的持續變更,遷移至目標 Cloud SQL Enterprise Plus 版執行個體。

    8. 查看自動生成的需求條件,瞭解環境必須如何準備遷移作業。這些必要條件可能包括如何設定來源 Cloud SQL Enterprise 版資料庫,以及如何將其連線至目的地 Cloud SQL Enterprise Plus 版執行個體。

      建議您在這個步驟完成這些必要條件,但您也可以在測試或開始遷移工作前完成。

    9. 按一下 [Save & continue] (儲存並繼續)

    指定來源連線設定檔的相關資訊

    1. 在「Select source connection profile」(選取來源連線設定檔) 下拉式清單中,選取您建立的連線設定檔。

    2. 按一下 [Save & continue] (儲存並繼續)

    定義目的地 Cloud SQL Enterprise Plus 版本執行個體的設定

    1. 在「Password」(密碼) 欄位中,輸入目的地 Cloud SQL Enterprise Plus 版本執行個體的英數密碼。這是執行個體中 postgres 管理員帳戶的密碼。

    2. 從「資料庫版本」下拉式清單中,選取指定資料庫引擎支援的 Cloud SQL 版本清單中的目標執行個體。

    3. 選取「Enterprise Plus」

    4. 在「選擇區域和可用區」部分,為新的 Cloud SQL Enterprise Plus 版執行個體選取所需 Google Cloud 可用區 (或保留為「任何」)。

    5. 勾選「Private IP」(私人 IP) 核取方塊。

    6. 從「VPC」下拉式清單中,選取您在「從來源 Cloud SQL Enterprise 版執行個體擷取資訊」中記下的 VPC 網路。

    7. 為 Cloud SQL Enterprise Plus 版本執行個體選取機器形狀。磁碟大小必須等於或大於來源資料庫大小。

    8. 定義 Cloud SQL 執行個體的儲存空間類型和容量。

    9. 如要建立新執行個體,請按一下「建立並繼續」

    10. 在隨即顯示的對話方塊中,按一下「建立目的地並繼續」。 建立執行個體可能需要幾分鐘才能完成。

    設定連線

    1. 選擇要如何建立來源 Cloud SQL Enterprise 版與目的地 Cloud SQL Enterprise Plus 版資料庫之間的連線。在這個程序中,請使用「連線方式」下拉式清單,選取「來源和目的地都使用私人 IP」
    2. 從「VPC」下拉式清單中,選取來源 Cloud SQL Enterprise 版執行個體所在的虛擬私有雲網路。這是您在「從來源 Cloud SQL Enterprise 版執行個體擷取資訊」中記下的虛擬私有雲網路。
    3. 點選「設定並繼續」

    測試、建立及啟動遷移工作

    1. 檢查您為遷移工作選擇的設定。

    2. 確認來源已正確設定、來源 Cloud SQL Enterprise 版本和目的地 Cloud SQL Enterprise Plus 版本執行個體可以彼此通訊,以及遷移工作有效:

      1. 按一下「測試工作」

      2. 確認狀態為 Your migration job test was successful!

      如果測試失敗,請在流程的適當部分解決問題,然後返回重新測試。

    3. 如要建立遷移工作並立即啟動,請按一下「建立及啟動工作」

    4. 在隨即顯示的對話方塊中,按一下「建立並開始」

    5. 在「遷移工作」頁面中,確認遷移工作的狀態為 Starting

    6. 幾分鐘後,確認狀態變更為 Running

    驗證遷移工作

    如要確認資料庫移轉服務是否使用遷移工作,將資料從來源 Cloud SQL Enterprise 版資料庫執行個體遷移至目的地 Cloud SQL Enterprise Plus 版資料庫執行個體,請完成下列步驟:

    1. 前往 Google Cloud 控制台的「SQL Instances」(SQL 執行個體) 頁面。

      前往 Cloud SQL 執行個體

    2. 按一下遷移工作的唯讀副本項目。

    3. 按一下「搜尋」欄位旁邊顯示的「啟用 Cloud Shell」圖示。
    4. 在提示中,使用 gcloud sql connect 指令連線至目的地 Cloud SQL Enterprise Plus 版資料庫執行個體。

      gcloud sql connect DESTINATION_INSTANCE_NAME --user=postgres

      DESTINATION_INSTANCE_NAME 改成目的地 Cloud SQL Enterprise Plus 版本執行個體的名稱。

    5. 選用:如果出現「Authorize Cloud Shell」(授權 Cloud Shell) 對話方塊,請按一下「Authorize」(授權)
    6. 在「Enter password」(輸入密碼) 提示中,輸入您在「為目的地 Cloud SQL Enterprise Plus 版本執行個體定義設定」中提供的密碼。
    1. postgres 提示中,輸入 \list 列出資料庫,並確認您看到來源 Cloud SQL Enterprise 版資料庫執行個體。
    2. postgres 提示中,輸入 \connect SOURCE_DB_NAME,即可查看與這個資料庫執行個體相關聯的資料表。提示名稱從「postgres」變更為「SOURCE_DB_NAME」。
    3. SOURCE_DB_NAME 提示中,輸入 \dt 即可查看這個執行個體的資料表。
    4. SOURCE_DB_NAME 提示中輸入 GRANT cloudsqlexternalsync to USER;,授予使用者存取這個執行個體中資料表的資料權限。

      USER 改成您用來連線至目的地 Cloud SQL Enterprise Plus 版資料庫執行個體的使用者名稱。

    5. SOURCE_DB_NAME 提示中輸入 SELECT * from TABLE_NAME;,即可查看從來源 Cloud SQL Enterprise 版資料庫執行個體資料表複製的資訊。
    6. 確認表格中顯示的資訊正確無誤。

    升級遷移工作

    升級遷移工作後,系統會將來源 Cloud SQL Enterprise 版資料庫執行個體,替換為目的地 Cloud SQL Enterprise Plus 版資料庫執行個體,做為主要資料庫。

    如要升級遷移作業,請完成下列步驟:

    1. 返回「遷移工作」頁面。

    2. 按一下要升級的遷移工作。「遷移工作詳細資料」頁面隨即顯示。

    3. 停止對來源 Cloud SQL Enterprise 版資料庫的所有寫入作業。

    4. 確認複製延遲時間最短。

    5. 按一下要升級的遷移工作。這項工作的狀態為「Running」。

    6. 如要升級遷移工作,請按一下「升級」

    7. 在隨即顯示的對話方塊中,按一下「宣傳」

    8. 確認遷移工作的狀態為 Promote in progress。幾分鐘後,確認狀態變更為 Completed

    新的 Cloud SQL Enterprise Plus 版資料庫執行個體已可使用。

    清除所用資源

    如要避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請使用 Google Cloud 控制台刪除不需要的遷移工作、連線設定檔、來源 Cloud SQL Enterprise 版執行個體和專案。

    後續步驟