本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Config 的工作原理
打开 AWS Config 之后,它会先查找您账户中受支持的 AWS 资源,并为每个资源生成一个配置项。
AWS Config 还会在某个资源的配置更改时生成配置项,并在您启动配置记录器后,保留配置项的历史记录。默认情况下,AWS Config 会为区域内每个支持的资源创建配置项。如果您不希望 AWS Config 为所有支持的资源都创建配置项,您可以指定希望其跟踪的资源类型。
AWS Config 可以针对您账户中的每个资源调用 Describe 或 List API,从而记录您的资源的所有更改。该服务使用相同的 API 调用来捕获所有相关资源的配置详细信息。
例如,从 VPC 安全组删除出站规则将导致 AWS Config 对安全组调用 Describe API。之后,AWS Config 会对与该安全组关联的所有实例调用 Describe API。安全组(资源)和每个实例(相关资源)的更新配置将记录为配置项目,并以配置流形式传送到 Amazon Simple Storage Service (Amazon S3) 存储桶。
AWS Config 还会跟踪不是由 API 发起的配置更改。AWS Config 会定期检查资源配置,并针对已更改的配置生成配置项。
如果您使用的是 AWS Config 规则,则 AWS Config 会持续评估您的 AWS 资源是否具备所需设置。根据具体规则,AWS Config 会在配置更改时评估您的资源或定期进行评估。每个规则都与一个 AWS Lambda 函数关联,其中包含规则的评估逻辑。当 AWS Config 评估您的资源时,它会调用规则的 AWS Lambda 函数。该函数会返回被评估资源的合规性状态。如果某个资源不符合某项规则的条件,那么 AWS Config 会将该资源和规则标记为不合规。当资源的合规性状态发生变化时,AWS Config会向您的 Amazon SNS 主题发送通知。下图显示了AWS Config工作原理的概述。

传送配置项
AWS Config 可以通过以下通道传送配置项:
Amazon S3 存储桶
AWS Config跟踪AWS资源配置的变化,并定期将更新的配置详细信息发送到您指定的 Amazon S3 存储桶。对于 AWS Config 记录的每个资源类型,它会每隔 6 小时发送一个配置历史记录文件。每个配置历史记录文件中都包含前 6 小时内发生更改的资源的详细信息。每个文件都包含一种类型的资源,例如 Amazon EC2 实例或 Amazon EBS 卷。如果配置未发生更改,AWS Config 则不会发送文件。
AWS Config当您在 CLI 中使用deliver-config-snapshot命令或在AWS Config APAWS I 中使用DeliverConfigSnapshot操作时,会向您的 Amazon S3 存储桶发送配置快照。配置快照包含 AWS Config 在您的 AWS 账户中记录的所有资源的配置详细信息。配置历史记录文件和配置快照均采用 JSON 格式。
注意
AWS Config 仅将配置历史记录文件和配置快照传输到指定的 S3 存储桶;AWS Config 不会修改 S3 存储桶中对象的生命周期策略。您可以使用生命周期策略来指定是要删除对象还是要将对象存档到 Amazon S3 Glacier。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的管理生命周期配置。您还可以查看将 Amazon S3 数据存档到 S3 Glacier
Amazon SNS 主题
亚马逊Simple Notification Service (Amazon SNS) 主题是 Amazon SNS 用来向订阅终端节点(例如电子邮件地址或客户端)传送消息(或通知)的通信渠道。其他类型的 Amazon SNS 通知包括向手机上的应用程序推送通知消息、向支持短信的手机和智能手机发送的短信服务 (SMS) 通知以及 HTTP POST 请求。为获得最佳结果,请使用 Amazon SQS 作为 SNS 主题的通知终端节点,然后以编程方式处理通知中的信息。
AWS Config使用您指定的 Amazon SNS 主题向您发送通知。您收到的通知的类型由消息正文中的 messageType
键的值体现,如以下示例所示:
"messageType": "ConfigurationHistoryDeliveryCompleted"
通知可以是以下任一类型的消息:
ComplianceChangeNotification
-
AWS Config 评估的资源的合规性状态已更改。合规性类型指示资源是否符合特定的 AWS Config 规则,并且它由消息中的
ComplianceType
键表示。消息中包含newEvaluationResult
和oldEvaluationResult
对象,以便进行比较。 ConfigRulesEvaluationStarted
-
AWS Config 开始针对指定的资源评估您的规则。
ConfigurationSnapshotDeliveryStarted
-
AWS Config已开始将配置快照传送至 Simple StAmazon S3 ervice 在消息中为
s3Bucket
密钥提供的 Amazon S3 imple Storage Service 的名称。 ConfigurationSnapshotDeliveryCompleted
-
AWS Config已成功将配置快照传送至 Simple StAmazon S3 ervice
ConfigurationSnapshotDeliveryFailed
-
AWS Config未能将配置快照传送至 Amazon Simple Storage Servic
ConfigurationHistoryDeliveryCompleted
-
AWS Config已成功将配置历史记录传送至 Simple StAmazon S3 ervice
ConfigurationItemChangeNotification
-
某个资源的已被创建、删除或更改配置。此消息包含 AWS Config 针对上述更改创建的配置项的详细信息,其中包括更改的类型。上述通知均在发生更改后的几分钟内传送,统称为配置流。
OversizedConfigurationItemChangeNotification
-
当配置项目变更通知超过 Amazon SNS 允许的最大大小时,就会传送此类型的消息。消息中包括配置项摘要。除短信外,Amazon SNS 消息最多可包含 256 KB 的文本数据,包括 XML、JSON 和未格式化的文本。您可以在指定的 Amazon Simple Storage Service 位置查看完整通知。
OversizedConfigurationItemChangeDeliveryFailed
-
AWS Config无法将超大配置项目更改通知传送至 Simple Storage Service(Amazon S3
有关示例通知,请参阅 AWS Config 发送到 Amazon SNS 主题的通知。
有关 Amazon SNS 的更多信息,请参阅 Amazon Simple Notification Service 开发人员指南。