是否有一种方法可以列出AWS中的所有资源?所有地区,所有资源。例如列出所有EC2实例,所有vpc, API网关中的所有API等等…我想列出我账户的所有资源,因为我现在很难找到我可以放弃的资源。
当前回答
aws提供的工具用处不大,因为它们不够全面。
在我试图缓解这个问题并获取我所有AWS资源的列表时,我发现了这个:https://github.com/JohannesEbke/aws_list_all
我还没有测试,但它看起来是合法的。
其他回答
编辑:这个答案是不正确的。有几种方法可以列出AWS资源(AWS标签编辑器等)。检查 其他答案了解更多细节。
No.
每个AWS服务(例如Amazon EC2, Amazon S3)都有自己的API调用集。此外,每个区域都是独立的。
要获得所有资源的列表,必须对每个区域中的每个服务进行API调用。
您可能想要激活AWS配置:
AWS配置提供AWS帐户中AWS资源配置的详细视图。这包括资源如何相互关联,以及它们在过去是如何配置的,以便您可以看到配置和关系如何随时间变化。
但是,AWS配置只收集有关EC2/ vpc相关资源的信息,而不是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 --
通过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中过滤,例如。
试试这个
仅适用于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
推荐文章
- 警告:未受保护的私钥文件!当尝试SSH到Amazon EC2实例时
- 使用boto3连接CloudFront时,如何选择AWS配置文件
- 在亚马逊云服务器上设置FTP
- 无法将图像推送到Amazon ECR -由于“没有基本的身份验证凭据”而失败
- 如何测试AWS命令行工具的凭据
- 将Keypair添加到现有的EC2实例中
- AWS S3:您试图访问的桶必须使用指定的端点寻址
- 你会因为EC2上的“停止”实例而被收费吗?
- 下载一个已经上传的Lambda函数
- S3 - Access-Control-Allow-Origin头
- 何时使用Amazon Cloudfront或S3
- 如何处理错误与boto3?
- 什么数据存储在亚马逊EC2实例的临时存储?
- boto3 client NoRegionError:只能在某些时候指定区域错误
- AWS ssh访问“权限被拒绝(publickey)”问题