Azure Well-Architected Framework 檢閱 - 適用於 PostgreSQL 的 Azure 資料庫
本文提供適用於 PostgreSQL 的 Azure 資料庫的架構最佳做法。
指導方針是以架構卓越五大要素為基礎:
- 可靠性
- 安全性
- 成本最佳化
- 卓越營運
- 效能效率
必要條件
瞭解 Well-Architected 架構要素有助於產生高品質、穩定且有效率的雲端架構。 建議您使用 Azure Well-Architected Framework 檢閱 評量來檢閱您的工作負載。
適用於 PostgreSQL 的 Azure 資料庫是 Azure 中以 PostgreSQL 開放原始碼關係資料庫為基礎的關係資料庫服務。 它是一個完全受控的資料庫即服務,其可透過可預測效能、安全性、高可用性及動態延展性處理任務關鍵性工作負載。 適用於 PostgreSQL 的 Azure 資料庫建置在 PostgreSQL 資料庫引擎的社群版本上。 它與 PostgreSQL 伺服器社群版本相容,並支援 PostgreSQL 擴充功能,例如 PostGIS 和 TimescaleDB。
注意
若要探索使用適用於 PostgreSQL 的 Azure 資料庫儲存認知服務 API 分析結果的輕量型解決方案概念,請參閱使用 適用於 PostgreSQL 的 Azure 資料庫 的智慧型應用程式。
可靠性
適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器提供高可用性支援,方法是在相同可用性區域 (區域) 或跨可用性區域布建主要和待命複本, (區域備援) 。 此高可用性模型可確保如果發生失敗,認可的資料永遠不會遺失。 模型也設計成資料庫不會成為軟體架構中的單一失敗點。 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器提供的功能可保護資料,並在計劃性和非計劃性停機事件期間降低任務關鍵性資料庫的停機時間。 以 Azure 基礎結構為基礎,提供強固的復原能力和可用性,彈性伺服器具有商務持續性功能,可提供錯誤保護、解決復原時間需求,以及降低資料遺失風險。
可靠性設計檢查清單
您應該檢閱 設計原則 ,以優化架構的成本。
- 針對工作負載的 RPO (復原點目標) 和 RTO (復原時間目標) 定義的目標。
- 選取適當的高可用性設定。
- 設定異地備援備份。
- 測試災害復原計畫,以確保在發生失敗時快速還原資料。
- 針對已啟用 HA 的伺服器測試隨選容錯移轉,以確保我們的應用程式如預期般運作。
- 監視您的伺服器,以確保其狀況良好且如預期般執行。
可靠性建議
建議 | 優點 |
---|---|
針對工作負載的 RPO (復原點目標) 和 RTO (復原時間目標) 定義的目標。 | 藉由進行風險評估,並確保您瞭解停機時間和資料遺失的成本和風險,以衍生這些值。 這些是系統中的非功能性需求,並且應該依照業務需求來設定。 |
選取適當的高可用性設定。 | 適用於 PostgreSQL 的 Azure 資料庫伺服器提供高可用性設定,確保在發生區域中斷且不會遺失任何資料時,服務仍可供使用。 設定高可用性時,適用於 PostgreSQL 的 Azure 資料庫伺服器會自動布建和管理待命複本。 |
設定異地備援備份。 | 您可以部署跨區域讀取複本,以保護資料庫免于發生區域層級失敗。 在選取的區域啟用異地備援備份,並在主伺服器區域關閉時協助進行災害復原。 |
測試災害復原計畫,以確保發生失敗時快速還原資料。 | 讀取複本可以部署到不同的區域,並在需要災害復原時升級至讀寫伺服器。 |
監視您的伺服器,以確保其狀況良好且如預期般執行。 | 我們已就地監視資料庫,以監視和警示資料庫層級失敗。 |
提示
如需適用於 PostgreSQL 的 Azure 資料庫可靠性指引的詳細資訊,請參閱適用於 PostgreSQL 的 Azure 資料庫的可靠性。
Azure 原則定義
Azure 原則定義可協助您為 Azure 環境內的資源強制執行特定規則和設定。 若要確保適用於 PostgreSQL 的 Azure 資料庫的可靠性,您可以建立自訂Azure 原則定義來實作特定的設定和最佳做法。 以下是一些您可以為可靠性建立的自訂Azure 原則定義範例:
安全性
思考應用程式從設計和實作到部署與作業之整個生命週期的安全性。 Azure 平臺可防範各種威脅,例如網路入侵和 DDoS 攻擊。 您仍然需要在應用程式和 DevOps 程式中建置安全性。
安全性設計檢查清單
您應該檢閱 設計原則 ,以優化架構的成本。
- SSL 並強制執行加密來保護傳輸中的資料。
- 實作網路安全性群組和防火牆,以控制資料庫的存取。
- 使用 Azure Active Directory 進行驗證和授權,以增強身分識別管理。
- 設定資料列層級安全性。
安全性建議
建議 | 優點 |
---|---|
SSL 並強制執行加密來保護傳輸中的資料。 | 從受信任的憑證授權單位單位部署 DigiCert 全域根憑證 (CA) 憑證,以透過 SSL 與用戶端應用程式通訊。 |
實作網路安全性群組和防火牆,以控制資料庫的存取。 | 在安全性零信任模型中,建議使用網路分割,在此情況下,元件之間的通訊路徑 (,應用程式與資料庫伺服器) 僅限於所需的內容。 這可以使用網路安全性群組和應用程式安全性群組來實作。 |
使用 Azure Active Directory 進行驗證和授權,以增強身分識別管理。 | Microsoft Azure Active Directory (Azure AD) 驗證是使用 Azure AD 中所定義的身分識別來連線到「適用於 PostgreSQL 的 Azure 資料庫」的機制。 |
設定資料列層級安全性。 | 資料列層級安全性 (RLS) 是一項 PostgreSQL 安全性功能,可讓資料庫管理員定義原則,以控制一或多個角色的特定資料列顯示及操作方式。 資料列層級安全性是您可以套用至 PostgreSQL 資料庫資料表的額外篩選器。 |
成本最佳化
成本優化是瞭解您的設定選項和建議的最佳做法,以減少不必要的費用並提升營運效率。 您應該檢閱您的工作負載,以找出降低成本的機會。
成本設計檢查清單
您應該檢閱 設計原則 ,以優化架構的成本。
- 挑選正確的階層和 SKU。
- 瞭解高可用性模式。
- 調整計算和儲存層。
- 請考慮保留實例。
- 使用布建的儲存體。
- 瞭解異地備援成本。
- 評估儲存體相應增加決策。
- 部署至與應用程式相同的區域。
- 高可用性導向的成本描述。
- 合併資料庫和伺服器。
成本建議
建議 | 優點 |
---|---|
挑選正確的階層和 SKU。 | 挑選支援工作負載特定需求的定價層和計算 SKU。 Azure Advisor 提供建議,以優化並減少整體 Azure 費用。 建議包括您應該遵循的伺服器正確調整大小。 |
瞭解高可用性模式。 | 高可用性讓待命伺服器一律可在相同區域或區域內使用。 啟用高可用性可讓成本倍增。 |
調整計算和儲存層。 | 您應該手動調整計算和儲存層,以符合應用程式在一段時間內的需求。 |
使用 [啟動/停止] 功能。 | 彈性伺服器具有啟動/停止功能,可讓您在不需要時停止伺服器執行。 |
請考慮保留實例。 | 請考慮一或三年期的保留,以取得計算的重大折扣。 針對具有一年以上一致計算使用量的工作負載使用這些保留。 |
使用布建的儲存體。 | 備份儲存體最多 100% 的總布建伺服器儲存體不需要額外費用。 |
瞭解備援成本。 | 異地備援儲存體 (GRS) 成本與 LRS (LRS) 的本地備援儲存體成本兩倍。 GRS 需要 LRS 的兩倍儲存容量。 |
評估儲存體相應增加決策。 | 在相應增加儲存體之前,您應該先評估您目前和未來的儲存體需求。 相應增加儲存體之後,就無法相應減少。 |
部署至與應用程式相同的區域。 | 部署至與應用程式 () 相同的區域,以將傳輸成本降到最低。 當您使用虛擬網路整合時,不同虛擬網路中的應用程式無法直接存取彈性伺服器。 若要授與他們存取權,您必須設定虛擬網路對等互連。 虛擬網路對等互連具有名義的輸入和輸出資料傳輸成本。 |
高可用性導向的成本描述。 | 這是 HA 和成本的取捨。 HA 是非 HA 設定成本的倍數,但需要。 |
合併資料庫和伺服器。 | 您可以將多個資料庫和伺服器合併成單一伺服器,以降低成本。 |
Azure 原則定義
Azure 原則定義可協助您為 Azure 環境內的資源強制執行特定規則和設定。 若要確保適用於 PostgreSQL 的 Azure 資料庫的成本優化,您可以建立自訂Azure 原則定義來強制執行特定的設定和最佳做法。 以下是一些您可以針對成本優化而建立的自訂Azure 原則定義範例:
卓越營運
卓越營運準則是一系列的考量,可協助達成卓越營運實務。
若要在作業中達到更高的專長認證,請考慮並改善軟體的開發、部署、操作和維護方式。
營運卓越設計檢查清單
您應該檢閱 設計原則 ,以優化架構的成本。
- 設定自動備份和保留原則,以維護資料可用性並符合合規性需求。
- 實作自動化修補和更新,讓您的 PostgreSQL 實例保持安全且最新狀態。
- 使用 Azure 監視器監視資料庫健康情況和效能,並設定重要計量的警示。
卓越營運建議
建議 | 優點 |
---|---|
設定自動備份和保留原則,以維護資料可用性並符合合規性需求。 | 適用於 PostgreSQL 的 Azure 資料庫為您的資料庫提供自動備份和時間點還原。 您可以設定備份最多 35 天的保留期間。 |
實作自動化修補和更新,讓您的 PostgreSQL 實例保持安全且最新狀態。 | 適用於 PostgreSQL 的 Azure 資料庫為您的資料庫提供自動修補和更新。 您可以設定伺服器的維護期間,以將工作負載的影響降到最低。 |
使用 Azure 監視器監視資料庫健康情況和效能,並設定重要計量的警示。 | 適用於 PostgreSQL 的 Azure 資料庫提供內建的監視和警示功能。 您可以使用 Azure 監視器來監視資料庫的健康情況和效能。 您也可以設定重要計量的警示,以在資料庫未如預期般執行時收到通知。 |
營運卓越原則定義
Azure 原則定義可協助您為 Azure 環境內的資源強制執行特定規則和設定。 若要確保適用於 PostgreSQL 的 Azure 資料庫營運卓越,您可以建立自訂Azure 原則定義來強制執行特定的設定和最佳做法。 以下是您可以為營運卓越建立的一些自訂Azure 原則定義範例:
效能效率
效能效率是工作負載調整的能力,以符合使用者有效率地對它所放置的需求。 建議您檢閱效能效率原則。
在下列設計檢查清單和建議清單中,圖說文字會指出每個選擇是否適用于叢集架構、工作負載架構或兩者。
效能效率設計檢查清單
您應該檢閱 設計原則 ,以優化架構的成本。
- 設計架構和查詢以提升效率,以將資源耗用量降至最低。
- 實作讀取複本以卸載讀取流量,並增強整體效能。
效能效率建議
建議 | 優點 |
---|---|
設計架構和查詢以提升效率,以將資源耗用量降至最低。 | 您應該設計架構和查詢以提升效率,以將資源耗用量降至最低。 |
實作讀取複本以卸載讀取流量,並增強整體效能。 | 您可以使用讀取複本來卸載讀取流量並增強效能。 |
效能效率原則定義
Azure 原則定義可協助您為 Azure 環境內的資源強制執行特定規則和設定。 若要確保適用於 PostgreSQL 的 Azure 資料庫的效能效率,您可以建立自訂Azure 原則定義來強制執行特定的設定和最佳做法。 以下是一些您可以為效能效率建立的自訂Azure 原則定義範例:
額外資源
請考慮更多與適用於 PostgreSQL 的 Azure 資料庫相關的資源。