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


当前回答

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

不, 没有办法一次性获得帐户内的所有资源。每个区域都是独立的,对于一些服务,比如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。

其他回答

通过CLI将所有资源导出为CSV格式

步骤1:激活AWS资源资源管理器

https://resource-explorer.console.aws.amazon.com/resource-explorer

步骤2:使用AWS CLI列出资源

Aws resource-explorer-2 search——query-string arn——output text > resources.csv

正如Ashwini所建议的那样,我会在“资源组”中使用“标签编辑器”。

您可以轻松地列出所有地区的所有资源,无需任何设置等。 虽然这确实包括所有默认的vpc +安全组等(所以你会得到~140项,即使你的帐户是空的),你仍然可以相当容易地过滤它,无论是在标签编辑器中,或导出到csv和Excel中过滤,例如。

编辑:这个答案是不正确的。有几种方法可以列出AWS资源(AWS标签编辑器等)。检查 其他答案了解更多细节。


No.

每个AWS服务(例如Amazon EC2, Amazon S3)都有自己的API调用集。此外,每个区域都是独立的。

要获得所有资源的列表,必须对每个区域中的每个服务进行API调用。

您可能想要激活AWS配置:

AWS配置提供AWS帐户中AWS资源配置的详细视图。这包括资源如何相互关联,以及它们在过去是如何配置的,以便您可以看到配置和关系如何随时间变化。

但是,AWS配置只收集有关EC2/ vpc相关资源的信息,而不是AWS帐户中的所有信息。

我知道这是个老问题,但我也想帮忙。

实际上,我们有AWS配置,它可以帮助我们搜索云中的所有资源。您也可以执行SQL查询。

我真心鼓励你们了解这项了不起的服务。

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

不, 没有办法一次性获得帐户内的所有资源。每个区域都是独立的,对于一些服务,比如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。