Чи є спосіб перерахувати всі ресурси в AWS


138

Чи є спосіб перерахувати всі ресурси в AWS? Для всіх регіонів, усіх ресурсів. Наприклад, перерахуйте всі екземпляри EC2, всі VPC, всі API в шлюзі API тощо. Я хотів би перерахувати всі ресурси для мого облікового запису, оскільки мені важко знайти, які ресурси я можу відмовитися зараз.


1
Погляньте на мою відповідь на це запитання - stackoverflow.com/questions/43984337/multiple-aws-reigon/… Потрібно вистачити для початку роботи.
Колвін


2
Ви можете створити групу ресурсів для всіх регіонів і для всіх послуг, які вам потрібно побачити. Група ресурсів покаже вам усі ці ресурси в одному місці. Ви також можете використовувати Aws cli для цього. aws.amazon.com/blogs/aws/resource-groups-and-tagging
Ашвіні

Відповіді:


8

Редагувати: Ця відповідь застаріла і є неправильною . Існує кілька способів перерахування ресурсів AWS (редактор тегів AWS тощо). Перегляньте інші відповіді для отримання більш детальної інформації.


Немає.

Кожна служба AWS (наприклад, Amazon EC2, Amazon S3) має власний набір викликів API. Також кожен регіон є незалежним.

Щоб отримати список усіх ресурсів, вам потрібно буде робити дзвінки API до кожної служби у кожному регіоні.

Ви можете активувати налаштування AWS :

AWS Config надає детальний огляд конфігурації ресурсів AWS у вашому обліковому записі AWS. Сюди входить, як ресурси пов'язані один з одним і як вони були налаштовані в минулому, щоб ви могли бачити, як конфігурації та відносини змінюються з часом.

Однак AWS Config збирає лише інформацію про ресурси, пов'язані з EC2 / VPC, а не про все у вашому акаунті AWS.


14
Ця відповідь неправильна. Ви дійсно можете перелічити всі служби в усіх регіонах за допомогою Провідника витрат.
Carles Alcolea

9
Ця відповідь, швидше за все, застаріла. Тепер, як вже згадується декілька людей тут, ви можете скористатися Менеджером тегів або "Щомісячна вартість обслуговування" в Провіднику витрат .
maximpa

AWS Config, здавалося, працює на мене. Я хотів знайти знімок, який я зробив з іншої причини і забув, і, очевидно, видалив для нього екземпляр EC2. отримання повного списку AWS Config, а потім пошук 'оснащення' допоміг мені знайти його.
Пітер Сміт

206

Так. Використовуйте Редактор тегів . Ви можете натиснути, щоб керувати окремими ресурсами.

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


42
Щоб перерахувати всі ресурси за допомогою Редактора тегів, ви вручну вибираєте всі перелічені регіони (15 загальних регіонів на сьогоднішню дату) та вибираєте "Усі типи ресурсів" і не вказуєте тег. Потім натисніть «Знайти ресурси», і це покаже всі ресурси, створені у вашому обліковому записі.
Гарнізон Бекер

3
Зауважте, що це буде запит підтримуваних типів ресурсів docs.aws.amazon.com/ARG/latest/userguide/…
ekcrisp

18
Це геніальна ідея, але, на жаль, на сьогоднішній день вересень 2018 року багато важливих типів ресурсів ще не підтримуються. Я не знайшов своїх таблиць DynamoDB, API Gateway, Lambda, IAM ролей тощо.
Bing Ren

3
На жаль, посилання "Редактор тегів" наразі 404
wo.in.silver

1
Старого редактора тегів та посилань вище немає. Ви можете використовувати новий редактор тегів, але я не бачу способу збереження результатів у кількох регіонах. Дивіться console.aws.amazon.com/resource-groups та doc на docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html
AstroTom

45

Ви можете використовувати Tag Editor.

  1. Перейдіть на консоль AWS
  2. На панелі TOP навігації натисніть Resource Groupsспадне меню
  3. Клацніть Tag Editor AWS перераховує всі ресурси в усіх регіонах

Тут ми можемо вибрати або певний регіон, у якому ми хочемо здійснити пошук, або вибрати всі регіони зі спадного меню. Тоді ми можемо вибрати фактичні ресурси, які ми хочемо шукати, або також можемо натиснути на окремі ресурси.

введіть тут опис зображення


2
Це правильна відповідь. Для мене чудово працювали, дякую!
Едвард Коррігалл

