OPS05-BP03 使用組態管理系統 - AWS Well-Architected 架構

OPS05-BP03 使用組態管理系統

使用組態管理系統進行和追蹤組態變更。這些系統可減少由手動程序引起的錯誤,並減少部署變更的工作量。

靜態組態管理會在初始化資源時設定值,這些值預期會在資源的整個生命週期內保持一致。動態組態管理會在初始化時設定值,這些值可能或是預期會在資源的整個生命週期內保持一致。例如,您可以設定功能切換,透過組態變更啟動程式碼中的功能,或在事件期間變更日誌詳細資訊等級。

組態應以已知且一致的狀態部署。應該使用自動化檢測來持續監控跨環境和區域的資源組態。這些控制項應定義為已自動化的程式碼和管理,以確保規則在各個環境中一致套用。組態變更應透過商定的變更控制程序進行更新,並一致地套用,以遵守版本控制。應用程式組態的管理應該獨立於應用程式和基礎設施程式碼。這允許在多個環境中進行一致的部署。組態變更不會導致重建或重新部署應用程式。

預期成果:您會在持續整合、持續交付 (CI/CD) 管道中進行設定、驗證和部署。您會進行監控,以確認組態正確無誤。這會將終端使用者和客戶受到的任何負面影響降到最低。

常見的反模式:

  • 您手動更新整個機群的 Web 伺服器組態,但由於更新錯誤,導致多部伺服器無法回應。

  • 您在數小時內手動更新應用程式伺服器機群。變更期間的組態不一致會導致未預期的行為。

  • 某人已更新您的安全群組,無法再存取您的 Web 伺服器。若不知道進行了哪些變更,您就需要花大量時間來調查問題,復原時間也會跟著拉長。

  • 您可以透過 CI/CD 將生產前組態推送到生產環境中,而不需進行驗證。您讓使用者和客戶面臨使用不正確的資料和服務。

建立此最佳實務的優勢:採用組態管理系統可減少進行和追蹤變更的工作量,以及手動程序造成的錯誤頻率。組態管理系統提供了管控、合規和法規需求方面的保證。

未建立此最佳實務時的曝險等級:

實作指引

組態管理系統可用來追蹤和實作應用程式與環境組態的變更。組態管理系統也可用來減少手動程序所造成的錯誤、讓組態變更可重複且可稽核,以及減少工作量。

在 AWS 上,可以使用 AWS Config 持續監控跨帳號和區域的 AWS 資源組態。它可協助您追蹤其組態歷史記錄、了解組態變更如何影響其他資源、以及針對預期或所需的組態進行稽核,方法是使用 AWS Config 規則AWS Config Conformance Packs

對於在 Amazon EC2 執行個體、AWS Lambda、容器、行動應用程式或 IoT 裝置上執行的應用程式中的動態組態,可以使用 AWS AppConfig 在整個環境中進行設定、驗證、部署和監控。

實作步驟

  1. 確定組態擁有者。

    1. 讓組態擁有者得知任何合規、管控或法規需求。

  2. 確定組態項目與交付成果。

    1. 組態項目是指受到 CI/CD 管線內部署影響的所有應用程式和環境組態。

    2. 交付成果包括成功條件、驗證及監控對象。

  3. 請根據您的業務需求和交付管道選取工具來進行組態管理。

  4. 請考慮針對重大組態變更進行加權部署 (例如 Canary 部署),以盡量減少錯誤組態造成的影響。

  5. 將組態管理整合到 CI/CD 管道中。

  6. 驗證所有推送的變更。

資源

相關的最佳實務:

相關文件:

相關影片: