Amazon Config 工作原理 - Amazon Config
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Config 工作原理

Amazon Config 提供了您 Amazon 账户中 Amazon 资源配置的详细视图。这些信息包括资源之间的关联方式以及资源以前的配置方式,让您了解资源的配置和关系如何随着的时间的推移而更改。

Amazon 资源是您可以在其中使用的实体 Amazon,例如亚马逊弹性计算云 (EC2) 实例、亚马逊弹性区块存储 (EBS) 卷、安全组或亚马逊虚拟私有云 (VPC) 虚拟私有云 (VPC)。有关支持的 Amazon 资源的完整列表 Amazon Config,请参阅支持的资源类型

该图像描绘了 Amazon Config 工作原理的高级概述。它说明了从各种 Amazon 资源流向的信息流 Amazon Config,然后这些资源将配置数据存储在 Amazon S3 存储桶中。该过程涉及配置记录器、 Amazon Config 规则和交付渠道。目标是跟踪和管理 Amazon 环境中的资源配置。

资源发现

开启后 Amazon Config,它会首先发现您账户中存在的受支持 Amazon 资源,然后为每种资源生成一个配置项目

Amazon Config 当资源配置发生变化时,它还会生成配置项目,并且它会维护自启动配置记录器之时起的资源配置项目的历史记录。默认情况下, Amazon Config 会为该区域中所有支持的资源创建配置项目。如果您不 Amazon Config 想为所有支持的资源创建配置项目,则可以指定希望它跟踪的资源类型。

在指定 Amazon Config 要跟踪的资源类型之前,请检查按区域可用性划分的资源覆盖率,以查看您正在设置的 Amazon 区域是否支持该资源类型 Amazon Config。如果至少有一个区域支持某种资源类型,则即使您正在设置的区域不支持指定的资源类型 Amazon Config,您也可以在支持的所有 Amazon 区域中启用该资源类型的记录 Amazon Config。 Amazon Config

资源跟踪

Amazon Config 通过对账户中的每个资源调用 Describe 或 List API 调用,跟踪资源的所有更改。该服务使用相同的 API 调用来捕获所有相关资源的配置详细信息。

例如,从 VPC 安全组中移除出口规则会导致 Amazon Config 在该安全组上调用 Describe API 调用。 Amazon Config 然后在与安全组关联的所有实例上调用 Describe API 调用。安全组(资源)以及每个实例(相关资源)的更新后配置将被记录为配置项,并以配置流的形式传送到 Amazon 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 Config 可以通过以下渠道之一交付配置项目:

Amazon S3 存储桶

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

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

注意

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

Amazon SNS 主题

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

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

"messageType": "ConfigurationHistoryDeliveryCompleted"

通知可以是以下任何一种消息类型。

消息类型 描述
ComplianceChangeNotification Amazon Config 评估的资源的合规性类型已更改。合规性类型表示资源是否符合特定 Amazon Config 规则,它由消息中的ComplianceType密钥表示。消息中包含 newEvaluationResultoldEvaluationResult 对象,以便进行比较。
ConfigRulesEvaluationStarted Amazon Config 已开始根据指定资源评估您的规则。
ConfigurationSnapshotDeliveryStarted Amazon Config 已开始将配置快照传送到您的 Amazon S3 存储桶。Amazon S3 存储桶的名称是为消息中的 s3Bucket 键提供的。
ConfigurationSnapshotDeliveryCompleted Amazon Config 已成功将配置快照传送到您的 Amazon S3 存储桶。
ConfigurationSnapshotDeliveryFailed Amazon Config 未能将配置快照传送到您的 Amazon S3 存储桶。
ConfigurationHistoryDeliveryCompleted Amazon Config 已成功将配置历史记录传送到您的 Amazon S3 存储桶。
ConfigurationItemChangeNotification 某个资源的已被创建、删除或更改配置。此消息包括为此更改 Amazon Config 创建的配置项目的详细信息,还包括更改的类型。上述通知均在发生更改后的几分钟内传送,统称为配置流
OversizedConfigurationItemChangeNotification 当配置项变更通知超出了 Amazon SNS 允许的最大大小时,会传送此消息类型。消息中包括配置项摘要。除短信外,Amazon SNS 消息最多可以包含 256 KB 的文本数据,包括 XML、JSON 和未格式化的文本。您可以在指定的 Amazon S3 存储桶位置查看完整通知。
OversizedConfigurationItemChangeDeliveryFailed Amazon Config 未能将超大配置项目变更通知传送到您的 Amazon S3 存储桶。

有关示例通知,请参阅 Amazon Config 发送到 Amazon SNS 主题的通知。有关 Amazon SNS 的更多信息,请参阅 Amazon Simple Notification Service 开发人员指南

注意

为什么我看不到我最新的配置更改?

Amazon Config 通常会在检测到更改后立即或按您指定的频率记录对资源的配置更改。但是,这是尽力而为,有时可能需要更长的时间。如果问题在一段时间后仍然存在,请联系Amazon Web Services Support并提供亚马逊 CloudWatch支持的 Amazon Config 指标。有关这些指标的信息,请参阅Amazon Config 使用情况和成功指标

控制对的访问权限 Amazon Config

Amazon Identity and Access Management 是一项网络服务,可让 Amazon Web Services (Amazon) 客户管理用户和用户权限。

要提供访问权限,请为您的用户、组或角色添加权限: