มีวิธีแสดงรายการทรัพยากรทั้งหมดใน AWS หรือไม่


138

มีวิธีแสดงรายการทรัพยากรทั้งหมดใน AWS หรือไม่ สำหรับทุกภูมิภาคทรัพยากรทั้งหมด .. เช่นแสดงรายการอินสแตนซ์ EC2 ทั้งหมด VPC ทั้งหมด API ทั้งหมดใน API Gateway ฯลฯ ... ฉันต้องการแสดงรายการทรัพยากรทั้งหมดสำหรับบัญชีของฉันเนื่องจากเป็นเรื่องยากสำหรับฉันที่จะค้นหาทรัพยากรที่ฉันสามารถทำได้ สละตอนนี้


1
ลองดูคำตอบของฉันสำหรับคำถามนี้ - stackoverflow.com/questions/43984337/multiple-aws-reigon/…น่าจะเพียงพอสำหรับคุณเริ่มต้น
Colwin

ที่มีประโยชน์อาจเป็นไปได้: aws.amazon.com/config , github.com/lebinh/aq , github.com/scopely-devops/skew
jarmod

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 จะรวบรวมข้อมูลเกี่ยวกับทรัพยากรที่เกี่ยวข้องกับ EC2 / VPC เท่านั้นไม่ใช่ทุกอย่างในบัญชี AWS ของคุณ


14
คำตอบนี้ผิด คุณสามารถแสดงรายการบริการทั้งหมดในทุกภูมิภาคได้โดยใช้ Cost Explorer
Carles Alcolea

10
คำตอบนี้น่าจะล้าสมัย ขณะนี้เป็นที่กล่าวถึงโดยคนไม่กี่คนที่นี่คุณสามารถใช้ทั้งจัดการแท็กหรือ'ค่าใช้จ่ายรายเดือนโดยบริการ'ในต้นทุน Explorer ที่
maximpa

ดูเหมือนว่า AWS Config จะใช้ได้ผลสำหรับฉัน ฉันต้องการค้นหาสแนปชอตที่ฉันถ่ายด้วยเหตุผลอื่นและลืมไปและเห็นได้ชัดว่าลบอินสแตนซ์ EC2 ไปแล้ว การรับรายการ AWS Config แบบเต็มจากนั้นค้นหา 'snap' ทำให้ฉันพบมัน
Peter Smith

206

ใช่. ใช้ตัวแก้ไขแท็ก คุณสามารถคลิกผ่านเพื่อจัดการทรัพยากรแต่ละรายการ

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


42
ในการแสดงรายการทรัพยากรทั้งหมดโดยใช้ Tag Editor คุณต้องเลือกภูมิภาคทั้งหมดที่แสดงด้วยตนเอง (15 ภูมิภาคทั้งหมด ณ วันที่ของวันนี้) และเลือก "ประเภททรัพยากรทั้งหมด" และไม่ต้องระบุแท็ก จากนั้นคลิก "ค้นหาทรัพยากร" และจะแสดงทรัพยากรทั้งหมดที่สร้างขึ้นในบัญชีของคุณ
Garrison Becker

3
โปรดทราบว่าสิ่งนี้จะค้นหาประเภททรัพยากรที่รองรับdocs.aws.amazon.com/ARG/latest/userguide/…
ekcrisp

18
นี่เป็นแนวคิดอัจฉริยะ แต่น่าเสียดายที่ประเภททรัพยากรที่สำคัญจำนวนมากยังไม่รองรับ ณ วันนี้กันยายน 2018 ฉันไม่พบตาราง DynamoDB, API Gateway, 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

46

คุณสามารถใช้ไฟล์Tag Editor.

  1. ไปที่ AWS Console
  2. ในบานหน้าต่างนำทางด้านบนให้คลิกรายการResource Groupsแบบเลื่อนลง
  3. คลิก Tag Editor AWS แสดงรายการทรัพยากรทั้งหมดในทุกภูมิภาค

ที่นี่เราสามารถเลือกภูมิภาคเฉพาะที่เราต้องการค้นหาหรือเลือกภูมิภาคทั้งหมดจากเมนูแบบเลื่อนลง จากนั้นเราสามารถเลือกทรัพยากรจริงที่เราต้องการค้นหาหรือคลิกที่ทรัพยากรแต่ละรายการก็ได้

ป้อนคำอธิบายภาพที่นี่


2
นี่คือคำตอบที่ถูกต้อง ทำงานได้ดีสำหรับฉันขอบคุณ!
Edward Corrigall

