AWS의 모든 리소스를 나열하는 방법이 있습니까


138

AWS의 모든 리소스를 나열 할 수있는 방법이 있습니까? 모든 지역, 모든 리소스에 대해. 모든 EC2 인스턴스, 모든 VPC, API 게이트웨이의 모든 API 등을 나열합니다. 계정에 대한 모든 리소스를 나열하고 싶습니다. 어떤 리소스를 찾을 수 없습니까? 지금 양도하십시오.


1
이 질문에 대한 내 대답에서보세요 - stackoverflow.com/questions/43984337/multiple-aws-reigon/...은 당신이 시작하는 데 충분합니다.
Colwin


2
모든 지역 및 필요한 모든 서비스에 대한 자원 그룹을 작성할 수 있습니다. 자원 그룹은 이러한 모든 자원을 한 곳에 표시합니다. 이것에 대해 aws cli를 사용할 수 있습니다. aws.amazon.com/blogs/aws/resource-groups-and-tagging
Ashwini

답변:


8

편집 :이 답변은 더 이상 사용되지 않으며 올바르지 않습니다 . AWS 리소스 (AWS Tag Editor 등)를 나열하는 방법에는 여러 가지가 있습니다. 자세한 내용은 다른 답변을 확인하십시오.


아니.

각 AWS 서비스 (예 : Amazon EC2, Amazon S3)에는 자체 API 호출 세트가 있습니다. 또한 각 지역 은 독립적입니다.

모든 리소스 목록을 얻으려면 모든 지역의 모든 서비스에 대해 API를 호출해야합니다.

AWS Config 를 활성화 할 수 있습니다 .

AWS Config는 AWS 계정의 AWS 리소스 구성에 대한 자세한보기를 제공합니다. 여기에는 시간이 지남에 따라 구성 및 관계가 어떻게 변하는 지 확인할 수 있도록 리소스가 서로 관련되는 방식과 과거에 구성된 방식이 포함됩니다.

그러나 AWS Config는 AWS 계정의 모든 것이 아니라 EC2 / VPC 관련 리소스에 대한 정보 만 수집합니다.


14
이 답변은 잘못되었습니다. 비용 탐색기를 사용하여 모든 지역의 모든 서비스를 실제로 나열 할 수 있습니다.
Carles Alcolea 2018 년

9
이 답변은 아마도 더 이상 사용되지 않습니다. 여기에서 몇몇 사람들이 언급했듯이 태그 관리자 또는 비용 탐색기 에서 '서비스 별 월별 비용'을 사용할 수 있습니다 .
막심 파

AWS Config가 효과가있는 것 같습니다. 다른 이유로 찍은 스냅 샷을 찾아 잊고 EC2 인스턴스를 삭제 한 것 같습니다. 전체 AWS 구성 목록을 가져온 다음 'snap'을 검색하면 찾을 수있었습니다.
피터 스미스

206

예. 태그 편집기를 사용하십시오 . 클릭하여 개별 리소스를 관리 할 수 ​​있습니다.

https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html


42
태그 편집기를 사용하여 모든 리소스를 나열하려면 나열된 모든 리전 (오늘 날짜 기준 총 리전 15 개)을 수동으로 선택하고 "모든 리소스 유형"을 선택하고 태그를 지정하지 마십시오. 그런 다음 "리소스 찾기"를 클릭하면 계정에서 생성 된 모든 리소스가 표시됩니다.
Garrison Becker

3
지원되는 리소스 유형 만 쿼리합니다. docs.aws.amazon.com/ARG/latest/userguide/…
ekcrisp

18
이것은 천재적인 아이디어이지만 안타깝게도 2018 년 9 월 현재 지원되지 않는 많은 중요한 리소스 유형이 있습니다. DynamoDB 테이블, API 게이트웨이, Lambda, IAM 역할 등을 찾지 못했습니다 ...
Bing Ren

3
불행히도 "태그 편집기"링크는 404입니다.
wool.in.silver

1
이전 태그 편집기와 위의 링크가 사라졌습니다. 새 태그 편집기를 사용할 수 있지만 다중 지역 결과를 저장하는 방법이 없습니다. console.aws.amazon.com/resource-groups 및 docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html
AstroTom

45

를 사용할 수 있습니다 Tag Editor.

  1. AWS Console로 이동
  2. 맨 위 탐색 창에서 Resource Groups드롭 다운을 클릭하십시오.
  3. 딸깍 하는 소리 Tag Editor AWS는 모든 리전의 모든 리소스를 나열합니다

여기서 검색하려는 특정 지역을 선택하거나 드롭 다운에서 모든 지역을 선택할 수 있습니다. 그런 다음 검색하려는 실제 리소스를 선택하거나 개별 리소스를 클릭 할 수도 있습니다.

여기에 이미지 설명을 입력하십시오


2
이것이 정답입니다. 나를 위해 큰 일했다, 감사합니다!
Edward Corrigall

나는 이것이 정답이며, 그것이 효과적이고 따르기 매우 쉽다는 것에 동의합니다
Ben Gosub

8

Ashwini가 제안한대로 "자원 그룹"의 "태그 편집기"를 사용하겠습니다.

설정없이 모든 지역의 모든 리소스를 쉽게 나열 할 수 있습니다.
여기에는 모든 기본 VPC + 보안 그룹 등이 포함되어 있지만 (계정이 비어 있어도 ~ 140 개의 항목을 얻을 수 있음) 여전히 쉽게 필터링 할 수 있습니다 예를 들어 태그 편집기 내에서 또는 CSV로 내보내고 Excel에서 필터링 할 수 있습니다.


7

