Azure 備份 for PostgreSQL Flexible Server 與 Elastic Cluster v2(預覽版)提供強化備份功能,旨在解決現有 v1 解決方案的主要限制,並支援更廣泛的備份需求。 V2 採用基於受管理磁碟快照的實體備份,取代了 v1 所採用的邏輯 pg_dump 備份方法。
為什麼要使用適用於 PostgreSQL 的 Azure 資料集彈性伺服器和彈性叢集保存庫備份 (v2)
v2 備份解決方案提供更大的彈性,以保護及恢復 Azure PostgreSQL 彈性伺服器或彈性叢集工作負載。 它使用底層管理磁碟的增量快照,取代 v1 所採用的邏輯備份方法,解決伺服器大小、備份頻率及復原選項的限制。
下表比較了 v1 與 v2 備份所具備的功能。
| 能力 | v1(普遍可用) | V2(預覽) |
|---|---|---|
| 備用技術 | 邏輯備份(pg_dump) |
從受管理磁碟快照進行實體備份 |
| 資料來源受保護 | 彈性伺服器 | 彈性伺服器與彈性叢集 |
| 最大尺寸 | 1 TB | Premium SSD v1 為 32 TB;Premium SSD v2 為 64 TB |
| 備份頻率 | 每週有一次備用 | 每日與每週排程(1 天 RPO) |
| 備份類型 | 只提供完整備份 | 第一次備份是滿的;後續備份則是增量備份 |
| Restore | 先還原成檔案到儲存容器,然後用原生工具匯入 | 直接以伺服器形式還原至目標彈性伺服器或彈性叢集 |
| 最大保留率 | 最長可達10年 | 最長可達10年 |
Azure PostgreSQL 彈性伺服器與彈性叢集保存庫備份 (v2) 的主要功能
此功能包含以下主要功能:
封存式、隔離的長期備份: 在您的租戶中擷取快照,並將備份串流至備份保險庫。 此功能將備份資料與來源訂閱及帳號隔離。 保險庫透過 Azure 角色基礎存取控制(RBAC)、軟刪除及多使用者授權(若啟用)保護資料。
WORM 不可變備份: 啟用備份保險庫的 不可變性(WORM ),以防止任何使用者(包括保險庫管理員)在其保留期限屆滿前更改、覆寫或刪除恢復點。 此保護有助於保護您的備份免於勒索軟體及意外或惡意刪除,並支持 WORM 合規要求。
彈性備份政策: 支援 每日 或 每週 排程備份,並在設定保護後進行隨需備份。 你可以為每日、每週、每月和年度復原點分別設定獨立的保留期限,範圍從 7 天到 10 年。
增量資料移動: 在第一次備份時傳輸完整磁碟資料,後續備份只傳輸變更後的資料區塊,使多 TB 伺服器的備份更有效率。 如果之前的快照無法取得,Azure 備份 會自動重新啟動初始複製,無需使用者介入。
還原為伺服器: 直接將復原點還原至預先建立的目標 PostgreSQL 彈性伺服器或彈性叢集。 還原不需要中間儲存帳號或手動
pg_restore操作。集中式備份管理:透過 Azure 的韌性提供集中式體驗,檢視和管理備份與還原工作、受保護項目、警示與報告,以及其他受 Azure 備份 保護的工作負載。
Azure PostgreSQL 彈性伺服器和彈性叢集保存庫備份 (v2) 的備份流程
Azure PostgreSQL 彈性伺服器與彈性叢集保險庫備份(v2)的備份流程運作如下:
- 你要在來源彈性伺服器或彈性叢集上,授與備份保存庫的受控識別必要權限。 在 Azure 入口網站中,你可以在設定過程中直接指派所缺少的角色。
- 你要設定一個備份政策,定義排程和保留規則,並選擇要保護的資料來源。
- 每次排程執行時,Azure 備份都會要求 PostgreSQL 資源提供者建立伺服器磁碟的受控磁碟快照,並等待快照完全水合。
- Azure 備份 會取得目前快照和前一個快照的時限存取權,計算兩者之間的差額,然後只將差額移入備份保險庫。 第一個備份沒有先前的快照,因此會傳輸完整內容。
- Azure 備份 在快照資料被複製到保險庫時,會將備份工作標記為成功。 接著會根據原則中的保留規則,保留或刪除復原點。
適用於 PostgreSQL 的 Azure 資料庫彈性伺服器和彈性叢集保存庫備份 (v2) 的還原流程
適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器或彈性叢集保險庫備份(v2)的還原流程如下:
- 建立用於還原備份的目標 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器或彈性叢集。 Azure 備份 會將磁碟內容還原到現有目標上;它不會自動建立目標位置。
- 你在備份保險庫中選擇復原點,並選取目標。 Azure 備份 會先驗證目標與復原點(包括 PostgreSQL 主要版本、磁碟大小、磁碟類型、SKU 層級及網路設定)對照,然後才觸發還原操作。
- Azure 備份 會將復原點的內容寫入目標伺服器磁碟。
- PostgreSQL 資源提供者啟動還原後的伺服器,並使還原後的伺服器以交易一致的狀態上線。
由於還原會寫入完整的磁碟映像檔,還原時間會隨復原點大小而調整。 對於多TB伺服器,請規劃以小時到天為單位的復原時間目標,而非分鐘。
向 PostgreSQL 伺服器驗證 Azure 備份
Azure 備份 服務透過 PostgreSQL 資源提供者,使用 Backup Vault 的管理身份連接到來源伺服器。 保存庫的身分必須在來源伺服器上具備備份權限,並在目標伺服器上具備還原權限。 當你設定保護或從 Azure 入口觸發還原時,Azure 備份 會驗證所需的權限,並提供內嵌指派缺失角色的權限。 如果你沒有伺服器寫入權限,可以下載角色指派範本,請資料庫管理員執行。
你也可以使用使用者指派的受控識別,授與資料來源和備份保存庫的權限。
Azure 備份 使用受管理身份來與你的 PostgreSQL 伺服器進行認證,並需要以下權限:
| 身份類型 | Description |
|---|---|
| 備份保存庫受控識別 | 將備份保存庫的受控識別授與在來源伺服器上執行備份及在目標伺服器上執行還原所需的權限。 當你設定備份或還原時,Azure 備份 會驗證所需的權限,並允許你指派任何缺失的角色。 |
| 使用者指派的受控識別 | 使用使用者指派的受控識別,對資料來源和備份保存庫授與所需權限。 |
客戶管理的金鑰支援
Azure 備份 支援以客戶管理金鑰(CMK)加密的伺服器。 Azure 備份會以解密的形式讀取快照資料,並將其儲存於靜態加密的保存庫中,可能是使用平台代控金鑰,或使用您在備份保存庫上設定的 CMK。 還原時,資料會寫入目標伺服器的磁碟,並以該伺服器的金鑰在靜態狀態下重新加密。 如果你需要用自己的金鑰端對端保護資料,請在來源伺服器、目標伺服器和備份保險庫上設定 CMK。
從 v1 體驗遷移至 v2 體驗
你可以將現有的 v1 保護項目移到 v2,並繼續使用相同的備份政策和備份保險庫。 受保護的物品保持不變,且你現有的 v1 恢復點數仍然可用。
Important
升級到 v2 是單向的。 要回到 v1,必須停止保護並刪除備份實例,然後再用 v1 重新設定備份。
在將受保護項目遷移到 v2 之前,請確保你符合以下先決條件:
- PostgreSQL 版本:如果你的伺服器運行 PostgreSQL 14 或更早版本,請 升級到 PostgreSQL 15 或更新版本。
- 運算層:如果您的伺服器使用可突發擴充運算層,請將其調整為通用用途或記憶體最佳化。
如果伺服器未符合這些前提條件,移動將因使用者錯誤而失敗。
當你把受保護物品移到 v2 後,你現有的 v1 回收點數仍然可用。 還原方法取決於用於建立恢復點的備份版本:
- 對於用 v1 建立的復原點,請使用 還原為檔案。
- 對於用 v2 建立的復原點,請使用 Restore as Server。
你可以用每個復原點顯示的備份類型來判斷它是屬於 v1 還是 v2。
了解 Azure PostgreSQL 彈性伺服器與彈性叢集保存庫備份 (v2) 的定價
Azure PostgreSQL 彈性伺服器與彈性叢集保險庫備份(v2)會產生以下費用:
- 受保護實例費用:依據資料來源大小,按單位計費。
- 備份儲存費用:依據備份保存庫中設定的備援層級,按保存庫中儲存的資料總量計費。
欲了解更多價格資訊,包括適用費用及帳單細節,請參閱 價格頁面。
因為 v2 支援大型伺服器每日備份,保留設定主要決定儲存成本。 你可以保留每日恢復點數幾個月,並使用每週、每月或每年的恢復點以延長保留時間。