AWS의 모든 리소스를 나열 할 수있는 방법이 있습니까? 모든 지역, 모든 리소스에 대해. 모든 EC2 인스턴스, 모든 VPC, API 게이트웨이의 모든 API 등을 나열합니다. 계정에 대한 모든 리소스를 나열하고 싶습니다. 어떤 리소스를 찾을 수 없습니까? 지금 양도하십시오.
AWS의 모든 리소스를 나열 할 수있는 방법이 있습니까? 모든 지역, 모든 리소스에 대해. 모든 EC2 인스턴스, 모든 VPC, API 게이트웨이의 모든 API 등을 나열합니다. 계정에 대한 모든 리소스를 나열하고 싶습니다. 어떤 리소스를 찾을 수 없습니까? 지금 양도하십시오.
답변:
편집 :이 답변은 더 이상 사용되지 않으며 올바르지 않습니다 . AWS 리소스 (AWS Tag Editor 등)를 나열하는 방법에는 여러 가지가 있습니다. 자세한 내용은 다른 답변을 확인하십시오.
아니.
각 AWS 서비스 (예 : Amazon EC2, Amazon S3)에는 자체 API 호출 세트가 있습니다. 또한 각 지역 은 독립적입니다.
모든 리소스 목록을 얻으려면 모든 지역의 모든 서비스에 대해 API를 호출해야합니다.
AWS Config 를 활성화 할 수 있습니다 .
AWS Config는 AWS 계정의 AWS 리소스 구성에 대한 자세한보기를 제공합니다. 여기에는 시간이 지남에 따라 구성 및 관계가 어떻게 변하는 지 확인할 수 있도록 리소스가 서로 관련되는 방식과 과거에 구성된 방식이 포함됩니다.
그러나 AWS Config는 AWS 계정의 모든 것이 아니라 EC2 / VPC 관련 리소스에 대한 정보 만 수집합니다.
예. 태그 편집기를 사용하십시오 . 클릭하여 개별 리소스를 관리 할 수 있습니다.
https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html
를 사용할 수 있습니다 Tag Editor
.
여기서 검색하려는 특정 지역을 선택하거나 드롭 다운에서 모든 지역을 선택할 수 있습니다. 그런 다음 검색하려는 실제 리소스를 선택하거나 개별 리소스를 클릭 할 수도 있습니다.
사용 PacBot (코드 봇과 같은 정책) - 클라우드에 대한 지속적인 준수 모니터링, 컴플라이언스보고 및 보안 자동화를위한 플랫폼 오픈 소스 프로젝트. 모든 계정과 모든 리전에서 PacBot이 발견 한 모든 리소스는 이러한 정책에 대해 평가되어 정책 준수를 측정합니다. 검색된 모든 리소스를 검색 할 수있는 옴니 검색 기능도 제공됩니다. PacBot을 통해 리소스 세부 정보를 종료 / 삭제할 수도 있습니다.
옴니 검색
결과 필터링이 포함 된 검색 결과 페이지
자산 360 / 자산 세부 사항 페이지
다음은 주요 PacBot 기능입니다
AWS 제공 도구는 포괄적이지 않기 때문에 유용하지 않습니다.
이 문제를 완화하고 모든 AWS 리소스 목록을 가져 오려는 내 자신의 탐구에서 나는 이것을 발견했다 : https://github.com/JohannesEbke/aws_list_all
아직 테스트하지는 않았지만 합법적으로 보입니다.
예.
AWS 계정에서 정확히 무슨 일이 일어나고 있는지 알아 내려고 동일한 문제가 발생했습니다.
결국 모든 리전에서 AWS 리소스를 나열하는 데스크톱 도구 인 AWSRetriver 를 작성하게 되었습니다 .
너무 늦었지만 이것을보아야합니다. CLI는 알지 못하지만 여전히 필요한 것을 수행하기 위해 작은 쉘 스크립트를 사용하지 않아도됩니다.
https://pypi.org/project/aws-list-all/
그것은 자신의 말로 파이썬 라이브러리입니다.
"프로젝트 설명 AWS 계정, 모든 리전, 모든 서비스 (*)의 모든 리소스를 나열합니다. 추가 처리를 위해 JSON 파일을 작성합니다.
(*) 완전성을 보장하지 않습니다. 비용이 걱정되면 결제 알림을 사용하십시오. "
또한 AWS에서 유사한 기능인 "모든 리소스 나열"을 찾고 있지만 충분한 것을 찾을 수 없습니다.
"자원 그룹"은 태그가 지정된 자원 만 나열하고 사용자가 태그를 지정해야하므로 도움이되지 않습니다. 리소스에 태그를 지정하지 않으면 "리소스 그룹"에 표시되지 않습니다 .
더 적합한 기능은 이전 게시물에서 이미 언급 한 "자원 그룹"-> "태그 편집기" 입니다. 태그 편집기에서 리소스 목록을 보려면 지역 및 리소스 유형을 선택하십시오. 이것은 목적을 제공하지만 사용하고자 할 때마다 지역과 자원 유형을 입력해야하기 때문에 사용자 친화적이지 않습니다. 여전히 UI를 사용하기 쉽게 찾고 있습니다.
이 시도
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)
여기에서 AWS Config Console에서 쿼리를 사용할 수 있습니다. (지역이 변경 될 수 있음) https://console.aws.amazon.com/config/home?region=us-east-1#/resources/query
쿼리는 다음과 같습니다.
SELECT
resourceId,
resourceName,
resourceType,
relationships
WHERE
relationships.resourceId = 'vpc-#######'
편집 :이 답변은 더 이상 사용되지 않습니다. 다른 답변을 확인하십시오.
아니요,
계정 내 모든 리소스를 한 번에 얻을 수있는 방법이 없습니다. 각 리전은 독립적이며 리전의 IAM 개념과 같은 일부 서비스에는 전혀 존재하지 않습니다. 리소스 및 서비스를 나열하는 데 사용할 수있는 API 호출이 있지만
예를 들면 다음과 같습니다.
output, err := client.DescribeRegions(&ec2.DescribeRegionsInput{})
client.GetAccountAuthorizationDetails(&iam.GetAccountAuthorizationDetailsInput{})
API 호출 및 사용에 대한 자세한 내용은 https://docs.aws.amazon.com/sdk-for-go/api/service/iam/ 에서 확인할 수 있습니다.
위의 링크는 IAM 전용입니다. 마찬가지로 다른 모든 리소스 및 서비스에 대한 API를 찾을 수 있습니다.
다른 옵션은 모든 자원에 대해 "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