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


当前回答

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

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

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

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

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

其他回答

亚马逊一直在努力改善用户体验。但是,还有其他多种方法可以检查您在AWS中使用的资源。我相信这个新的EC2仪表盘非常酷。点击链接将直接导航到特定的资源控制面板。

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

不, 没有办法一次性获得帐户内的所有资源。每个区域都是独立的,对于一些服务,比如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配置控制台中使用查询。(地区可能因您而异)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,但找不到任何足够好的东西。

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

创建资源组界面

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

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

AWS计费管理控制台将为您提供每月到目前为止按服务支出的纲要。