

# OPS05-BP03 使用配置管理系统
<a name="ops_dev_integ_conf_mgmt_sys"></a>

 使用配置管理系统来实现和跟踪配置更改。这些系统可以减少手动过程引起的错误，并减少部署更改的工作量。 

 静态配置管理在初始化资源时设置的值，这些值在资源的生命周期内预期保持一致。这样的例子包括为实例上的 Web 或应用程序服务器设置配置，或者定义 AWS 服务的配置（在 [AWS 管理控制台](https://docs.aws.amazon.com/awsconsolehelpdocs/index.html) 内或者通过 [AWS CLI](https://aws.amazon.com/cli/)）。 

 动态配置管理在初始化时设置值，这些值在资源的生命周期内可能或预期会发生变化。例如，您可以设置一个功能切换，通过配置更改在代码中启用功能，或者在意外事件期间更改日志详细级别以捕获更多数据，然后在意外事件完成后更改回来，避免再不必要的日志记录及其相关费用。 

 如果您在实例、容器、无服务器函数或设备上运行的应用程序具有动态配置，您可以使用 [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 在您的环境中管理和部署它们。 

 在 AWS 上，您可以使用 [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 跨账户和区域持续监控 AWS 资源 [配置](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html)。这使您可以跟踪其配置历史记录，了解配置更改可能如何影响其他资源，并使用 [AWS Config 规则](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) 和 [AWS Config 合规包根据预期或所需的配置审计它们。](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html). 

 在 AWS 中，您可以使用像 [AWS 开发人员工具](https://aws.amazon.com/products/developer-tools/) （例如，AWS CodeCommit、 [AWS CodeBuild](https://aws.amazon.com/codebuild/)， [AWS CodePipeline](https://aws.amazon.com/codepipeline/)， [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)和 [AWS CodeStar](https://aws.amazon.com/codestar/)）这样的服务来构建持续集成/持续部署（CI/CD）管道。 

 当计划的重要业务、运营活动或事件受到更改实施的影响时，建立更改日历并进行跟踪。围绕这些计划来调整活动以管理风险。 [AWS Systems Manager 变更日历](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html) 提供了一种机制，可以记录更改开始或结束的时间块及更改原因，并与 [其他](https://docs.aws.amazon.com/systems-manager/latest/userguide/change-calendar-share.html) AWS 账户分享该信息。AWS Systems Manager Automation 脚本可以配置为符合更改日历状态。 

 [AWS Systems Manager 维护时段](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) 可用于安排在指定的时间执行 AWS SSM Run Command 或 Automation 脚本、AWS Lambda 调用或 AWS Step Functions 活动。在更改日历中标记这些活动，以便将其包含在您的评估中。 

 **常见反模式：** 
+  您手动更新整个队列中的 Web 服务器配置，由于更新错误，许多服务器变得没有响应。 
+  手动更新应用程序服务器队列需要花费很长时间。在变更过程中，如果配置不一致会导致意外行为发生。 
+  有人更新了您的安全组，您的 Web 服务器无法访问了。如果不知道发生了哪些变更，您需要花费大量时间来调查问题，导致恢复时间延长。 

 **建立此最佳实践的好处：** 采用配置管理系统可以减少更改及对其进行跟踪的工作量，还可以降低手动程序导致错误的频率。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 中 

## 实施指导
<a name="implementation-guidance"></a>
+  使用配置管理系统：使用配置管理系统来跟踪并实施更改，以便减少手动过程引起的错误，并减少工作量。 
  +  [基础设施配置管理](https://aws.amazon.com/answers/configuration-management/aws-infrastructure-configuration-management/) 
  +  [AWS Config](https://aws.amazon.com/config/) 
  +  [什么是 AWS Config？](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
  +  [AWS CloudFormation 简介](https://youtu.be/Omppm_YUG2g) 
  +  [什么是 AWS CloudFormation？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  [AWS OpsWorks](https://aws.amazon.com/opsworks/) 
  +  [什么是 AWS OpsWorks？](https://docs.aws.amazon.com/opsworks/latest/userguide/welcome.html) 
  +  [AWS Elastic Beanstalk 简介](https://youtu.be/SrwxAScdyT0) 
  +  [什么是 AWS Elastic Beanstalk？](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 

## 资源
<a name="resources"></a>

 **相关文档：** 
+  [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 
+  [AWS 开发人员工具](https://aws.amazon.com/products/developer-tools/) 
+  [AWS OpsWorks](https://aws.amazon.com/opsworks/) 
+  [AWS Systems Manager 变更日历](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html) 
+  [AWS Systems Manager 维护时段来自动执行修补托管系统的过程和安排修补活动](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) 
+  [基础设施配置管理](https://aws.amazon.com/answers/configuration-management/aws-infrastructure-configuration-management/) 
+  [什么是 AWS CloudFormation？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [什么是 AWS Config？](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
+  [什么是 AWS Elastic Beanstalk？](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 
+  [什么是 AWS OpsWorks？](https://docs.aws.amazon.com/opsworks/latest/userguide/welcome.html) 

 **相关视频：** 
+  [AWS CloudFormation 简介](https://youtu.be/Omppm_YUG2g) 
+  [AWS Elastic Beanstalk 简介](https://youtu.be/SrwxAScdyT0) 