AWS Config
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

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 可以通过以下通道传送配置项:

Amazon S3 存储桶

AWS Config 会跟踪您的 AWS 资源的配置更改,并将更新后的配置详细信息定期发送到您指定的 Amazon S3 存储桶。对于 AWS Config 记录的每个资源类型,它会每隔 6 小时发送一个配置历史记录文件。每个配置历史记录文件中都包含前 6 小时内发生更改的资源的详细信息。每个文件均包含一种类型的资源,例如 Amazon EC2 实例或 Amazon EBS 卷。如果配置未发生更改,AWS Config 则不会发送文件。

当您通过 AWS CLI 使用 deliver-config-snapshot 命令时,或当您通过 AWS Config API 使用 DeliverConfigSnapshot 操作时,AWS Config 会将一个配置快照 发送到您的 Amazon S3 存储桶。配置快照中包含 AWS Config 记录的、您的 AWS 账户中的所有资源的配置详细信息。配置历史记录文件和配置快照均采用 JSON 格式。

注意

AWS Config 只将配置历史记录文件和配置快照传输到指定的 S3 存储桶;AWS Config 不修改 S3 存储桶中对象的生命周期策略。您可以使用生命周期策略指定是删除对象还是将对象存档到 Amazon Glacier。有关更多信息,请参阅 Amazon Simple Storage Service 控制台用户指南 中的管理生命周期配置。您还可以查看将 Amazon S3 数据存档到 Amazon Glacier 博客文章。

Amazon SNS 主题

Amazon Simple Notification Service (Amazon SNS) 主题是一个通信渠道,Amazon SNS 使用它将消息 (或通知) 传送到订阅终端节点,例如电子邮箱地址或客户端 (如 Amazon Simple Queue Service 队列)。其他类型的 Amazon SNS 通知包括传送到手机应用程序上的推送通知消息、传送到支持短信服务功能的手机上的短信服务 (SMS) 通知以及 HTTP POST 请求。为了获得最佳效果,请使用 Amazon SQS 作为 SNS 主题的通知终端节点,然后以编程方式处理通知中的信息。

AWS Config 使用您指定的 Amazon SNS 主题向您发送通知。您收到的通知的类型由消息正文中的 messageType 键的值体现,如以下示例所示:

Copy
"messageType": "ConfigurationHistoryDeliveryCompleted"

通知可以是以下任一类型的消息:

ComplianceChangeNotification

AWS Config 评估的资源的合规性状态已更改。合规性类型表明资源是否符合特定 AWS Config 规则,由消息中的 ComplianceType 键体现。消息中包含 newEvaluationResultoldEvaluationResult 对象,以便进行比较。

ConfigRulesEvaluationStarted

AWS Config 开始针对指定的资源评估您的规则。

ConfigurationSnapshotDeliveryStarted

AWS Config 开始向您的 Amazon S3 存储桶传送配置快照。Amazon S3 存储桶的名称将为消息中的 s3Bucket 键提供值。

ConfigurationSnapshotDeliveryCompleted

AWS Config 已成功将配置快照传送到您的 Amazon S3 存储桶。

ConfigurationSnapshotDeliveryFailed

AWS Config 未能将配置快照传送到您的 Amazon S3 存储桶。

ConfigurationHistoryDeliveryCompleted

AWS Config 已成功将配置历史记录传送到您的 Amazon S3 存储桶。

ConfigurationItemChangeNotification

某个资源的已被创建、删除或更改配置。此消息包含 AWS Config 针对上述更改创建的配置项的详细信息,其中包括更改的类型。上述通知均在发生更改后的几分钟内传送,统称为配置流

OversizedConfigurationItemChangeNotification

当配置项变更通知超出了 Amazon SNS 允许的最大大小时会传送此消息类型。消息中包括配置项摘要。您可以在指定的 Amazon S3 存储桶位置查看完整通知。

OversizedConfigurationItemChangeDeliveryFailed

AWS Config 无法将过大配置项变更通知传送到您的 Amazon S3 存储桶。

有关示例通知,请参阅 AWS Config 发送的通知

有关 Amazon SNS 的更多信息,请参阅Amazon Simple Notification Service 开发人员指南

本页内容: