共用方式為


設定適用於 PostgreSQL 的 Azure 資料庫的高可用性

本文說明如何使用 Azure 入口網站或 Azure CLI 在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體上啟用或停用高可用性 (HA)。 無論您是使用相同區域中的執行個體,還是使用區域備援部署模型,此資訊都適用。

高可用性功能會部署實體上分開的主要和待命複本。 您可以在相同的可用性區域內或不同的區域中佈建複本,視您選擇的部署模型而定。 如需詳細資訊,請參閱高可用性概念的相關文章。 您可以在建立適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體期間或之後啟用高可用性。

重要事項

2024 年 4 月,我們更新了具有已啟用 HA 的伺服器的 v5 計算層的計費模型。 此變更會同時考慮主要伺服器和待命伺服器,以正確反映費用。 在此變更之前,您被錯誤地只針對主要伺服器收取費用。 如果您將 v5 層與已啟用 HA 的伺服器搭配使用,您現在會看到計費數量乘以 2。 此更新不會影響 v4 和 v3 層。

為現有伺服器啟用高可用性

  1. Azure 入口網站中,選取您的 Azure PostgreSQL 彈性伺服器實例。

  2. 在左側功能表的 [設定] 區段中,選取 [高可用性]

區域 復原 選項可控制您的伺服器是否受到跨可用性區域的保護。 您有兩種選擇:

  • 已啟用 – 當您選取此選項時,Azure 會嘗試在與主要伺服器不同的可用性區域中建立待命伺服器。 此選項可為您提供針對地區等級故障的最佳保護。
  • 已停用 — 未設定高可用性。

如果已啟用區域韌性,但你的區域無法建立區域冗餘設置,則在啟用選項下會新增一個勾選框。 選擇此選項後,備援系統可以在與主系統相同的區域中建立。 當區域容量開放時,Azure 會通知你。 在該階段,您可以使用 PITR 或讀取副本,將工作負載移轉到區域備援的 HA 組態,藉此發揮最大復原能力。 請前往「 限制與考量 」章節了解更多。

  1. 如果未啟用區域復原,請選取 [已啟用] 選項。

    螢幕擷取畫面顯示設定高可用性的窗格。

  2. 當您選取 [已啟用] 選項時,預設會針對支援可用區域的區域套用 [區域備援] 選項。 此配置可防止區域故障。

    螢幕擷取畫面顯示選取以啟用高可用性的核取方塊。

  3. 如果該地區沒有分區容量,為了確保在您偏好的地區中啟用高可用性(HA),請勾選啟用選項下的核取方塊,以允許使用該地區的同區模式建立HA。 一旦區域容量可用,它就會自動將您的工作負載移轉至 Zone-Redundant HA:

    螢幕擷取畫面顯示選取相同區域選項以取得高可用性。

  4. 當您完成設定設定時,請選取 [儲存] 以套用變更。

  5. 對話方塊會顯示與待命伺服器部署相關聯的成本超支率。 如果您決定繼續,請選取 [啟用高可用性]

    螢幕擷取畫面顯示確認啟用高可用性的對話方塊。

  6. 部署開始。 完成後,系統會顯示通知,指出您已成功啟用高可用性。

    螢幕擷取畫面顯示高可用性設定已完成部署的通知。

停用高可用性

  1. Azure 入口網站中,選取您的 Azure PostgreSQL 彈性伺服器實例。

  2. 在左側功能表的 [設定] 區段中,選取 [高可用性]

  3. 如果已啟用高可用性,則 [區域復原] 的 [已啟用] 選項按鈕已選取。 此外,[高可用性模式] 會設定為已設定的模式,且 [高可用性狀態] 值通常為 [狀況良好]

    螢幕擷取畫面顯示設定高可用性的窗格,其中已選取高可用性選項,且狀態為 [狀況良好]。

  4. 選取 Disabled 單選按鈕以停用 HA。

    螢幕擷取畫面顯示啟用高可用性的核取方塊已清除。

  5. 按一下 [儲存] 以套用變更。

  6. 對話方塊會顯示與移除待命伺服器相關聯的成本減少。 如果您決定繼續,請選取 [停用高可用性]

    顯示確認停用高可用性對話方塊的螢幕擷取畫面。

  7. 部署開始。 完成後,系統會顯示通知,指出您已成功停用高可用性。

    螢幕擷取畫面顯示成功停用高可用性的通知。

在伺服器佈建期間啟用高可用性

  1. Azure 入口網站中,在佈建新的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體期間,移至 [ 業務關鍵 (高可用性)] 區段。 選取 [區域彈性] 區段中的 [已啟用] 選項按鈕。

    • 依預設,伺服器會嘗試在具有 區域備援 HA 模式的不同可用性區域中建立待命伺服器,以取得最大的區域復原能力。

    截圖顯示啟用 HA 並搭配區域冗餘選項。

    • 如果區域容量無法使用,您可以選取 [如果區域復原失敗,則允許在相同區域中待命 ] 核取方塊作為後援。 若未選擇此選項,您無法繼續建立工作流程的下一步。 這麼做可確保您持續保有高可用性。 當區域容量可用時,Azure 會通知你,然後你可以使用 PITR 或讀取副本將工作負載遷移到區域冗餘的 HA 配置,以達到最大韌性。

      截圖顯示同區 HA 選項的驗證錯誤訊息。

    • 勾選選框後,即可進入建立流程中的認證部分。

      螢幕擷取畫面所示為採用相同區域 HA 選項的高可用性。

  2. 將 [可用性區域] 設定為 [無喜好設定] 以外的任何值,針對主要伺服器選取特定區域。

    螢幕擷取畫面,顯示主要伺服器的特定可用性區域選取範圍。

