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


当前回答

我也在寻找类似的功能“列出所有资源”在AWS,但找不到任何足够好的东西。

“资源组”没有帮助,因为它只列出已标记的资源,用户必须指定标记。如果您错过标记一个资源,该资源将不会出现在“资源组”中。

创建资源组界面

一个更合适的功能是“资源组”->“标签编辑器”,如前所述。选择区域和资源类型,在标签编辑器中查看资源列表。这可以达到目的,但不是很友好,因为每次我想使用它时,我都必须输入区域和资源类型。我仍然在寻找易于使用的用户界面。

标签编辑器下的“查找资源”界面

其他回答

我想这可能会有帮助!在这里,您需要输入地区名称,并且在尝试之前必须配置AWS CLI。

aws resourcegroupstaggingapi get-resources --region region_name

它将按以下格式列出该地区的所有资源。

- ResourceARN: arn:aws:cloudformation:eu-west-1:5524534535:stack/auction-services-dev/*******************************
  Tags:
  - Key: STAGE
    Value: dev
- ResourceARN: arn:aws:cloudformation:eu-west-1:********************
Tags:
-- More  --

是的。使用标签编辑器。

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

编辑:这个答案是不赞成的。检查其他答案。

不, 没有办法一次性获得帐户内的所有资源。每个区域都是独立的,对于一些服务,比如IAM,区域的概念根本不存在。 尽管有可用的API调用来列出资源和服务。 例如: 要获取您的帐户所有可用区域的列表:

output, err := client.DescribeRegions(&ec2.DescribeRegionsInput{})

要获取IAM用户、角色或组的列表,您可以使用:

client.GetAccountAuthorizationDetails (&iam.GetAccountAuthorizationDetailsInput {})

你可以在下面找到更多关于API调用及其使用的细节: https://docs.aws.amazon.com/sdk-for-go/api/service/iam/

以上链接仅供IAM使用。类似地,您可以为所有其他资源和服务找到API。

您可以使用标签编辑器。

进入AWS控制台 在“TOP”导航窗格中,单击“资源组”下拉菜单 点击标签编辑器

在这里,我们可以选择要搜索的特定区域,也可以从下拉菜单中选择所有区域。然后我们可以选择我们想要搜索的实际资源,或者我们也可以单击单个资源。

已经很晚了,但你应该看看这个。我知道不是CLI,但仍然值得用一些shell脚本来做你需要的事情:

https://pypi.org/project/aws-list-all/

它是一个python库,用它自己的话来说:

“项目描述 列出一个AWS帐户中的所有资源、所有区域和所有服务(*)。编写JSON文件以供进一步处理。

(*)不保证完整性。如果你担心成本,可以使用计费提醒。”