ฉันยอมรับว่านี่เป็นคำตอบที่ถูกต้องใช้งานได้และง่ายต่อการปฏิบัติตาม
Ben Gosub

8

ฉันจะใช้ "ตัวแก้ไขแท็ก" ใน "กลุ่มทรัพยากร" ตามที่ Ashwini แนะนำ

คุณสามารถแสดงรายการทรัพยากรทั้งหมดในทุกภูมิภาคได้อย่างง่ายดายโดยไม่ต้องตั้งค่าใด ๆ เป็นต้น
และแม้ว่าสิ่งนี้จะรวมถึง VPCs + กลุ่มความปลอดภัยเริ่มต้นทั้งหมด ฯลฯ (ดังนั้นคุณจะได้รับ ~ 140 รายการแม้ว่าบัญชีของคุณจะว่างเปล่า) แต่คุณก็ยังสามารถกรองได้อย่างง่ายดาย สิ่งนี้ไม่ว่าจะภายในตัวแก้ไขแท็กหรือส่งออกเป็น csv และกรองใน Excel เป็นต้น


7

ใช้PacBot (Policy as Code Bot) - โครงการโอเพ่นซอร์สซึ่งเป็นแพลตฟอร์มสำหรับการตรวจสอบการปฏิบัติตามกฎระเบียบอย่างต่อเนื่องการรายงานการปฏิบัติตามข้อกำหนดและระบบอัตโนมัติด้านความปลอดภัยสำหรับระบบคลาวด์ ทรัพยากรทั้งหมดในทุกบัญชีและทุกภูมิภาคถูกค้นพบโดย PacBot จะได้รับการประเมินเทียบกับนโยบายเหล่านี้เพื่อวัดความสอดคล้องของนโยบาย นอกจากนี้ยังมีฟีเจอร์ Omni Search เพื่อให้สามารถค้นหาทรัพยากรที่ค้นพบทั้งหมด แม้กระทั่งคุณสามารถยกเลิก / ลบรายละเอียดทรัพยากรผ่าน PacBot

ค้นหา Omni

ค้นหา Omni

หน้าผลการค้นหาพร้อมการกรองผลลัพธ์

หน้าผลการค้นหาพร้อมการกรองผลลัพธ์

หน้าเนื้อหา 360 / รายละเอียดเนื้อหา

หน้าเนื้อหา 360 / รายละเอียดเนื้อหา

ต่อไปนี้เป็นความสามารถสำคัญของ PacBot

  • การประเมินการปฏิบัติตามอย่างต่อเนื่อง
  • การรายงานการปฏิบัติตามโดยละเอียด
  • แก้ไขอัตโนมัติสำหรับการละเมิดนโยบาย
  • Omni Search - ความสามารถในการค้นหาทรัพยากรที่ค้นพบทั้งหมด
  • การติดตามการละเมิดนโยบายที่ง่ายขึ้น
  • พอร์ทัลบริการตนเอง
  • นโยบายที่กำหนดเองและการดำเนินการแก้ไขอัตโนมัติที่กำหนดเอง
  • การจัดกลุ่มเนื้อหาแบบไดนามิกเพื่อดูการปฏิบัติตามข้อกำหนด
  • ความสามารถในการสร้างโดเมนการปฏิบัติตามข้อกำหนดหลายรายการ
  • การจัดการข้อยกเว้น
  • อีเมลสรุป
  • รองรับบัญชี 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 ของฉัน

ในที่สุดฉันก็เขียนAWSRetriverซึ่งเป็นเครื่องมือเดสก์ท็อปเพื่อแสดงรายการทรัพยากร AWS ในทุกภูมิภาค

มันเป็นเครื่องมือที่เรียบง่ายและตรงไปตรงมาที่แสดงรายการทุกอย่าง ... (หวังว่า) ทรัพยากร AWS


1

มันสายไปแล้ว แต่คุณควรดูสิ่งนี้ ไม่ใช่ CLI ฉันรู้ แต่ก็ยังคุ้มค่าเพียงแค่เคาะเชลล์สคริปต์เล็กน้อยเพื่อทำสิ่งที่คุณต้องการ:

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

มันเป็นไลบรารี python ที่มีคำพูดของตัวเอง:

"คำอธิบายโครงการแสดงรายการทรัพยากรทั้งหมดในบัญชี 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

คุณสามารถใช้แบบสอบถามใน 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-#######'

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-found-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.