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

概念

Amazon Config 提供了与您的 Amazon 账户关联的资源的详细视图,包括它们是如何配置的、它们之间是如何相互关联的,以及配置及其关系是如何随时间变化的。让我们详细了解一下 Amazon Config 的概念。

Amazon Config

了解 Amazon Config 的基本组件将帮助您跟踪资源清单以及更改并评估 Amazon 资源的配置。

Amazon 资源

Amazon 资源 是您使用 Amazon Web Services Management Console、Amazon Command Line Interface (CLI)、Amazon 开发工具包或 Amazon 合作伙伴工具创建和管理的实体。Amazon 资源的示例包括 Amazon EC2 实例、安全组、Amazon VPC 和 Amazon Elastic Block Store。Amazon Config 使用其唯一标识符(例如,资源 ID 或 Amazon 资源名称 (ARN))来参考每个资源。有关详细信息,请参阅 支持的资源类型

配置历史

配置历史记录是指定资源在某个时间段的配置项集合。配置历史记录包含多种信息,例如资源首次创建的时间、过去一个月的资源配置情况以及昨天上午 9 点发生了哪些配置更改等。配置历史记录具有多种格式供您使用。Amazon Config 可以将正在记录的各种资源类型的配置历史记录文件自动传输到您指定的 Amazon S3 存储桶。您可以在 Amazon Config 控制台中选择一项资源,并使用时间线浏览该资源以前的所有配置项。此外,您还可以从 API 访问资源的历史配置项。

有关更多信息,请参阅查看 Amazon 资源配置和历史记录以及管理 Amazon 资源配置和历史记录

配置项

配置项 代表您账户中受支持的 Amazon 资源在特定时间点具备的各种属性。配置项的组成部分包括元数据、属性、关系、当前配置以及相关事件。只要检测到正在记录的资源类型发生变更,Amazon Config 就会创建配置项。例如,如果 Amazon Config 正在记录 Amazon S3 存储桶,则只要创建、更新或删除存储桶,Amazon Config 就会创建配置项。

有关更多信息,请参阅Components of a Configuration Item

配置记录器

配置记录器以配置项目的形式将受支持资源的配置存储在您的账户中。您必须先创建并启动配置记录器,然后才能开始记录。您可以随时停止或重启配置记录器。有关更多信息,请参阅管理配置记录器

默认情况下,配置记录器会记录 Amazon Config 运行的区域内所有受支持的资源。您可以创建一个自定义配置记录器,仅记录您指定的资源类型。有关更多信息,请参阅选择 Amazon Config 所记录的资源

如果您使用 Amazon Web Services Management Console或 CLI 打开服务,Amazon Config 会自动为您创建并启动一个配置记录器。

配置快照

配置快照是您账户中受支持资源的配置项的集合。配置快照可以完整展示被记录的资源及其配置的相关信息。配置快照是验证您的配置的有效工具。例如,您可以定期检查配置快照,以便找出配置错误的资源或可能不应存在的资源。配置快照具有多种格式。您可以将配置快照传输到您指定的 Amazon Simple Storage Service (Amazon S3) 存储桶。此外,您可以在 Amazon Config 控制台中选择一个时间点,并按照资源之间的关系浏览不同配置项的快照。

配置流

配置流是一个自动更新的列表,列出了 Amazon Config 正在记录的资源的所有配置项。每当资源被创建、修改或删除时,Amazon Config 会创建一条配置项并将其添加到配置流。配置流使用您选择的 Amazon Simple Notification Service (Amazon SNS) 主题工作。配置流可以帮助您随时观察配置更改,以便发现潜在的问题、在特定资源发生更改时生成通知,或更新需要反映您的 Amazon 资源配置的外部系统。

资源关系

Amazon Config 会查找您账户中的 Amazon 资源,然后创建 Amazon 资源关系图。例如,关系可能包括附加到与安全组 sg-ef678hk 关联的 Amazon EC2 实例 i-a1b2c3d4 的 Amazon EBS 卷 vol-123ab45d

有关更多信息,请参阅支持的资源类型

Amazon Config 规则

Amazon Config 规则表示特定 Amazon 资源或整个 Amazon 账户所需的配置设置。如果某个资源未通过规则检查,Amazon Config 会将该资源和规则标记为不合规,并且 Amazon Config 会通过 Amazon SNS 通知您。以下是 Amazon Config 规则可能的评估结果:

  • COMPLIANT - 规则通过了合规性检查的条件。

  • NON_COMPLIANT - 规则未通过合规性检查的条件。

  • ERROR - 其中一个必选/可选参数无效,或者类型不正确,或者格式不正确。

  • NOT_APPLICABLE - 用于筛选出无法应用规则逻辑的资源。例如,alb-desync-mode-check 规则仅检查应用程序负载均衡器,而忽略网络负载均衡器和网关负载均衡器。

