Có cách nào để liệt kê tất cả các tài nguyên trong AWS không


138

Có cách nào để liệt kê tất cả các tài nguyên trong AWS không? Đối với tất cả các vùng, tất cả tài nguyên .. Chẳng hạn như liệt kê tất cả các phiên bản EC2, tất cả VPC, tất cả API trong API Gateway, v.v ... Tôi muốn liệt kê tất cả các tài nguyên cho tài khoản của mình, vì tôi khó tìm được tài nguyên nào tôi có thể từ bỏ ngay bây giờ.


1
Hãy xem câu trả lời của tôi cho câu hỏi này - stackoverflow.com/questions/43984337/multipl-aws-reigon/ gợi ý là đủ để bạn bắt đầu.
Colwin


2
Bạn có thể tạo Nhóm tài nguyên cho tất cả các khu vực và cho tất cả các dịch vụ bạn cần xem. Nhóm tài nguyên sẽ hiển thị cho bạn tất cả các tài nguyên này tại một nơi. bạn cũng có thể sử dụng aws cli cho việc này. aws.amazon.com/bloss/aws/resource-groups-and-tagging
Ashwini

Câu trả lời:


8

Chỉnh sửa: Câu trả lời này không được chấp nhận và không chính xác . Có một số cách để liệt kê tài nguyên AWS (Trình chỉnh sửa thẻ AWS, v.v.). Kiểm tra các câu trả lời khác để biết thêm chi tiết.


Không.

Mỗi Dịch vụ AWS (ví dụ Amazon EC2, Amazon S3) có bộ lệnh gọi API riêng. Ngoài ra, mỗi khu vực là độc lập.

Để có được danh sách tất cả các tài nguyên, bạn sẽ phải thực hiện các cuộc gọi API đến mọi dịch vụ ở mọi khu vực.

Bạn có thể muốn kích hoạt Cấu hình AWS :

AWS Config cung cấp chế độ xem chi tiết về cấu hình tài nguyên AWS trong tài khoản AWS của bạn. Điều này bao gồm cách các tài nguyên có liên quan với nhau và cách chúng được cấu hình trong quá khứ để bạn có thể thấy cách cấu hình và mối quan hệ thay đổi theo thời gian.

Tuy nhiên, AWS Config chỉ thu thập thông tin về các tài nguyên liên quan đến EC2 / VPC, không phải mọi thứ trong tài khoản AWS của bạn.


14
Câu trả lời này là sai. Bạn thực sự có thể liệt kê tất cả các dịch vụ trên tất cả các vùng bằng Cost Explorer.
Carles Alcolea

9
Câu trả lời này rất có thể đã lỗi thời. Bây giờ, như được đề cập bởi một số người ở đây, bạn có thể sử dụng Trình quản lý thẻ hoặc 'Chi phí hàng tháng theo dịch vụ' trong Cost Explorer .
maximpa

AWS Config dường như làm việc cho tôi. Tôi muốn tìm một ảnh chụp nhanh mà tôi đã chụp trong một lý do khác và quên mất, và rõ ràng đã xóa ví dụ EC2 cho nó. nhận được danh sách Cấu hình AWS đầy đủ và sau đó tìm kiếm 'snap' để tôi tìm thấy nó.
Peter Smith

203

Đúng. Sử dụng Trình chỉnh sửa thẻ . Bạn có thể nhấp qua để quản lý tài nguyên cá nhân.

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


42
Để liệt kê tất cả các tài nguyên bằng Trình chỉnh sửa thẻ, bạn chọn thủ công tất cả các vùng được liệt kê (tổng 15 vùng kể từ ngày hôm nay) và chọn "Tất cả các loại tài nguyên" và không chỉ định thẻ. Sau đó nhấp vào "Tìm tài nguyên" và điều này sẽ hiển thị tất cả các tài nguyên đã được tạo trên tài khoản của bạn.
Garrison Becker

3
lưu ý điều này chỉ sẽ truy vấn các loại tài nguyên được hỗ trợ docs.aws.amazon.com/ARG/latest/userguide/ Lời
ekcrisp

18
Đây là một ý tưởng thiên tài nhưng thật không may, rất nhiều loại tài nguyên quan trọng chưa được hỗ trợ kể từ ngày hôm nay tháng 9 năm 2018. Tôi đã không tìm thấy các bảng DynamoDB, API Gateway, Lambda, vai trò IAM, v.v ....
Bing Ren

3
Thật không may, liên kết "Trình chỉnh sửa thẻ" hiện là 404.
Wool.in.silver

1
Trình chỉnh sửa thẻ cũ và các liên kết ở trên đã biến mất. Bạn có thể sử dụng trình chỉnh sửa thẻ mới, nhưng tôi không thấy cách lưu kết quả đa vùng. Xem console.aws.amazon.com/resource-groups và tài liệu tại docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html
AstroTom

43

