有没有办法列出AWS中的所有资源?对于所有地区,所有资源..例如列出所有EC2实例,所有VPC,API网关中的所有API等...我想列出我帐户的所有资源,因为我很难找到我现在可以放弃哪些资源。
答案 0 :(得分:107)
是。使用Tag Editor。您可以点击以管理个人资源。
https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html
答案 1 :(得分:39)
此链接描述了如何使用标签编辑器查找未加标签的资源。您基本上可以将所有区域添加到顶部的区域框中,然后选择所有资源类型,查询将列出所有内容。
https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/scenario-finding-untagged.html
答案 2 :(得分:13)
没有
每个AWS服务(例如Amazon EC2,Amazon S3)都有自己的一组API调用。此外,每个区域都是独立的。
要获取所有资源的列表,您必须对每个区域中的每个服务进行API调用。
您可能想要激活AWS Config:
AWS Config提供AWS账户中AWS资源配置的详细视图。这包括资源彼此之间的关系以及过去如何配置它们,以便您可以了解配置和关系如何随时间变化。
但是,AWS Config仅收集有关EC2 / VPC相关资源的信息,而不是AWS账户中的所有信息。
答案 3 :(得分:5)
我选择"标签编辑器"在"资源组"为此,正如Ashwini所建议的那样。
您可以轻松列出所有地区的所有资源,无需任何设置等。
虽然这确实包括所有默认VPC +安全组等(因此即使您的帐户为空,您也可以获得~140项),您仍然可以在标签编辑器中轻松过滤此项,或导出到csv和例如,在Excel中过滤。
答案 4 :(得分:5)
使用PacBot (策略为代码漫游)-一个开源项目,它是一个平台,用于持续监视云,合规性报告和云安全自动化。 PacBot会根据这些策略评估所有帐户和所有区域中的所有资源,以评估策略的符合性。还提供Omni Search功能,可以搜索所有发现的资源。甚至您都可以通过PacBot终止/删除资源详细信息。
全方位搜索
具有结果过滤功能的搜索结果页面
资产360 /资产详细信息页面
以下是PacBot的关键功能
答案 5 :(得分:4)
AWS提供的工具无用,因为它们并不全面。
在我自己寻求缓解此问题并提取所有AWS资源的列表时,我发现了这一点:https://github.com/JohannesEbke/aws_list_all
我还没有测试过,但它看起来很合法。
答案 6 :(得分:2)
我认为这可能会有所帮助!在这里,您需要输入区域名称,并且必须先输入configure 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 --
答案 7 :(得分:2)
AWS Billing Management Console将为您提供按服务月份的月度至今支出。
答案 8 :(得分:2)
您可以使用标签编辑器。
在这里,我们可以选择要搜索的特定区域,也可以从下拉列表中选择所有区域。然后,我们可以选择要搜索的实际资源,也可以单击单个资源。
答案 9 :(得分:1)
这是一篇很好的文章,列出了在 AWS 云中列出资源的工具。 https://link.medium.com/tZbs8eLyohb
其中,CloudYali https://www.cloudyali.io 是新上线的服务。它显示了来自不同账户、地区、现在和过去的所有云资源,集中在一个地方。
答案 10 :(得分:1)
我知道这是一个老问题,但我也想提供帮助。
实际上,我们有 AWS Config ,它可以帮助我们搜索云中的所有资源。您也可以执行SQL查询。
我真的鼓励大家知道这项很棒的服务。
答案 11 :(得分:1)
答案 12 :(得分:1)
不,
无法一次性获取您帐户中的所有资源。每个区域都是独立的,对于像IAM这样的区域的某些服务根本不存在。
虽然有API调用可用于列出资源和服务
例如:
.hand_phone {
animation: slide 1s;
}
@keyframes slide {
from {transform: translateY(400px)}
to {transform: translateY(0px)}
}
output, err := client.DescribeRegions(&ec2.DescribeRegionsInput{})
您可以在以下位置找到有关API调用及其用途的更多详细信息: https://docs.aws.amazon.com/sdk-for-go/api/service/iam/
以上链接仅适用于IAM。同样,您可以找到所有其他资源和服务的API。
答案 13 :(得分:1)
我也在寻找AWS中的“列出所有资源”的类似功能,但找不到任何足够好的东西。
“资源组”没有帮助,因为它只列出已标记的资源,用户必须指定标记。如果您错过了标记资源,则不会显示在"Resource Groups"。
中UI of "Create a resource group"
更合适的功能是"Resource Groups"->"Tag Editor",如上一篇文章中所述。选择区域和资源类型以在标签编辑器中查看资源列表。这符合目的但不是非常用户友好,因为每次我想使用它时都必须输入区域和资源类型。我仍然在寻找易于使用的UI。
答案 14 :(得分:0)
已经很晚了,但是您应该注意一下。我知道不是CLI,但仍然值得删除一些shell脚本来完成所需的操作:
https://pypi.org/project/aws-list-all/
这是一个用自己的话说的python库:
“项目说明 列出AWS账户中的所有资源,所有区域,所有服务(*)。写入JSON文件以进行进一步处理。
(*)不保证完整性。如果您担心费用,请使用帐单提醒。”
答案 15 :(得分:0)
您可以在此处的AWS Config控制台中使用查询。 (地区可能会因您而异)https://console.aws.amazon.com/config/home?region=us-east-1#/resources/query
查询看起来像
SELECT
resourceId,
resourceName,
resourceType,
relationships
WHERE
relationships.resourceId = 'vpc-#######'
答案 16 :(得分:0)
另一种选择是使用此脚本为每个资源执行“ aws configservice list-discovered-resources --resource-type”
for i in AWS::EC2::CustomerGateway AWS::EC2::EIP AWS::EC2::Host AWS::EC2::Instance AWS::EC2::InternetGateway AWS::EC2::NetworkAcl AWS::EC2::NetworkInterface AWS::EC2::RouteTable AWS::EC2::SecurityGroup AWS::EC2::Subnet AWS::CloudTrail::Trail AWS::EC2::Volume AWS::EC2::VPC AWS::EC2::VPNConnection AWS::EC2::VPNGateway AWS::IAM::Group AWS::IAM::Policy AWS::IAM::Role AWS::IAM::User AWS::ACM::Certificate AWS::RDS::DBInstance AWS::RDS::DBSubnetGroup AWS::RDS::DBSecurityGroup AWS::RDS::DBSnapshot AWS::RDS::EventSubscription AWS::ElasticLoadBalancingV2::LoadBalancer AWS::S3::Bucket AWS::SSM::ManagedInstanceInventory AWS::Redshift::Cluster AWS::Redshift::ClusterSnapshot AWS::Redshift::ClusterParameterGroup AWS::Redshift::ClusterSecurityGroup AWS::Redshift::ClusterSubnetGroup AWS::Redshift::EventSubscription AWS::CloudWatch::Alarm AWS::CloudFormation::Stack AWS::DynamoDB::Table AWS::AutoScaling::AutoScalingGroup AWS::AutoScaling::LaunchConfiguration AWS::AutoScaling::ScalingPolicy AWS::AutoScaling::ScheduledAction AWS::CodeBuild::Project AWS::WAF::RateBasedRule AWS::WAF::Rule AWS::WAF::WebACL AWS::WAFRegional::RateBasedRule AWS::WAFRegional::Rule AWS::WAFRegional::WebACL AWS::CloudFront::Distribution AWS::CloudFront::StreamingDistribution AWS::WAF::RuleGroup AWS::WAFRegional::RuleGroup AWS::Lambda::Function AWS::ElasticBeanstalk::Application AWS::ElasticBeanstalk::ApplicationVersion AWS::ElasticBeanstalk::Environment AWS::ElasticLoadBalancing::LoadBalancer AWS::XRay::EncryptionConfig AWS::SSM::AssociationCompliance AWS::SSM::PatchCompliance AWS::Shield::Protection AWS::ShieldRegional::Protection AWS::Config::ResourceCompliance AWS::CodePipeline::Pipeline; do aws configservice list-discovered-resources --resource-type $i; done
答案 17 :(得分:0)
试试这个
仅限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)
答案 18 :(得分:0)
您can run advanced queries via AWS Config(以及来自Config的CLI)将列出所有资源。如果您定义了一个涵盖所有原因(可能包括多个客户)的汇总器,则可以获得非常全面的视图。 。 。 就像“ SELECT *”一样简单
答案 19 :(得分:0)
另一个开源工具是 Cloud Query https://docs.cloudquery.io/
答案 20 :(得分:0)
有一个云管理平台可以做到这一点。它使用户能够从单个仪表板管理多个 AWS 账户并提供 AWS 库存管理。免费:https://cloudplexo.com。
答案 21 :(得分:-1)
亚马逊一直在努力改善用户体验。但是,还有其他多种方法可以检查您在 AWS 中使用的资源。我相信这个新的 EC2 仪表板非常酷。单击链接将直接导航到特定资源控制面板。