常见问题
看不到我最新的配置更改
我可以立即查看我的配置更改吗?
Amazon Config 通常会在检测到更改后立即或按照您指定的频率记录您的资源配置更改。但是,这需要尽最大努力,有时可能需要更长的时间。如果问题在一段时间后仍然存在,请联系 Amazon Web Services 支持
Amazon Config 中的间接关系
主题
什么是资源关系?
在 Amazon 中,资源是指可管理的实体,例如 Amazon Elastic Compute Cloud(Amazon EC2)实例、Amazon CloudFormation 堆栈或 Amazon S3 存储桶。Amazon Config 是一项服务,它会在每次检测到记录的资源类型更改时,通过创建配置项(CI)跟踪和监控资源,或者会以您设置的记录频率进行跟踪和监控。例如,将 Amazon Config 设置为跟踪 Amazon EC2 实例时,它会在每次创建、更新或删除实例时创建配置项。Amazon Config 创建的每个配置项都有多个字段,包括、accountIdarn(Amazon 资源名称)、awsRegion、configuration、tags 和 relationships。CI 的关系字段可让 Amazon Config 显示资源之间是如何相互关联的。例如,关系可能表示 ID 为 vol-123ab45d 的 Amazon EBS 卷已附加到 ID 为 i-a1b2c3d4 且与安全组 sg-ef678hk 关联的 Amazon EC2 实例。
什么是与资源的直接关系和间接关系?
Amazon Config 从配置字段中推导出大多数资源类型的关系,这些关系称为“直接”关系。直接关系是一个资源(A)和另一个资源(B)之间的单向连接(A→B),通常从资源(A)的描述 API 响应中获得。过去,对于 Amazon Config 最初支持的某些资源类型,它还会从其他资源的配置中捕获关系,从而创建双向(B→A)的“间接”关系。例如,Amazon EC2 实例与其安全组之间的关系是直接关系,因为安全组包含在 Amazon EC2 实例的描述 API 响应中。另一方面,安全组和 Amazon EC2 实例之间的关系是间接关系,因为描述安全组不会返回与其关联的实例的任何信息。
例如,间接关系有助于回答以下问题:
当 NAT 网关出现故障时,私有子网中的哪些 EC2 实例会受到影响?
如果修改了路由表,哪个 EC2 实例可能会遇到连接问题?
哪个安全组从未使用过?
附加到 EC2 实例的哪个辅助 ENI 与安全组相关联?
因此,当检测到资源配置更改时,Amazon Config 不仅会为该资源创建 CI,还会为任何相关资源(包括具有间接关系的资源)生成 CI。例如,当 Amazon Config 检测到 Amazon EC2 实例中的更改时,它会为该实例创建一个 CI,并为与该实例关联的安全组创建一个 CI。
Amazon Config 支持哪些间接关系?
Amazon 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 |
哪些场景使用间接关系?
以下是使用间接关系的 Amazon 服务和相应服务的功能。
| Amazon 功能 | 场景 |
|---|---|
| Amazon Config 托管规则 |
ec2-security-group-attached-to-eni 规则检查弹性网络接口(ENI)是否关联了非默认安全组。 如果没有间接关系,则需要创建自定义规则来检查非默认安全组是否已附加到 ENI。 |
| Amazon Firewall Manager |
使用情况审计安全组策略使用间接关系来了解上次使用安全组的时间。 如果没有间接关系,则需要同时建立安全组并将其关联到新资源,以避免对 Amazon Firewall Manager 触发规则。 |
| 默认资源 |
如果没有间接关系,您最多需要等待 12 小时,自动基准化功能才能记录默认资源的变更。 |
由于直接关系和间接关系,配置项是如何创建的?
对于资源之间的直接关系(A→B),对资源 B 的任何配置更改也将启动资源 A 的配置项(CI)。同样,对于间接关系(B→A),当资源 A 发生配置更改时,将为资源 B 生成一个新的 CI。例如,Amazon EC2 实例与安全组是直接关系,因此对安全组的任何配置更改都将为安全组生成一个 CI,并为 EC2 实例生成一个 CI。同样,安全组与 Amazon EC2 实例是间接关系,因此对 EC2 实例的任何配置更改都将为 Amazon EC2 实例生成一个 CI,并为安全组生成一个 CI。
由于间接关系而生成的配置项有哪些?
以下是由于间接资源关系而生成的其他配置项(CI)。
| 以下资源类型的配置更改 | 将为以下资源类型生成 CI |
|---|---|
AWS::EC2::RouteTable |
AWS::EC2::Instance、AWS::EC2::NetworkInterfaceAWS::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 |
如何禁用间接关系?
完成以下步骤以删除关系:
使用您的账户或使用管理账户为多个账户开立 Amazon Web Services 支持 案例。
选择技术作为支持类型。
对于“服务”,选择 Amazon Config
在“类别”中,选择其他。
选择适当的严重级别。
在主题行中输入禁用间接关系。
在描述中:
确认您已阅读此常见问题解答并想要继续。
列出您要禁用间接关系的区域。
如果通过管理账户提交,请包括账户 ID 及其关联区域。
对于多个账户,您可以附加包含账户 ID 和区域的 CSV 文件。
Amazon Web Services 支持 工程师将提供后续步骤和状态更新。建议您维护一份禁用间接关系的 Amazon 账户和区域的列表。对于新账户,请提交新 Amazon Web Services 支持 案例以禁用间接关系。
如何检索与间接关系相关的配置数据?
您可以在 Amazon Config 高级查询中运行结构化查询语言(SQL)查询,以检索与间接资源关系相关的配置数据。例如,如果您想检索与安全组相关的 Amazon EC2 实例列表,请使用以下查询:
SELECT resourceId, resourceType WHERE resourceType ='AWS::EC2::Instance' AND relationships.resourceId = 'sg-234213'