사용 PacBot (코드 봇과 같은 정책) - 클라우드에 대한 지속적인 준수 모니터링, 컴플라이언스보고 및 보안 자동화를위한 플랫폼 오픈 소스 프로젝트. 모든 계정과 모든 리전에서 PacBot이 발견 한 모든 리소스는 이러한 정책에 대해 평가되어 정책 준수를 측정합니다. 검색된 모든 리소스를 검색 할 수있는 옴니 검색 기능도 제공됩니다. PacBot을 통해 리소스 세부 정보를 종료 / 삭제할 수도 있습니다.

옴니 검색

옴니 검색

결과 필터링이 포함 된 검색 결과 페이지

결과 필터링이 포함 된 검색 결과 페이지

자산 360 / 자산 세부 사항 페이지

자산 360 / 자산 세부 사항 페이지

다음은 주요 PacBot 기능입니다

  • 지속적인 준수 평가.
  • 자세한 준수보고.
  • 정책 위반에 대한 자동 수정.
  • 옴니 검색-발견 된 모든 리소스를 검색 할 수 있습니다.
  • 단순화 된 정책 위반 추적.
  • 셀프 서비스 포털.
  • 맞춤 정책 및 맞춤 자동 수정 작업
  • 규정 준수를 볼 수있는 동적 자산 그룹.
  • 여러 준수 도메인을 만들 수있는 기능
  • 예외 관리.
  • 이메일 다이제스트.
  • 여러 AWS 계정을 지원합니다.
  • 완전 자동 설치 프로그램.
  • 맞춤형 대시 보드.
  • OAuth2 지원.
  • 로그인을위한 Azure AD 통합
  • 역할 기반 액세스 제어.
  • 자산 360도.

1
@SyCode 예 당신은 onprem을 호스팅 할 수 있습니다
Nidhish Krishnan

문서에서 이것에 대한 언급이 없음을 어떻게 알 수 있습니까? 필요한 모든 AWS 서비스를 사용해야하는 것 같습니다. 예를 들어 RedShift를 MySQL로 바꾸고 싶습니다.
SyCode

2
@SyCode 전체 설치 설정이에서 주어진 링크
Nidhish Krishnan에게

5

AWS 제공 도구는 포괄적이지 않기 때문에 유용하지 않습니다.

이 문제를 완화하고 모든 AWS 리소스 목록을 가져 오려는 내 자신의 탐구에서 나는 이것을 발견했다 : https://github.com/JohannesEbke/aws_list_all

아직 테스트하지는 않았지만 합법적으로 보입니다.



3

나는 그것이 오래된 질문이라는 것을 알고 있지만 나도 도와주고 싶습니다.

실제로 클라우드에있는 모든 리소스를 검색하는 데 도움 이되는 AWS Config 가 있습니다 . SQL 쿼리도 수행 할 수 있습니다.

나는 당신 모두가이 훌륭한 서비스를 알고 격려합니다.


2

예.

AWS 계정에서 정확히 무슨 일이 일어나고 있는지 알아 내려고 동일한 문제가 발생했습니다.

결국 모든 리전에서 AWS 리소스를 나열하는 데스크톱 도구 인 AWSRetriver 를 작성하게 되었습니다 .

그것은 모든 것을 나열하는 간단하고 간단한 도구입니다 ... (희망적으로) AWS 리소스


1

너무 늦었지만 이것을보아야합니다. CLI는 알지 못하지만 여전히 필요한 것을 수행하기 위해 작은 쉘 스크립트를 사용하지 않아도됩니다.

https://pypi.org/project/aws-list-all/

그것은 자신의 말로 파이썬 라이브러리입니다.

"프로젝트 설명 AWS 계정, 모든 리전, 모든 서비스 (*)의 모든 리소스를 나열합니다. 추가 처리를 위해 JSON 파일을 작성합니다.

(*) 완전성을 보장하지 않습니다. 비용이 걱정되면 결제 알림을 사용하십시오. "


0

또한 AWS에서 유사한 기능인 "모든 리소스 나열"을 찾고 있지만 충분한 것을 찾을 수 없습니다.

"자원 그룹"은 태그가 지정된 자원 만 나열하고 사용자가 태그를 지정해야하므로 도움이되지 않습니다. 리소스에 태그를 지정하지 않으면 "리소스 그룹"에 표시되지 않습니다 .

"자원 그룹 작성"의 UI

더 적합한 기능은 이전 게시물에서 이미 언급 한 "자원 그룹"-> "태그 편집기" 입니다. 태그 편집기에서 리소스 목록을 보려면 지역 및 리소스 유형을 선택하십시오. 이것은 목적을 제공하지만 사용하고자 할 때마다 지역과 자원 유형을 입력해야하기 때문에 사용자 친화적이지 않습니다. 여전히 UI를 사용하기 쉽게 찾고 있습니다.

"태그 편집기"에서 "자원 찾기"의 UI


사실, 이것은 나를위한 진정한 생명의 은인이었습니다! 태그 편집기를 열고 모든 지역을 하나씩 선택하고 (많은 지역은 아님) "모든 자원 유형"을 선택하고 "자원 찾기"를 누르십시오. 그런 다음 전체 목록을 CSV로 다운로드 할 수 있습니다.
Tero Tilus

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)

참조 : https://github.com/scopely-devops/skew



0

편집 :이 답변은 더 이상 사용되지 않습니다. 다른 답변을 확인하십시오.

아니요,
계정 내 모든 리소스를 한 번에 얻을 수있는 방법이 없습니다. 각 리전은 독립적이며 리전의 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를 찾을 수 있습니다.


  • 이 답변은 구식입니다
    Carles Alcolea

    -1

    다른 옵션은 모든 자원에 대해 "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
    
    당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
    Licensed under cc by-sa 3.0 with attribution required.