C'è un modo per elencare tutte le risorse in AWS


138

C'è un modo per elencare tutte le risorse in AWS? Per tutte le regioni, tutte le risorse. Come elencare tutte le istanze EC2, tutti i VPC, tutte le API in API Gateway, ecc ... Vorrei elencare tutte le risorse per il mio account, poiché è difficile per me trovare quali risorse posso abbandona ora.


1
Dai un'occhiata alla mia risposta a questa domanda - stackoverflow.com/questions/43984337/multiple-aws-reigon/… Dovrebbe essere sufficiente per iniziare.
Colwin,


2
Puoi creare un gruppo di risorse per tutte le regioni e per tutti i servizi che devi vedere. Il gruppo di risorse ti mostrerà tutte queste risorse in un unico posto. puoi usare aws cli anche per questo. aws.amazon.com/blogs/aws/resource-groups-and-tagging
Ashwini

Risposte:


8

Modifica: questa risposta è obsoleta ed è errata . Esistono diversi modi per elencare le risorse AWS (l'editor di tag AWS, ecc.). Controlla le altre risposte per maggiori dettagli.


No.

Ogni servizio AWS (ad esempio Amazon EC2, Amazon S3) ha il proprio set di chiamate API. Inoltre, ogni regione è indipendente.

Per ottenere un elenco di tutte le risorse, è necessario effettuare chiamate API a tutti i servizi in ogni regione.

Potresti voler attivare AWS Config :

AWS Config fornisce una vista dettagliata della configurazione delle risorse AWS nel tuo account AWS. Ciò include il modo in cui le risorse sono correlate tra loro e come sono state configurate in passato in modo da poter vedere come le configurazioni e le relazioni cambiano nel tempo.

Tuttavia, AWS Config raccoglie solo informazioni sulle risorse relative a EC2 / VPC, non tutto nel tuo account AWS.


14
Questa risposta è sbagliata Puoi davvero elencare tutti i servizi in tutte le regioni usando il Cost Explorer.
Carles Alcolea,

9
Questa risposta è molto probabilmente obsoleta. Ora, come indicato da alcune persone qui, è possibile utilizzare il Tag Manager o il "Costo mensile per servizio" in Cost Explorer .
maximpa,

AWS Config sembrava funzionare per me. Volevo trovare un'istantanea che avevo preso per un altro motivo e di cui mi ero dimenticato, e apparentemente avevo cancellato l'istanza EC2. ottenere l'elenco completo di AWS Config e quindi cercare 'snap' mi ha aiutato a trovarlo.
Peter Smith,

206

Sì. Usa l' editor dei tag . È possibile fare clic per gestire le singole risorse.

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


42
Per elencare tutte le risorse usando Tag Editor, selezionare manualmente tutte le regioni elencate (15 regioni totali alla data odierna), selezionare "Tutti i tipi di risorse" e non specificare un tag. Quindi fai clic su "Trova risorse" e questo mostrerà tutte le risorse che sono state create sul tuo account.
Garrison Becker,


18
Questa è un'idea geniale, ma sfortunatamente molti importanti tipi di risorse non sono ancora supportati a partire da oggi settembre 2018. Non ho trovato le mie tabelle DynamoDB, API Gateway, Lambda, ruoli IAM, ecc ....
Bing Ren

3
Purtroppo il link "Tag Editor" ora è 404.
wool.in.silver,

1
Il vecchio editor di tag e i collegamenti sopra sono spariti. È possibile utilizzare il nuovo editor di tag, ma non vedo un modo per salvare i risultati multi-regione. Vedi console.aws.amazon.com/resource-groups e il documento su docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html
AstroTom

46

Puoi usare il Tag Editor.

  1. Vai alla Console AWS
  2. Nel riquadro di navigazione principale, fai clic sul Resource Groupsmenu a discesa
  3. Clic Tag Editor AWS elenca tutte le risorse in tutte le regioni

Qui possiamo selezionare una particolare regione in cui vogliamo cercare o selezionare tutte le regioni dal menu a discesa. Quindi possiamo selezionare le risorse effettive che vogliamo cercare o possiamo anche fare clic sulle singole risorse.

inserisci qui la descrizione dell'immagine


2
Questa è la risposta corretta Ha funzionato alla grande per me, grazie!
Edward Corrigall,

Sono d'accordo che questa è la risposta corretta, funziona ed è molto facile da seguire
Ben Gosub,

8

Vorrei andare con il "tag editor" in "gruppi di risorse" per questo, come suggerito da Ashwini.

Puoi facilmente elencare tutte le risorse in tutte le regioni senza alcuna impostazione, ecc.
E sebbene questo includa tutti i VPC + gruppi di sicurezza predefiniti ecc. (Così otterrai ~ 140 elementi anche se il tuo account è vuoto), puoi comunque filtrare abbastanza facilmente questo, ad esempio all'interno dell'editor di tag, oppure esporta in csv e filtra in Excel, ad esempio.


7

Usa PacBot (Policy as Code Bot) : un progetto Open Source che è una piattaforma per il monitoraggio continuo della conformità, la reportistica della conformità e l'automazione della sicurezza per il cloud. Tutte le risorse di tutti gli account e tutte le aree rilevate da PacBot vengono valutate in base a tali criteri per valutare la conformità delle politiche. Sono inoltre disponibili le funzionalità di ricerca Omni che consentono di cercare tutte le risorse rilevate. Anche tu puoi terminare / cancellare i dettagli delle risorse tramite PacBot.

Omni Search

Omni Search

Pagina dei risultati di ricerca con filtro dei risultati

Pagina dei risultati di ricerca con filtro dei risultati

Asset 360 / Pagina Dettagli asset

Asset 360 / Pagina Dettagli asset

Di seguito sono riportate le funzionalità chiave di PacBot

  • Valutazione continua della conformità.
  • Rapporti dettagliati sulla conformità.
  • Correzione automatica per violazioni delle norme.
  • Ricerca Omni - Possibilità di cercare tutte le risorse scoperte.
  • Tracciamento delle violazioni delle policy semplificato.
  • Portale self-service.
  • Politiche personalizzate e azioni di correzione automatica personalizzate.
  • Raggruppamento dinamico di risorse per visualizzare la conformità.
  • Capacità di creare più domini di conformità.
  • Gestione delle eccezioni.
  • Digestione di e-mail.
  • Supporta più account AWS.
  • Installatore completamente automatizzato.
  • Dashboard personalizzabili.
  • Supporto OAuth2.
  • Integrazione di Azure AD per l'accesso.
  • Controllo degli accessi in base al ruolo.
  • Attività a 360 gradi.

1
@SyCode Sì, puoi ospitarlo onprem
Nidhish Krishnan,

Puoi indicarmi come, non vedo alcun riferimento a questo nella documentazione, sembra che devo usare tutti i servizi AWS necessari. Ad esempio, vorrei sostituire RedShift con MySQL.
SyCode

2
A questo link
@SyCode



3

So che è una vecchia domanda, ma vorrei aiutare anche io.

In realtà, abbiamo AWS Config , che ci aiuta a cercare tutte le risorse nel nostro cloud. Puoi anche eseguire query SQL.

Incoraggio davvero tutti voi a conoscere questo fantastico servizio.


2

Sì.

Ho avuto lo stesso problema, cercando di capire cosa sta succedendo esattamente nel mio account AWS.

Alla fine, ho finito per scrivere AWSRetriver , uno strumento desktop per elencare le risorse AWS in tutte le regioni.

È uno strumento semplice e diretto che elenca tutto ... (si spera) Risorse AWS


1

È tardi ma dovresti guardare questo. Non la CLI che conosco, ma vale comunque la pena buttare giù un piccolo script di shell per fare ciò di cui hai bisogno:

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

È una libreria Python che con parole sue:

"Descrizione del progetto Elenca tutte le risorse in un account AWS, tutte le regioni, tutti i servizi (*). Scrive i file JSON per ulteriori elaborazioni.

(*) Nessuna garanzia di completezza. Utilizza avvisi di fatturazione se sei preoccupato per i costi ".


0

Sto anche cercando funzionalità simili "elenca tutte le risorse" in AWS ma non sono riuscito a trovare nulla di abbastanza buono.

"Gruppi di risorse" non aiuta perché elenca solo le risorse che sono state taggate e l'utente deve specificare il tag. Se ti manca il tag di una risorsa, ciò non verrà visualizzato in "Gruppi di risorse" .

Interfaccia utente di "Crea un gruppo di risorse"

Una caratteristica più adatta è "Gruppi di risorse" -> "Tag Editor" come già menzionato nel post precedente. Seleziona le regioni e i tipi di risorse per visualizzare l'elenco delle risorse nell'editor dei tag. Questo serve allo scopo ma non è molto user-friendly perché devo inserire la regione e il tipo di risorsa ogni volta che voglio usarlo. Sto ancora cercando un'interfaccia utente facile da usare.

Interfaccia utente di "Trova risorsa" in "Tag Editor"


In realtà, questo è stato un vero salvagente per me! Basta aprire Tag Editor, selezionare tutte le regioni una per una (non ce ne sono molte) e "Tutti i tipi di risorse" e premere "Trova risorse". Quindi è possibile scaricare l'intero elenco come CSV.
Tero Tilus,

0

Prova questo

Solo per ec2:

from skew import scan

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

Per tutte le risorse:

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

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



0

EDIT: questa risposta è obsoleta. Controlla le altre risposte.

No,
non c'è modo di ottenere tutte le risorse all'interno del tuo account in una volta sola. Ogni regione è indipendente e per alcuni servizi come il concetto IAM di una regione non esiste affatto. Sebbene siano disponibili chiamate API per elencare risorse e servizi.
Per esempio:

  • Per ottenere un elenco di tutte le aree disponibili per il tuo account:

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

  • Per ottenere un elenco di utenti, ruoli o gruppi IAM è possibile utilizzare:

    client.GetAccountAuthorizationDetails(&iam.GetAccountAuthorizationDetailsInput{})

    Puoi trovare maggiori dettagli sulle chiamate API e sul loro uso su: https://docs.aws.amazon.com/sdk-for-go/api/service/iam/

    Il link sopra è solo per IAM. Allo stesso modo, puoi trovare API per tutte le altre risorse e servizi.


  • Questa risposta è obsoleta
    Carles Alcolea,

    -1

    Un'altra opzione è utilizzare questo script che esegue "aws configservice list-found-resources --resource-type" per ogni risorsa

    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
    
    Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
    Licensed under cc by-sa 3.0 with attribution required.