OPS05-BP03 使用組態管理系統
使用組態管理系統進行和追蹤組態變更。這些系統可減少由手動程序引起的錯誤,並減少部署變更的工作量。
靜態組態管理會在初始化資源時設定值,這些值預期會在資源的整個生命週期內保持一致。部分範例包括在執行個體上設定 Web 或應用程式伺服器的組態,或定義 AWS 服務的組態 (在
AWS 管理主控台 內) 或透過
AWS CLI
動態組態管理會在初始化時設定值,這些值可能或是預期會在資源的整個生命週期內保持一致。例如,您可以設定功能切換,透過組態變更啟動程式碼中的功能,或者在事故期間變更日誌詳細資訊等級以擷取更多資料,然後在事故後改回來,藉此消除目前不需要的日誌及相關費用。
在 AWS 上,您可以使用 AWS Config 跨帳戶和區域持續監控 AWS 資源組態。它可協助您追蹤其組態歷史記錄、了解組態變更如何影響其他資源、以及針對預期或所需的組態進行稽核,方法是使用 AWS Config 規則 和 AWS Config 合規套件。
如果您在 Amazon EC2 執行個體、AWS Lambda、容器、行動應用程式或 IoT 裝置上執行的應用程式中具有動態組態,則可以使用 AWS AppConfig 在您的環境中設定、驗證、部署和監控這些組態。
在 AWS 上,您可以使用
AWS 開發人員工具
預期成果: 您會在持續整合、持續交付 (CI/CD) 管道中進行設定、驗證和部署。您會進行監控,以確認組態正確無誤。這會將終端使用者和客戶受到的任何負面影響降到最低。
常見的反模式:
-
您手動更新整個機群的 Web 伺服器組態,但由於更新錯誤,導致多部伺服器無法回應。
-
您在數小時內手動更新應用程式伺服器機群。變更期間的組態不一致會導致未預期的行為。
-
某人已更新您的安全群組,無法再存取您的 Web 伺服器。若不知道進行了哪些變更,您就需要花大量時間來調查問題,復原時間也會跟著拉長。
-
您可以透過 CI/CD 將生產前組態推送到生產環境中,而不需進行驗證。您讓使用者和客戶面臨使用不正確的資料和服務。
建立此最佳實務的優勢: 採用組態管理系統可減少進行和追蹤變更的工作量,以及手動程序造成的錯誤頻率。組態管理系統提供了管控、合規和法規需求方面的保證。
未建立此最佳實務時的曝險等級: 中
實作指引
組態管理系統可用來追蹤和實作應用程式與環境組態的變更。組態管理系統也可用來減少手動程序所造成的錯誤、讓組態變更可重複且可稽核,以及減少工作量。
實作步驟
-
確定組態擁有者。
-
讓組態擁有者得知任何合規、管控或法規需求。
-
-
確定組態項目與交付成果。
-
組態項目是指受到 CI/CD 管線內部署影響的所有應用程式和環境組態。
-
交付成果包括成功條件、驗證及監控對象。
-
-
請根據您的業務需求和交付管道選取工具來進行組態管理。
-
請考慮針對重大組態變更進行加權部署 (例如金絲雀部署),以盡量減少錯誤組態造成的影響。
-
將組態管理整合到 CI/CD 管道中。
-
驗證所有推送的變更。
資源
相關的最佳實務:
相關文件:
相關影片: