AWS Config 工作原理 - AWS Config

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

AWS Config 工作原理

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

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

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

资源发现

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

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

在指定 AWS Config 要跟踪的资源类型之前,请检查按区域可用性划分的资源覆盖率,以查看您正在设置的 AWS 区域是否支持该资源类型 AWS Config。如果至少有一个区域支持某种资源类型,则即使您正在设置的区域不支持指定的资源类型 AWS Config,您也可以在支持的所有 AWS 区域中启用该资源类型的记录 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 小时内发生更改的资源的详细信息。每个文件均包含一种类型的资源,例如 Amazon EC2 实例或 Amazon EBS 卷。如果没有发生配置更改,则 AWS Config 不发送文件。

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

注意

AWS Config 仅将配置历史文件和配置快照传送到指定的 S3 存储桶; AWS 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 主题的通知端点,然后以编程方式处理通知中的信息。

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

"messageType": "ConfigurationHistoryDeliveryCompleted"

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

消息类型 描述
ComplianceChange通知 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 创建的配置项目的详细信息,还包括更改的类型。上述通知均在发生更改后的几分钟内传送,统称为配置流
OversizedConfigurationItemChange通知 当配置项变更通知超出了 Amazon SNS 允许的最大大小时,会传送此消息类型。消息中包括配置项摘要。除短信外,Amazon SNS 消息最多可以包含 256 KB 的文本数据,包括 XML、JSON 和未格式化的文本。您可以在指定的 Amazon S3 存储桶位置查看完整通知。
OversizedConfigurationItemChangeDeliveryFailed AWS Config 未能将超大配置项目变更通知传送到您的 Amazon S3 存储桶。

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

注意

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

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

控制对的访问权限 AWS Config

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

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