常见问题 - AWS Config

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

常见问题

中的间接关系AWS Config

什么是资源关系?

传AWS出到 Amazon Elastic Compute Cloud (Amazon EC2) 实例、AWS CloudFormation堆栈或 Amazon S3 存储桶。 AWS Config是一项服务,每当检测到记录的资源类型发生更改时,它都会通过创建配置项目 (CI) 来跟踪和监视资源。例如,当设置AWS Config为跟踪 Amazon EC2 实例时,它会在每次创建、更新或删除实例时创建一个配置项目。创建的每个配置项目AWS Config都有多个字段,包括accountIdarn(Amazon 资源名称)awsRegionconfigurationtags、和relationships。CI 的关系字段AWS Config允许显示资源是如何相互关联的。例如,关系可能表明一个带有 ID 的 Amazon EBS 卷连接到一个带有 IDvol-123ab45d 的 Amazon EC2 实例i-a1b2c3d4,该实例与安全组相关联sg-ef678hk

与资源的直接和间接关系是什么?

AWS Config从配置字段派生出大多数资源类型的关系,这些关系称为 “直接” 关系。直接关系是资源 (A) 和另一个资源 (B) 之间的单向连接 (A→B),通常从资源 (A) 的描述 API 响应中获得。过去,对于AWS Config最初支持的某些资源类型,它还从其他资源的配置中捕获关系,从而创建双向(B→A)的 “间接” 关系。例如,Amazon EC2 实例与其安全组之间的关系是直接的,因为安全组包含在 Amazon EC2 实例的描述 API 响应中。另一方面,安全组与 Amazon EC2 实例之间的关系是间接的,因为描述安全组不会返回与其关联的实例的任何信息。因此,当检测到资源配置更改时,AWS Config不仅会为该资源创建 CI,还会为任何相关资源(包括具有间接关系的资源)生成 CI。例如,当AWS Config检测到 Amazon EC2 实例的变化时,它会为该实例创建 CI,为与该实例关联的安全组创建 CI。

AWS Config支持哪些间接关系?

支持以下间接资源关系AWS Config。

资源类型 与资源类型间接相关
AWS::EC2::RouteTable AWS::EC2::Instance, AWS::EC2::NetworkInterface, AWS::EC2::Subnet, AWS::EC2::VPNGateway, AWS::EC2::VPC
AWS::EC2::EIP AWS::EC2::Instance, AWS::EC2::NetworkInterface
AWS::EC2::Instance AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::NetworkInterface AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::NetworkACL AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::VPNConnection AWS::EC2::VPNGateway, AWS::EC2::CustomerGateway
AWS::EC2::InternetGateway AWS::EC2::VPC
AWS::EC2::SecurityGroup AWS::EC2::VPC
AWS::EC2::Subnet AWS::EC2::VPC
AWS::EC2::VPNGateway AWS::EC2::VPC

由于直接和间接关系,配置项是如何创建的?

对于资源之间的直接关系 (A→B),对资源 B 的任何配置更改也将启动资源 A 的配置项目 (CI)。同样,对于间接关系 (B→A),当资源 A 的配置发生更改时,将为资源 B 生成一个新的 CI。例如,Amazon EC2 实例到安全组是直接关系,因此对安全组的任何配置更改都会为安全组生成 CI,为 EC2 实例生成 CI。同样,安全组与 Amazon EC2 实例是一种间接关系,因此对 EC2 实例的任何配置更改都会为 Amazon EC2 实例生成 CI,为安全组生成 CI。

由于间接关系而生成的配置项有哪些?

以下是由于间接资源关系而生成的其他配置项目 (CI)。

更改资源类型 生成资源类型
AWS::EC2::RouteTable AWS::EC2::InstanceAWS::EC2::NetworkInterfaceAWS::EC2::SubnetAWS::EC2::VPNGatewayAWS::EC2::VPC
AWS::EC2::EIP AWS::EC2::Instance, AWS::EC2::NetworkInterface
AWS::EC2::Instance AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::NetworkInterface AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::NetworkACL AWS::EC2::Subnet, AWS::EC2::VPC
AWS::EC2::VPNConnection AWS::EC2::VPNGateway, AWS::EC2::CustomerGateway
AWS::EC2::InternetGateway AWS::EC2::VPC
AWS::EC2::SecurityGroup AWS::EC2::VPC
AWS::EC2::Subnet AWS::EC2::VPC
AWS::EC2::VPNGateway AWS::EC2::VPC

如何检索与间接关系相关的配置数据?

可以在AWS Config高级查询中运行结构化查询语言 (SQL) 查询来检索与间接资源关系相关的配置数据。例如,如果您想检索与安全组相关的 Amazon EC2 实例列表,请使用以下查询:

SELECT resourceId, resourceType WHERE resourceType ='AWS::EC2::Instance' AND relationships.resourceId = 'sg-234213'