是否有一种方法可以列出AWS中的所有资源?所有地区,所有资源。例如列出所有EC2实例,所有vpc, API网关中的所有API等等…我想列出我账户的所有资源,因为我现在很难找到我可以放弃的资源。


当前回答

另一个开源工具是Cloud Query https://docs.cloudquery.io/

其他回答

是的。使用标签编辑器。

将“区域”设置为“所有区域”,“资源类型”设置为“所有支持的资源类型”,然后单击“搜索资源”。

您可以在AWS配置控制台中使用查询。(地区可能因您而异)https://console.aws.amazon.com/config/home?region=us-east-1#/resources/query

查询将看起来像。

SELECT
  resourceId,
  resourceName,
  resourceType,
  relationships
WHERE
relationships.resourceId = 'vpc-#######'

下面是进一步的文档。

https://docs.aws.amazon.com/config/latest/developerguide/query-using-sql-editor-console.html

这是一篇很好的文章,列出了在AWS云中列出资源的工具。 https://link.medium.com/tZbs8eLyohb

其中,CloudYali https://www.cloudyali.io是新推出的服务。它显示了来自不同账户、地区、现在和过去的所有云资源,都可以在一个中心位置使用。

您可以通过AWS Config(以及从CLI for Config)运行高级查询,这将列出所有资源。如果您定义了一个涵盖所有原因(可能还有多个帐户)的聚合器,那么您可以得到一个非常全面的视图…… 就像“SELECT *”一样简单

试试这个

仅适用于ec2:

from skew import scan

    arn = scan('arn:aws:ec2:us-west-2:123456789012:instance/i-12345678')
    for resource in arn:
        print(resource.data)

所有资源:

arn = scan('arn:aws:*:*:<<youraccountId>>:instance*')
for resource in arn:
    print(resource.data)

参考资料:https://github.com/scopely-devops/skew