是否有一种方法可以列出AWS中的所有资源?所有地区,所有资源。例如列出所有EC2实例,所有vpc, API网关中的所有API等等…我想列出我账户的所有资源,因为我现在很难找到我可以放弃的资源。
当前回答
亚马逊一直在努力改善用户体验。但是,还有其他多种方法可以检查您在AWS中使用的资源。我相信这个新的EC2仪表盘非常酷。点击链接将直接导航到特定的资源控制面板。
其他回答
这是一篇很好的文章,列出了在AWS云中列出资源的工具。 https://link.medium.com/tZbs8eLyohb
其中,CloudYali https://www.cloudyali.io是新推出的服务。它显示了来自不同账户、地区、现在和过去的所有云资源,都可以在一个中心位置使用。
编辑:这个答案是不赞成的。检查其他答案。
不, 没有办法一次性获得帐户内的所有资源。每个区域都是独立的,对于一些服务,比如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帐户,并提供AWS库存管理。免费下载:https://cloudplexo.com。
您可以在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
试试这个
仅适用于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)”问题