Existe uma maneira de listar todos os recursos na AWS

138

Existe uma maneira de listar todos os recursos na AWS? Para todas as regiões, todos os recursos. Como listar todas as instâncias do EC2, todas as VPCs, todas as APIs no API Gateway, etc ... Gostaria de listar todos os recursos da minha conta, pois é difícil encontrar quais recursos posso desistir agora.

Lakin Lu
fonte
1
Dê uma olhada na minha resposta a esta pergunta - stackoverflow.com/questions/43984337/multiple-aws-reigon/… Deve ser suficiente para você começar.
Colwin
2
Você pode criar um grupo de recursos para todas as regiões e todos os serviços que você precisa ver. O Grupo de Recursos mostrará todos esses recursos em um só lugar. você pode usar o aws cli para isso também. aws.amazon.com/blogs/aws/resource-groups-and-tagging
Ashwini:

Respostas:

8

Editar: esta resposta está obsoleta e está incorreta . Existem várias maneiras de listar os recursos da AWS (o AWS Tag Editor, etc.). Verifique as outras respostas para mais detalhes.


Não.

Cada serviço da AWS (por exemplo, Amazon EC2, Amazon S3) tem seu próprio conjunto de chamadas de API. Além disso, cada região é independente.

Para obter uma lista de todos os recursos, você precisaria fazer chamadas de API para todos os serviços em todas as regiões.

Você pode ativar o AWS Config :

O AWS Config fornece uma visão detalhada da configuração dos recursos da AWS em sua conta da AWS. Isso inclui como os recursos estão relacionados entre si e como foram configurados no passado, para que você possa ver como as configurações e os relacionamentos mudam ao longo do tempo.

No entanto, o AWS Config coleta apenas informações sobre recursos relacionados ao EC2 / VPC, nem tudo na sua conta da AWS.

John Rotenstein
fonte
14
Esta resposta está errada. Você pode realmente listar todos os serviços em todas as regiões usando o Cost Explorer.
Carles Alcolea,
9
Esta resposta é provavelmente obsoleta. Agora, como mencionado por algumas pessoas aqui, você pode usar o Gerenciador de tags ou o 'Custo mensal por serviço' no Cost Explorer .
Maximpa
O AWS Config parecia funcionar para mim. Queria encontrar um instantâneo que tirei por outro motivo e esqueci, e aparentemente excluí a instância do EC2 por ele. obter a lista completa do AWS Config e, em seguida, procurar por 'snap' me ajudou a encontrá-lo.
Peter Smith
206

Sim. Use o Editor de tags . Você pode clicar para gerenciar recursos individuais.

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

schmmd
fonte
42
Para listar todos os recursos usando o Editor de tags, selecione manualmente todas as regiões listadas (15 regiões no total na data de hoje), selecione "Todos os tipos de recursos" e não especifique uma marca. Em seguida, clique em "Encontrar recursos" e isso mostrará todos os recursos criados em sua conta.
Garrison Becker
3
observe que isso consultará apenas os tipos de recursos suportados docs.aws.amazon.com/ARG/latest/userguide/…
ekcrisp
18
Esta é uma ideia genial, mas infelizmente muitos tipos de recursos importantes ainda não são suportados a partir de setembro de 2018. Não encontrei minhas tabelas DynamoDB, API Gateway, Lambda, funções do IAM, etc ...
Bing Ren
3
Infelizmente, o link "Tag Editor" é agora 404.
wool.in.silver
1
O antigo editor de tags e os links acima sumiram. Você pode usar o novo editor de tags, mas não vejo uma maneira de salvar resultados de várias regiões. Veja console.aws.amazon.com/resource-groups eo doc no docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html
AstroTom
44

Você pode usar o Tag Editor.

  1. Acesse o console da AWS
  2. No painel de navegação TOP, clique em Resource Groupssuspenso
  3. Clique Tag Editor A AWS lista todos os recursos em todas as regiões

Aqui, podemos selecionar uma região específica na qual queremos pesquisar ou selecionar todas as regiões no menu suspenso. Depois, podemos selecionar os recursos reais que queremos pesquisar ou também podemos clicar nos recursos individuais.

insira a descrição da imagem aqui

Raman Sahasi
fonte
2
Essa é a resposta correta. Funcionou muito bem para mim, obrigado!
Edward Corrigall 18/03
Eu concordo que esta é a resposta correta, funciona e é muito fácil de seguir
Ben Gosub 21/06
8

Eu usaria o "editor de tags" em "grupos de recursos" para isso, conforme sugerido por Ashwini.

Você pode listar facilmente todos os recursos em todas as regiões sem nenhuma configuração, etc.
E, embora isso inclua todos os VPCs padrão + grupos de segurança etc. (para obter ~ 140 itens, mesmo que sua conta esteja vazia), você ainda pode filtrar facilmente isso, no editor de tags, ou exporte para csv e filtre no Excel, por exemplo.

Dylan
fonte
7

Use PacBot (Política como Código Bot) - Um projeto de código aberto que é uma plataforma para monitoramento contínuo de conformidade, relatórios de conformidade e automação de segurança para a nuvem. Todos os recursos em todas as contas e todas as regiões descobertas pelo PacBot são avaliadas em relação a essas políticas para avaliar sua conformidade. Os recursos do Omni Search também estão disponíveis, permitindo pesquisar todos os recursos descobertos. Mesmo você pode encerrar / excluir detalhes do recurso através do PacBot.

Pesquisa Omni

Pesquisa Omni

Página de resultados de pesquisa com filtragem de resultados

Página de resultados de pesquisa com filtragem de resultados

Página do ativo 360 / detalhes do ativo