有两种类型的规则:Amazon Config 托管规则和 Amazon Config 自定义规则。有关规则定义和规则元数据的结构的更多信息,请参阅 Amazon Config 规则的组成部分

Amazon Config 托管规则

Amazon Config 托管规则是由 Amazon Config 创建的预定义、可自定义的规则。有关托管规则的列表,请参阅 Amazon Config 托管规则列表

Amazon Config 自定义规则

Amazon Config 自定义规则是您从头开始创建的规则。有两种创建 Amazon Config 自定义规则的方法:使用 Lambda 函数(《Amazon Lambda 开发人员指南》)以及使用策略即代码语言 Guard(Guard GitHub 存储库)。使用 Amazon Lambda 创建的 Amazon Config 自定义规则称为 Amazon Config 自定义 Lambda 规则,使用 Guard 创建的 Amazon Config 自定义规则称为 Amazon Config 自定义策略规则

有关展示如何创建 Amazon Config 自定义策略规则的演练,请参阅创建 Amazon Config 自定义策略规则。有关展示如何创建 Amazon Config 自定义 Lambda 规则的演练,请参阅创建 Amazon Config 自定义 Lambda 规则

触发器类型

将规则添加到账户后,Amazon Config 会将您的资源与规则的条件进行比较。完成这一初始评估后,Amazon Config 会在每次触发评估时继续执行评估。规则中会定义评估触发器,可以包括以下类型:

配置更改

当存在与规则范围匹配的资源,并且资源配置发生变化时,Amazon Config 会对规则进行评估。在 Amazon Config 发送配置项更改通知后,评估便会运行。

通过定义规则的范围来选择哪些资源启动评估。范围可以包括:

  • 一个或多个资源类型

  • 资源类型和资源 ID 的组合

  • 标签键和值的组合

  • 当创建、更新或删除任何记录的资源时

Amazon Config 在检测到与规则的范围匹配的资源发生更改时运行评估。您可以使用范围来定义哪些资源启动评估。

定期

Amazon Config 会按照您选择的频率运行规则评估(例如,每 24 小时)。

混合

有些规则既有配置更改也有定期触发器。对于这些规则,Amazon Config 会在检测到配置更改时以及按照您指定的频率评估您的资源。

评估模式

Amazon Config 规则有两种评估模式:

主动

使用主动评估在资源部署之前对其进行评估。这使您可以根据您所在区域的账户中的主动规则集,评估一组资源属性(如果用于定义 Amazon 资源)是 COMPLIANT 还是 NON_COMPLIANT。

有关更多信息,请参阅评估模式。有关支持主动评估的托管规则列表,请参阅按评估模式列出的 Amazon Config 托管规则列表

注意

主动规则不会修复标记为 NON_COMPLIANT 的资源,也不会阻止部署这些资源。

侦查

使用侦查评估来评估已部署的资源。这允许您评估现有资源的配置设置。

管理 Amazon Config

Amazon Config 控制台

您可以使用 Amazon Config 控制台管理服务。此控制台提供了用于执行许多 Amazon Config 任务的用户界面,这些任务包括:

  • 为记录指定 Amazon 资源的类型。

  • 配置要记录的资源,包括:

    • 选择 Simple Storage Service(Amazon S3)存储桶。

    • 选择 Amazon SNS 主题。

    • 创建 Amazon Config 角色。

  • 创建表示特定 Amazon 资源或整个 Amazon 账户所需的配置设置的托管规则和自定义规则。

  • 创建和管理配置聚合器以跨多个账户和地区聚合数据。

  • 查看受支持资源的当前配置的快照。

  • 查看 Amazon 资源之间的关系。

有关 Amazon Web Services Management Console 的更多信息,请参阅 Amazon Web Services Management Console

Amazon Config CLI

Amazon Command Line Interface 是一个可用于从命令行与 Amazon Config 交互的统一工具。有关更多信息,请参阅 Amazon Command Line Interface 用户指南。有关 Amazon Config CLI 命令的完整列表,请参阅可用命令

Amazon Config API

除了控制台和 CLI 之外,您还可以使用 Amazon Config RESTful API 来直接对 Amazon Config 进行编程。有关详细信息,请参阅 Amazon Config API 参考

Amazon 软件开发工具包

作为使用 Amazon Config API 的替代方案,您可以使用某个 Amazon 软件开发工具包。每个软件开发工具包均包含适用于各种编程语言和平台的库和示例代码。这些开发工具包提供了一种简便方法,以使用编程方式访问 Amazon Config。例如,您可以使用开发工具包以加密方式对请求进行签名,管理错误并自动重试请求。有关更多信息,请参阅用于 Amazon Web Services 的工具页面。

控制对 Amazon Config 的访问权限

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

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

合作伙伴解决方案

Amazon 与日志记录和分析方面的第三方专家协作以提供利用 Amazon Config 输出的解决方案。有关更多信息,请访问位于 Amazon Config 的 Amazon Config 详细信息页面。