Я згоден, це правильна відповідь, вона працює, і це дуже легко дотримуватися
Бен Госуб

8

Я б пішов з "редактором тегів" у "групах ресурсів" для цього, як запропонував Ешвіні.

Ви можете легко перерахувати всі ресурси у всіх регіонах без будь-яких налаштувань тощо.
І хоча це включає всі VPC-програми за замовчуванням + групи безпеки тощо (тому ви отримаєте ~ 140 елементів, навіть якщо ваш обліковий запис порожній), ви все одно можете досить легко фільтрувати це, наприклад, у редакторі тегів, або експортувати в csv і фільтрувати, наприклад, у Excel.


7

Використовуйте PacBot (Policy як Code Bot) - проект із відкритим кодом, який є платформою для постійного контролю за дотриманням, звітування про відповідність та автоматизацію безпеки для хмари. Всі ресурси в усіх облікових записах і в усіх регіонах, виявлені PacBot, оцінюються відповідно до цих політик, щоб оцінити відповідність політиці. Функції пошуку Omni також доступні, що дає можливість шукати всі виявлені ресурси. Навіть ви можете скасувати / видалити деталі ресурсу через PacBot.

Пошук Omni

Пошук Omni

Сторінка результатів пошуку з фільтруванням результатів

Сторінка результатів пошуку з фільтруванням результатів

Сторінка активів / деталі активів

Сторінка активів / деталі активів

Далі наведені основні можливості PacBot

  • Постійна оцінка відповідності.
  • Детальна звітність про відповідність.
  • Автоматичне виправлення порушень політики.
  • Пошук Omni - можливість пошуку всіх виявлених ресурсів.
  • Спрощене відстеження порушень політики.
  • Портал самообслуговування.
  • Спеціальна політика та власні дії автоматичного виправлення.
  • Динамічне групування активів для перегляду відповідності.
  • Можливість створення декількох доменів відповідності.
  • Управління винятками.
  • Дайджести електронної пошти
  • Підтримується кілька облікових записів AWS.
  • Повністю автоматизований інсталятор.
  • Настроювані панелі інструментів.
  • Підтримка OAuth2.
  • Інтеграція Azure AD для входу.
  • Рольовий контроль доступу.
  • Актив 360 градусів.

1
@SyCode Так, ви можете приймати його на передній час
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/

Це бібліотека пітонів, яка своїми словами:

"Опис проекту Перерахуйте всі ресурси в обліковому записі AWS, у всіх регіонах, у всіх службах (*). Записує файли JSON для подальшої обробки.

(*) Немає гарантій на повноту. Використовуйте сповіщення про виставлення рахунків, якщо ви турбуєтесь про витрати. "


0

Я також шукаю подібну функцію "перерахувати всі ресурси" в AWS, але не змогла знайти нічого достатнього.

"Групи ресурсів" не допомагають, оскільки вони перераховують лише ресурси, які були позначені тегами, і користувач повинен вказати тег. Якщо ви пропустите тег на ресурс, він не з’явиться в "Групі ресурсів" .

Інтерфейс користувача "Створити групу ресурсів"

Більш підходящою функцією є "Групи ресурсів" -> "Редактор тегів", як уже згадувалося в попередньому дописі. Виберіть регіон (и) та тип ресурсів, щоб побачити список ресурсів у редакторі тегів. Це служить цілі, але не дуже зручно для користувачів, оскільки мені потрібно вводити регіон та тип ресурсу кожного разу, коли я хочу його використовувати. Я все ще шукаю простий у користуванні інтерфейс користувача.

Інтерфейс користувача "Знайти ресурс" у розділі "Редактор тегів"


Власне, це був справжній рятівник для мене! Просто відкрийте «Редактор тегів», виберіть по одному всі регіони (їх не так багато) та «Усі типи ресурсів» та натисніть «Знайти ресурси». Потім ви можете завантажити весь список у вигляді CSV.
Теро Тілус

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

EDIT: Ця відповідь застаріла. Перевірте інші відповіді.

Ні,
немає жодного способу отримати усі ресурси у вашому обліковому записі за один раз. Кожен регіон є незалежним і для деяких служб, таких як концепція 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 для всіх інших ресурсів та служб.


  • Ця відповідь застаріла
    Карлес

    -1

    Іншим варіантом є використання цього сценарію, який виконує "aws configservice list-discovery-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
    
    Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
    Licensed under cc by-sa 3.0 with attribution required.