Gibt es eine Möglichkeit, alle Ressourcen in AWS aufzulisten?

138

Gibt es eine Möglichkeit, alle Ressourcen in AWS aufzulisten? Für alle Regionen, alle Ressourcen. Zum Beispiel alle EC2-Instanzen, alle VPCs, alle APIs in API Gateway usw. auflisten. Ich möchte alle Ressourcen für mein Konto auflisten, da es für mich schwierig ist, die Ressourcen zu finden, die ich finden kann jetzt aufgeben.

Lakin Lu
quelle
1
Schauen Sie sich meine Antwort auf diese Frage an - stackoverflow.com/questions/43984337/multiple-aws-reigon/… Sollte ausreichen, um Ihnen den Einstieg zu erleichtern .
Colwin
2
Sie können eine Ressourcengruppe für alle Regionen und für alle Dienste erstellen, die Sie anzeigen müssen. Die Ressourcengruppe zeigt Ihnen alle diese Ressourcen an einem Ort. Sie können auch aws cli dafür verwenden. aws.amazon.com/blogs/aws/resource-groups-and-tagging
Ashwini

Antworten:

8

Bearbeiten: Diese Antwort ist veraltet und falsch . Es gibt verschiedene Möglichkeiten, AWS-Ressourcen aufzulisten (AWS-Tag-Editor usw.). Überprüfen Sie die anderen Antworten für weitere Details.


Nein.

Jeder AWS-Service (z. B. Amazon EC2, Amazon S3) verfügt über eigene API-Aufrufe. Außerdem ist jede Region unabhängig.

Um eine Liste aller Ressourcen zu erhalten, müssten Sie API-Aufrufe für jeden Dienst in jeder Region durchführen.

Möglicherweise möchten Sie AWS Config aktivieren :

AWS Config bietet eine detaillierte Ansicht der Konfiguration von AWS-Ressourcen in Ihrem AWS-Konto. Dazu gehört, wie die Ressourcen miteinander in Beziehung stehen und wie sie in der Vergangenheit konfiguriert wurden, damit Sie sehen können, wie sich die Konfigurationen und Beziehungen im Laufe der Zeit ändern.

AWS Config sammelt jedoch nur Informationen zu EC2 / VPC-bezogenen Ressourcen, nicht alles in Ihrem AWS-Konto.

John Rotenstein
quelle
14
Diese Antwort ist falsch. Mit dem Kosten-Explorer können Sie in der Tat alle Dienste in allen Regionen auflisten.
Carles Alcolea
8
Diese Antwort ist höchstwahrscheinlich veraltet. Wie von einigen Personen hier erwähnt, können Sie jetzt entweder den Tag-Manager oder die Option "Monatliche Kosten nach Service" im Kosten-Explorer verwenden .
Maximpa
AWS Config schien für mich zu funktionieren. Ich wollte einen Schnappschuss finden, den ich aus einem anderen Grund aufgenommen und vergessen hatte, und löschte anscheinend die EC2-Instanz dafür. Wenn ich die vollständige AWS-Konfigurationsliste abrufe und dann nach "Snap" suche, finde ich sie.
Peter Smith
203

Ja. Verwenden Sie den Tag-Editor . Sie können sich durchklicken, um einzelne Ressourcen zu verwalten.

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

schmmd
quelle
42
Um alle Ressourcen mit dem Tag-Editor aufzulisten, wählen Sie manuell alle aufgelisteten Regionen aus (insgesamt 15 Regionen zum heutigen Datum), wählen Sie "Alle Ressourcentypen" und geben Sie kein Tag an. Klicken Sie dann auf "Ressourcen suchen". Daraufhin werden alle Ressourcen angezeigt, die in Ihrem Konto erstellt wurden.
Garrison Becker
3
Beachten Sie, dass nur unterstützte Ressourcentypen abgefragt
ekcrisp
18
Dies ist eine geniale Idee, aber leider werden viele wichtige Ressourcentypen bis heute September 2018 noch nicht unterstützt. Ich habe meine DynamoDB-Tabellen, API-Gateway-, Lambda-, IAM-Rollen usw. nicht gefunden.
Bing Ren
3
Leider ist der Link "Tag Editor" jetzt 404.
Wool.in.Silver
1
Der alte Tag-Editor und die obigen Links sind weg. Sie können den neuen Tag-Editor verwenden, aber ich sehe keine Möglichkeit, Ergebnisse für mehrere Regionen zu speichern. Siehe console.aws.amazon.com/resource-groups und das Dokument unter docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html
AstroTom
42

