算法 - 在 VPC 中推导跨资源关系的关键参数是什么?

Algorithm - What is the critical parameter to derive relationships across resources in VPC?

目标是可视化 AWS 账户(可能有多个 VPC)内的资源关系。

这将有助于日常操作。例如:修改安全组后受影响的资源


每个资源都在 AWS 云中分配 ARN

以下是资源之间的一些示例关系:

路由tablehas-many与子网的关系

NACL has-many 与子网的关系

可用区has-many与子网的关系

IAM 资源has-many 区域

has-many 类似于 compose relation

安全组与 VPC 中的任何资源有 association 关系

NACL 仅与子网有 association 关系

我们还有 VPC flow logs 来寻找关系


使用 AWS SDK,

1)

对于本地网络,我们获取 IP 范围并发送 ICMP 请求以验证 IP 范围内是否存在设备,然后我们发送 snmp 查询以将设备分类为(windows/linux/router/gateway 等...)

如何找到AWS账户内分配的资源列表?资源如何分类?

2)

需要从 AWS 资源(IAM、VPC、子网、RTable、NACL、IGW 等...)查询哪些参数有助于创建 AWS 账户内资源的关系视图?

您不必在您的应用程序中自行将资源拼接在一起。您可以使用 aws 的 ressourcegrouptagging api。在您的 aws 控制台中查看资源组。在那里你可以根据标签对事物进行分组。然后,您可以标记组本身。使用 boto3 python 库请求将为您提供大量信息。阅读有关 boto3 的信息,它非常庞大!另一件可能让您感兴趣的事情是 "aws config".. 您可以在那里查看合规性、配置历史记录、资源关系和许多其他内容!

另外,查看 aws cloudwatch 进行健康监控