是否有一种方法可以列出AWS中的所有资源?所有地区,所有资源。例如列出所有EC2实例,所有vpc, API网关中的所有API等等…我想列出我账户的所有资源,因为我现在很难找到我可以放弃的资源。
当前回答
试试这个
仅适用于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
其他回答
编辑:这个答案是不赞成的。检查其他答案。
不, 没有办法一次性获得帐户内的所有资源。每个区域都是独立的,对于一些服务,比如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。
试试这个
仅适用于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
您可以通过AWS Config(以及从CLI for Config)运行高级查询,这将列出所有资源。如果您定义了一个涵盖所有原因(可能还有多个帐户)的聚合器,那么您可以得到一个非常全面的视图…… 就像“SELECT *”一样简单
我也在寻找类似的功能“列出所有资源”在AWS,但找不到任何足够好的东西。
“资源组”没有帮助,因为它只列出已标记的资源,用户必须指定标记。如果您错过标记一个资源,该资源将不会出现在“资源组”中。
创建资源组界面
一个更合适的功能是“资源组”->“标签编辑器”,如前所述。选择区域和资源类型,在标签编辑器中查看资源列表。这可以达到目的,但不是很友好,因为每次我想使用它时,我都必须输入区域和资源类型。我仍然在寻找易于使用的用户界面。
标签编辑器下的“查找资源”界面
是的。使用标签编辑器。
将“区域”设置为“所有区域”,“资源类型”设置为“所有支持的资源类型”,然后单击“搜索资源”。
推荐文章
- 警告:未受保护的私钥文件!当尝试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)”问题