Sie können die verwenden Tag Editor.

  1. Wechseln Sie zur AWS-Konsole
  2. Klicken Resource GroupsSie im TOP-Navigationsbereich auf Dropdown
  3. Klicken Tag Editor AWS listet alle Ressourcen in allen Regionen auf

Hier können wir entweder eine bestimmte Region auswählen, in der wir suchen möchten, oder alle Regionen aus der Dropdown-Liste auswählen. Dann können wir die tatsächlichen Ressourcen auswählen, nach denen wir suchen möchten, oder wir können auch auf einzelne Ressourcen klicken.

Geben Sie hier die Bildbeschreibung ein

Raman Sahasi
quelle
2
Dies ist die richtige Antwort. Hat super für mich funktioniert, danke!
Edward Corrigall
Ich bin damit einverstanden, dass dies die richtige Antwort ist, es funktioniert und es ist sehr einfach zu folgen
Ben Gosub
8

Ich würde dafür den "Tag-Editor" in "Ressourcengruppen" verwenden, wie von Ashwini vorgeschlagen.

Sie können problemlos alle Ressourcen in allen Regionen ohne Setup usw.
auflisten. Auch wenn dies alle Standard-VPCs + Sicherheitsgruppen usw. umfasst (Sie erhalten also ~ 140 Elemente, auch wenn Ihr Konto leer ist), können Sie dennoch recht einfach filtern Dies entweder im Tag-Editor oder zum Exportieren in CSV und zum Filtern in Excel.

Dylan
quelle
7

Verwenden Sie PacBot (Richtlinie als Code-Bot) - Ein Open Source-Projekt, das eine Plattform für die kontinuierliche Überwachung der Compliance, die Berichterstellung zur Compliance und die Sicherheitsautomatisierung für die Cloud darstellt. Alle Ressourcen in allen Konten und Regionen, die von PacBot ermittelt wurden, werden anhand dieser Richtlinien bewertet, um die Richtlinienkonformität zu messen. Es stehen auch Omni Search-Funktionen zur Verfügung, mit denen alle erkannten Ressourcen durchsucht werden können. Sogar Sie können Ressourcendetails über PacBot beenden / löschen.

Omni-Suche

Omni-Suche

Suchergebnisseite Mit Ergebnisfilterung

Suchergebnisseite Mit Ergebnisfilterung

Asset 360 / Asset Details-Seite

Asset 360 / Asset Details-Seite

Im Folgenden sind die wichtigsten PacBot-Funktionen aufgeführt

  • Kontinuierliche Compliance-Bewertung.
  • Detaillierte Compliance-Berichterstattung.
  • Auto-Fix für Richtlinienverstöße.
  • Omni-Suche - Möglichkeit, alle erkannten Ressourcen zu durchsuchen.
  • Vereinfachte Nachverfolgung von Richtlinienverletzungen.
  • Self-Service-Portal.
  • Benutzerdefinierte Richtlinien und benutzerdefinierte automatische Korrekturaktionen.
  • Dynamische Asset-Gruppierung zur Anzeige der Compliance.
  • Möglichkeit zum Erstellen mehrerer Compliance-Domänen.
  • Ausnahmemanagement.
  • E-Mail-Digests.
  • Unterstützt mehrere AWS-Konten.
  • Vollständig automatisierter Installer.
  • Anpassbare Dashboards.
  • OAuth2-Unterstützung.
  • Azure AD-Integration für die Anmeldung.
  • Rollenbasierte Zugriffskontrolle.
  • Asset 360 Grad.
Nidhish Krishnan
quelle
1
@ SyCode Ja, Sie können es onprem hosten
Nidhish Krishnan
Können Sie darauf hinweisen, dass ich, wie in der Dokumentation nicht erwähnt, anscheinend alle erforderlichen AWS-Services verwenden muss? Ich möchte zum Beispiel RedShift durch MySQL ersetzen.
SyCode
2
@SyCode vollständige Installationen Setup wird unter diesem Link gegeben
Nidhish Krishnan
5

Die von AWS bereitgestellten Tools sind nicht nützlich, da sie nicht umfassend sind.

In meinem eigenen Bestreben, dieses Problem zu beheben und eine Liste aller meiner AWS-Ressourcen abzurufen, habe ich Folgendes gefunden: https://github.com/JohannesEbke/aws_list_all

Ich habe es noch nicht getestet, aber es sieht echt aus.

Luke Chavers
quelle
3

Über die AWS Billing Management Console erhalten Sie einen Überblick über die monatlichen Ausgaben nach Service.

dbkaplun
quelle
1
Es dauert ~ 24 Stunden, bis der Kosten-Explorer gefüllt ist, aber ich mag diese Antwort :)
f01
3