Página do ativo 360 / detalhes do ativo

A seguir, estão os principais recursos do PacBot

  • Avaliação de conformidade contínua.
  • Relatório detalhado de conformidade.
  • Correção automática para violações de política.
  • Omni Search - Capacidade de pesquisar todos os recursos descobertos.
  • Rastreamento de violação de política simplificado.
  • Portal de autoatendimento.
  • Políticas personalizadas e ações personalizadas de correção automática.
  • Agrupamento dinâmico de ativos para visualizar a conformidade.
  • Capacidade de criar vários domínios de conformidade.
  • Gerenciamento de exceção.
  • Digestões por e-mail.
  • Oferece suporte a várias contas da AWS.
  • Instalador completamente automatizado.
  • Painéis personalizáveis.
  • Suporte OAuth2.
  • Integração do Azure AD para logon.
  • Controle de acesso baseado em função.
  • Ativo em 360 graus.
Nidhish Krishnan
fonte
1
@SyCode Sim, você pode hospedá-lo OnPrem
Nidhish Krishnan
Você pode apontar como, não vejo menção a isso na documentação, parece que tenho que usar todos os serviços necessários da AWS. Gostaria, por exemplo, de substituir o RedShift pelo MySQL.
SyCode
2
@SyCode configuração instalações completas é dada a esta ligação
Nidhish Krishnan
5

As ferramentas fornecidas pela AWS não são úteis porque não são abrangentes.

Em minha própria busca para mitigar esse problema e obter uma lista de todos os meus recursos da AWS, encontrei o seguinte: https://github.com/JohannesEbke/aws_list_all

Ainda não testei, mas parece legítimo.

Luke Chavers
fonte
3

O AWS Billing Management Console fornecerá um resumo do gasto mensal por serviço.

dbkaplun
fonte
1
Demora ~ 24 horas para o Cost Explorer preencher, mas eu gosto desta resposta :) #
f01 21/01/19
3

Eu sei que é uma pergunta antiga, mas gostaria de ajudar também.

Na verdade, temos o AWS Config , que nos ajuda a procurar todos os recursos em nossa nuvem. Você também pode executar consultas SQL.

Eu realmente encorajo todos vocês a conhecer este serviço incrível.

Brenno Leal
fonte
2

Sim.

Eu tive o mesmo problema, tentando descobrir o que exatamente está acontecendo na minha conta da AWS.

Acabei escrevendo o AWSRetriver , uma ferramenta de desktop para listar os recursos da AWS em todas as regiões.

É uma ferramenta simples e direta que lista tudo ... (espero) Recursos da AWS

Danny Tylman
fonte
1

É muito tarde, mas você deve olhar para isso. Não é CLI que eu conheço, mas ainda vale a pena apenas executar um pequeno script de shell para fazer o que você precisa:

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

É uma biblioteca python que, em suas próprias palavras:

"Descrição do projeto Liste todos os recursos em uma conta da AWS, todas as regiões, todos os serviços (*). Grava arquivos JSON para processamento adicional.

(*) Não há garantias de integridade. Use alertas de cobrança se estiver preocupado com os custos ".

Surj
fonte
0

Também estou procurando um recurso semelhante "listar todos os recursos" na AWS, mas não foi possível encontrar nada bom o suficiente.

"Grupos de recursos" não ajuda, pois lista apenas os recursos que foram marcados e o usuário precisa especificar a marcação. Se você deixar de marcar um recurso, ele não aparecerá em "Grupos de Recursos" .

Interface do usuário de "Criar um grupo de recursos"

Um recurso mais adequado é "Grupos de recursos" -> "Editor de tags", como já mencionado na postagem anterior. Selecione a (s) região (s) e o (s) tipo (s) de recursos para ver a lista de recursos no editor de tags. Isso serve ao propósito, mas não é muito fácil de usar, porque eu tenho que inserir a região e o tipo de recurso sempre que quiser usá-lo. Ainda estou procurando uma interface fácil de usar.

Interface do usuário de "Localizar recurso" em "Editor de tags"

Dipak Kumar Singh
fonte
Na verdade, este foi um verdadeiro salva-vidas para mim! Basta abrir o Editor de tags, selecionar todas as regiões uma por uma (não são muitas) e "Todos os tipos de recursos" e clicar em "Encontrar recursos". Em seguida, você pode baixar a lista inteira como CSV.
Tero Tilus
0

Tente isto

Para apenas ec2:

from skew import scan

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

Para todos os recursos:

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

Referência: https://github.com/scopely-devops/skew

STang
fonte
0

EDIT: Esta resposta está obsoleta. Verifique as outras respostas.

Não,
Não há nenhuma maneira de obter todos os recursos dentro da sua conta de uma só vez. Cada região é independente e, para alguns serviços, como o conceito IAM de uma região, não existe. Embora existam chamadas de API disponíveis para listar recursos e serviços.
Por exemplo:

  • Para obter uma lista de todas as regiões disponíveis para sua conta:

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

  • Para obter a lista de usuários, funções ou grupo do IAM, você pode usar:

    client.GetAccountAuthorizationDetails(&iam.GetAccountAuthorizationDetailsInput{})

    Você pode encontrar mais detalhes sobre chamadas de API e seu uso em: https://docs.aws.amazon.com/sdk-for-go/api/service/iam/

    O link acima é apenas para o IAM. Da mesma forma, você pode encontrar API para todos os outros recursos e serviços.

  • Abhishek Soni
    fonte
    Esta resposta está desatualizada
    Carles Alcolea
    -1

    Outra opção é usar esse script que executa "aws configservice list-discover-resources --resource-type" para cada recurso

    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
    fonte