起始強制容錯移轉

請遵循下列步驟,強制將主要伺服器容錯移轉至適用於 PostgreSQL 的 Azure 資料庫中的待命伺服器。

起始強制容錯移轉時,主要伺服器會立即關閉,並觸發容錯移轉至待命伺服器。 當您想要測試非計劃性中斷所造成的容錯移轉將如何影響您的工作負載時,起始強制容錯移轉非常有用。

重要事項

  • 請勿執行立即、連續的容錯移轉。 在容錯移轉之間至少等待 15 到 20 分鐘。 此等待時間可讓新的待命伺服器完全建立。

  • 入口網站上報告的整體端對端作業時間可能比應用程式所經歷的實際停機時間更長。 您應該從應用程式的角度來衡量停機時間。

  1. Azure 入口網站 中,選取您啟用高可用性的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。

  2. 在左側功能表的 [設定] 區段中,選取 [高可用性]

  3. 如果高可用性模式設定為 [區域備援],請記下指派給主要可用性區域待命可用性區域的值。 它們應該會在容錯移轉作業完成後反轉。

  4. 選取 * 強制容錯移轉 * 以啟動手動容錯移轉程序。 對話方塊會通知您容錯移轉完成之前的預期停機時間。 如果您決定繼續,請選取 [起始強制容錯移轉]

    螢幕擷取畫面顯示在起始強制容錯移轉之前顯示的對話方塊。

  5. 系統會顯示一則通知,並提及容錯移轉正在進行中。

    螢幕擷取畫面顯示起始強制容錯移轉之後進行中容錯移轉的通知。

  6. 容錯移轉至待命伺服器完成後,便會通知您完成。

    螢幕擷取畫面顯示強制容錯移轉完成時所顯示的通知。

  7. 如果高可用性模式設定為 [區域備援],請確認 [主要可用性區域] 和 [待命可用性區域] 的值現在已反轉。

起始規劃的容錯移轉

請遵循下列步驟,執行從主要伺服器到適用於 PostgreSQL 的 Azure 資料庫中待命伺服器的容錯移轉。 起始此作業會準備待命伺服器,然後執行容錯移轉。

此容錯移轉作業提供最少的停機時間,因為它會正常容錯移轉至待命伺服器。 這適用於在非預期容錯移轉後將主要伺服器帶回慣用可用性區域等情況。

重要事項

  • 請勿執行立即、連續的容錯移轉。 在容錯移轉之間至少等待 15 到 20 分鐘。 此等待時間可讓新的待命伺服器完全建立。

  • 在低活動期間執行計劃性容錯移轉。

  • 入口網站上報告的整體端對端作業時間可能比應用程式所經歷的實際停機時間更長。 您應該從應用程式的角度來衡量停機時間。

  1. Azure 入口網站 中,選取您啟用高可用性的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。

  2. 在左側功能表的 [設定] 區段中,選取 [高可用性]

  3. 如果高可用性模式設定為 [區域備援],請記下指派給主要可用性區域待命可用性區域的值。 它們應該會在容錯移轉作業完成後反轉。

  4. 選取 * 計劃性容錯移轉 * 以啟動手動容錯移轉程序。 對話方塊會通知您容錯移轉完成之前的預期停機時間。 如果您決定繼續,請選取 [起始計劃性容錯移轉]

    螢幕擷取畫面顯示在起始容錯移轉之前顯示的對話方塊。

  5. 系統會顯示一則通知,並提及容錯移轉正在進行中。

    螢幕擷取畫面顯示在起始容錯移轉之後容錯移轉進行中的通知。

  6. 容錯移轉至待命伺服器完成後,便會通知您完成。

    螢幕擷取畫面顯示容錯移轉完成時所顯示的通知。

  7. 如果高可用性模式設定為 [區域備援],請確認 [主要可用性區域] 和 [待命可用性區域] 的值現在已反轉。

限制與考量

  • 在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體上啟用或停用高可用性不會變更其他設定,包括網路設定、防火牆設定、伺服器參數或備份保留。 啟用或停用高可用性是線上作業。 它不會影響您的應用程式連線和作業。

  • 適用於 PostgreSQL 的 Azure 資料庫支援高可用性,並將兩個複本部署在相同的區域中。 此設定適用於所有支援的區域。 不過,具有區域備援的高可用性僅適用於特定區域

  • Burstable 層不支援高可用性。 只有 一般用途記憶體最佳化 層支援高可用性。

  • 如果您在包含單一可用性區域的區域中部署伺服器,則只能在相同區域模式中啟用高可用性。 如果區域在未來使用多個可用性區域增強,您可以部署新的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體,並將高可用性設定為相同區域或區域備援。

    不過,對於當區域包含單一可用性區域時部署在區域中的任何執行個體,您無法直接在區域備援模式中為其啟用高可用性。 因應措施是,您可以使用還原選項或讀取副本選項。

還原選項

  1. 使用最新的還原點,在新伺服器上還原現有的執行個體
  2. 建立新伺服器之後,請啟用具有區域備援的高可用性
  3. 在資料驗證之後,您可以選擇刪除舊的伺服器。
  4. 請確定已修改用戶端的連接字串,以指向新的已還原伺服器。

讀取副本選項

  1. 在與您的主要伺服器相同的區域中建立讀取複本
  2. 將讀取複本提升成為新的主要伺服器。
  3. 若要保留原始名稱,請使用虛擬端點或捨棄舊的主要伺服器,然後建立並提升新的讀取複本。
  4. 對於入口網站使用者,請啟用區域復原。 對於開發人員工具,請使用 Zone-Redundant 選項設定高可用性。