Bạn có thể sử dụng Tag Editor.

  1. Chuyển đến Bảng điều khiển AWS
  2. Trong ngăn dẫn hướng TOP, nhấp vào Resource Groupsthả xuống
  3. Nhấp chuột Tag Editor AWS liệt kê tất cả các tài nguyên trên tất cả các vùng

Ở đây chúng tôi có thể chọn một khu vực cụ thể mà chúng tôi muốn tìm kiếm hoặc chọn tất cả các khu vực từ danh sách thả xuống. Sau đó, chúng tôi có thể chọn tài nguyên thực tế mà chúng tôi muốn tìm kiếm hoặc chúng tôi cũng có thể nhấp vào từng tài nguyên.

nhập mô tả hình ảnh ở đây


2
Đây là câu trả lời chính xác. Làm việc tuyệt vời cho tôi, cảm ơn bạn!
Edward Corrigall

Tôi đồng ý đây là câu trả lời đúng, nó hoạt động và rất dễ thực hiện
Ben Gosub

8

Tôi sẽ đi với "trình chỉnh sửa thẻ" trong "nhóm tài nguyên" cho việc này, như được đề xuất bởi Ashwini.

Bạn có thể dễ dàng liệt kê tất cả các tài nguyên ở tất cả các khu vực mà không cần thiết lập, v.v.
Và mặc dù điều này bao gồm tất cả các nhóm bảo mật + VPC mặc định, v.v. (vì vậy bạn sẽ nhận được ~ 140 mục ngay cả khi tài khoản của bạn trống), bạn vẫn có thể dễ dàng lọc ví dụ, trong trình chỉnh sửa thẻ hoặc xuất sang csv và bộ lọc trong Excel chẳng hạn.


7

Sử dụng PacBot (Chính sách như Bot Bot) - Một dự án nguồn mở là một nền tảng để giám sát tuân thủ liên tục, báo cáo tuân thủ và tự động hóa bảo mật cho đám mây. Tất cả các tài nguyên trên tất cả các tài khoản và tất cả các khu vực được PacBot phát hiện được đánh giá theo các chính sách này để đánh giá sự phù hợp chính sách. Các tính năng Tìm kiếm Omni cũng có sẵn cho khả năng tìm kiếm tất cả các tài nguyên được phát hiện. Thậm chí bạn có thể chấm dứt / xóa chi tiết tài nguyên thông qua PacBot.

Tìm kiếm Omni

Tìm kiếm Omni

Trang kết quả tìm kiếm với tính năng lọc kết quả

Trang kết quả tìm kiếm với tính năng lọc kết quả

Trang chi tiết tài sản 360 / tài sản

Trang chi tiết tài sản 360 / tài sản

Sau đây là các khả năng chính của PacBot

  • Đánh giá tuân thủ liên tục.
  • Báo cáo tuân thủ chi tiết.
  • Tự động sửa lỗi vi phạm chính sách.
  • Omni Search - Khả năng tìm kiếm tất cả các tài nguyên được phát hiện.
  • Theo dõi vi phạm chính sách đơn giản hóa.
  • Cổng thông tin tự phục vụ.
  • Chính sách tùy chỉnh và hành động tự động sửa chữa tùy chỉnh.
  • Nhóm tài sản động để xem sự tuân thủ.
  • Khả năng tạo nhiều miền tuân thủ.
  • Quản lý ngoại lệ.
  • Email tiêu hóa.
  • Hỗ trợ nhiều tài khoản AWS.
  • Trình cài đặt hoàn toàn tự động.
  • Bảng điều khiển có thể tùy chỉnh.
  • Hỗ trợ OAuth2.
  • Tích hợp Azure AD để đăng nhập.
  • Kiểm soát truy cập dựa trên vai trò.
  • Tài sản 360 độ.

1
@SyCode Có, bạn có thể lưu trữ onprem
Nidhish Krishnan 17/11/18

Bạn có thể chỉ ra làm thế nào, tôi thấy không đề cập đến điều này trong tài liệu, dường như tôi phải sử dụng tất cả các dịch vụ AWS cần thiết. Tôi muốn lấy ví dụ thay thế RedShift bằng MySQL.
SyCode

2
@SyCode cài đặt hoàn tất cài đặt được đưa ra tại liên kết
Nidhish Krishnan 18/11/18

5

Các công cụ do AWS cung cấp không hữu ích vì chúng không toàn diện.

Trong nhiệm vụ của riêng tôi để giảm thiểu vấn đề này và lấy danh sách tất cả các tài nguyên AWS của tôi, tôi đã tìm thấy điều này: https://github.com/JohannesEbke/aws_list_all

Tôi chưa thử nó, nhưng nó có vẻ hợp pháp.



3

Tôi biết đó là câu hỏi cũ nhưng tôi cũng muốn giúp đỡ.

Trên thực tế, chúng tôi có AWS Config , giúp chúng tôi tìm kiếm tất cả các tài nguyên trong đám mây của mình. Bạn cũng có thể thực hiện các truy vấn SQL.

