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

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