Ich weiß, dass es eine alte Frage ist, aber ich würde auch gerne helfen.

Tatsächlich haben wir AWS Config , mit dessen Hilfe wir nach allen Ressourcen in unserer Cloud suchen können. Sie können auch SQL-Abfragen durchführen.

Ich ermutige Sie alle wirklich, diesen großartigen Service zu kennen.

Brenno Leal
quelle
2

Ja.

Ich hatte das gleiche Problem und versuchte herauszufinden, was genau in meinem AWS-Konto vor sich geht.

Schließlich schrieb ich AWSRetriver , ein Desktop-Tool zum Auflisten von AWS-Ressourcen in allen Regionen.

Es ist ein einfaches und unkompliziertes Tool, das alles auflistet ... (hoffentlich) AWS-Ressourcen

Danny Tylman
quelle
1

Es ist viel spät, aber Sie sollten sich das ansehen. Keine CLI, die ich kenne, aber es lohnt sich trotzdem, ein kleines Shell-Skript auszuschalten, um das zu tun, was Sie brauchen:

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

Es ist eine Python-Bibliothek, die in ihren eigenen Worten:

"Projektbeschreibung Listet alle Ressourcen in einem AWS-Konto, alle Regionen, alle Dienste (*) auf. Schreibt JSON-Dateien zur weiteren Verarbeitung.

(*) Keine Garantie für die Vollständigkeit. Verwenden Sie Abrechnungsbenachrichtigungen, wenn Sie sich Sorgen über die Kosten machen. "

Surj
quelle
0

Ich suche auch nach einer ähnlichen Funktion "Alle Ressourcen auflisten" in AWS, konnte aber nichts Gutes finden.

"Ressourcengruppen" hilft nicht, da nur Ressourcen aufgelistet werden, die mit Tags versehen wurden, und der Benutzer das Tag angeben muss. Wenn Sie eine Ressource nicht markieren, wird diese nicht in "Ressourcengruppen" angezeigt .

Benutzeroberfläche von "Ressourcengruppe erstellen"

Eine geeignetere Funktion ist "Ressourcengruppen" -> "Tag-Editor", wie bereits im vorherigen Beitrag erwähnt. Wählen Sie Region (en) und Ressourcentyp (en) aus, um eine Liste der Ressourcen im Tag-Editor anzuzeigen. Dies dient dem Zweck, ist aber nicht sehr benutzerfreundlich, da ich jedes Mal, wenn ich es verwenden möchte, Region und Ressourcentyp eingeben muss. Ich bin immer noch auf der Suche nach einer benutzerfreundlichen Benutzeroberfläche.

Benutzeroberfläche von "Ressource suchen" unter "Tag-Editor"

Dipak Kumar Singh
quelle
Eigentlich war das ein echter Lebensretter für mich! Öffnen Sie einfach den Tag-Editor, wählen Sie alle Regionen einzeln aus (es gibt nicht so viele) und "Alle Ressourcentypen" und klicken Sie auf "Ressourcen suchen". Dann können Sie die gesamte Liste als CSV herunterladen.
Tero Tilus
0

Versuche dies

Für nur ec2:

from skew import scan

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

Für alle Ressourcen:

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

Referenz: https://github.com/scopely-devops/skew

STang
quelle
0

EDIT: Diese Antwort ist veraltet. Überprüfen Sie die anderen Antworten.

Nein,
es gibt keine Möglichkeit, alle Ressourcen in Ihrem Konto auf einmal abzurufen. Jede Region ist unabhängig und für einige Dienste wie das IAM-Konzept existiert eine Region überhaupt nicht. Es sind zwar API-Aufrufe verfügbar, um Ressourcen und Dienste aufzulisten.
Beispielsweise:

  • So erhalten Sie eine Liste aller verfügbaren Regionen für Ihr Konto:

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

  • So erhalten Sie eine Liste der IAM-Benutzer, -Rollen oder -Gruppen:

    client.GetAccountAuthorizationDetails(&iam.GetAccountAuthorizationDetailsInput{})

    Weitere Informationen zu API-Aufrufen und deren Verwendung finden Sie unter: https://docs.aws.amazon.com/sdk-for-go/api/service/iam/

    Der obige Link ist nur für IAM. Ebenso finden Sie API für alle anderen Ressourcen und Dienste.

  • Abhishek Soni
    quelle
    Diese Antwort ist veraltet
    Carles Alcolea
    -1

    Eine andere Option ist die Verwendung dieses Skripts, das für jede Ressource "aws configservice list-found-resources --resource-type" ausführt

    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
    
    Luis
    quelle