Tôi thực sự khuyến khích tất cả các bạn biết dịch vụ tuyệt vời này.


2

Đúng.

Tôi đã có cùng một vấn đề, cố gắng tìm hiểu chính xác những gì đang diễn ra trong tài khoản AWS của tôi.

Cuối cùng, tôi đã kết thúc việc viết AWSRetriver , một công cụ máy tính để bàn để liệt kê các tài nguyên AWS trên tất cả các vùng.

Nó là một công cụ đơn giản và dễ hiểu, liệt kê mọi thứ ... (hy vọng) Tài nguyên AWS


1

Đã muộn rồi nhưng bạn nên xem xét điều này. Không phải CLI tôi biết nhưng vẫn có giá trị chỉ cần gõ một tập lệnh shell nhỏ để làm những gì bạn cần:

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

Đó là một thư viện python mà theo cách riêng của nó:

"Mô tả dự án Liệt kê tất cả các tài nguyên trong tài khoản AWS, tất cả các vùng, tất cả các dịch vụ (*). Viết các tệp JSON để xử lý thêm.

(*) Không đảm bảo cho sự hoàn chỉnh. Sử dụng thông báo thanh toán nếu bạn lo lắng về chi phí. "


0

Tôi cũng đang tìm kiếm tính năng tương tự "liệt kê tất cả các tài nguyên" trong AWS nhưng không thể tìm thấy bất cứ điều gì đủ tốt.

"Nhóm tài nguyên" không giúp ích vì nó chỉ liệt kê các tài nguyên đã được gắn thẻ và người dùng phải chỉ định thẻ. Nếu bạn bỏ lỡ để gắn thẻ tài nguyên, tài nguyên đó sẽ không xuất hiện trong "Nhóm tài nguyên" .

Giao diện người dùng của "Tạo nhóm tài nguyên"

Một tính năng phù hợp hơn là "Nhóm tài nguyên" -> "Trình chỉnh sửa thẻ" như đã đề cập trong bài viết trước. Chọn (các) khu vực và loại tài nguyên để xem danh sách các tài nguyên trong Trình chỉnh sửa thẻ. Điều này phục vụ mục đích nhưng không thân thiện với người dùng vì tôi phải nhập loại tài nguyên và vùng mỗi lần tôi muốn sử dụng. Tôi vẫn đang tìm kiếm giao diện người dùng dễ sử dụng.

Giao diện người dùng của "Tìm tài nguyên" trong "Trình chỉnh sửa thẻ"


Thật ra, đây là một cứu cánh đích thực cho tôi! Chỉ cần mở Trình chỉnh sửa thẻ, chọn từng vùng một (không có nhiều vùng trong số đó) và "Tất cả các loại tài nguyên" và nhấn "Tìm tài nguyên". Sau đó, bạn có thể tải xuống toàn bộ danh sách dưới dạng CSV.
Tero Tilus

0

Thử cái này

Chỉ dành cho ec2:

from skew import scan

    arn = scan('arn:aws:ec2:us-west-2:123456789012:instance/i-12345678')
    for resource in arn:
        print(resource.data)

Đối với tất cả các tài nguyên:

arn = scan('arn:aws:*:*:<<youraccountId>>:instance*')
for resource in arn:
    print(resource.data)

Tham khảo: https://github.com/scopely-devops/skew



0

EDIT: Câu trả lời này không được chấp nhận. Kiểm tra các câu trả lời khác.

Không,
không có cách nào để có được tất cả tài nguyên trong tài khoản của bạn trong một lần. Mỗi khu vực là độc lập và đối với một số dịch vụ như khái niệm IAM về một khu vực hoàn toàn không tồn tại. Mặc dù có các lệnh gọi API có sẵn để liệt kê các tài nguyên và dịch vụ.
Ví dụ:

  • Để có danh sách tất cả các khu vực có sẵn cho tài khoản của bạn:

    output, err := client.DescribeRegions(&ec2.DescribeRegionsInput{})
    

  • Để có danh sách người dùng, vai trò hoặc nhóm IAM bạn có thể sử dụng:

    client.GetAccountAuthorizationDetails(&iam.GetAccountAuthorizationDetailsInput{})

    Bạn có thể tìm thêm chi tiết về các lệnh gọi API và việc sử dụng chúng tại: https://docs.aws.amazon.com/sdk-for-go/api/service/iam/

    Liên kết trên chỉ dành cho IAM. Tương tự, bạn có thể tìm API cho tất cả các tài nguyên và dịch vụ khác.


  • Câu trả lời này đã lỗi thời
    Carles Alcolea

    -1

    Một tùy chọn khác là sử dụng tập lệnh này để thực thi "aws configservice list-Discover-resource --resource-type" cho mọi tài nguyên

    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
    
    Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
    Licensed under cc by-sa 3.0 with attribution required.