AWS'deki tüm kaynakları listelemenin bir yolu var mı


138

AWS'deki tüm kaynakları listelemenin bir yolu var mı? Tüm bölgeler için, tüm kaynaklar .. Tüm EC2 örneklerini, tüm VPC'leri, API Ağ Geçidindeki tüm API'leri listelemek gibi ... Yapabileceğim kaynakları bulmak benim için zor olduğundan hesabım için tüm kaynakları listelemek istiyorum şimdi vazgeç.


1
Bu soruya verdiğim yanıta bir göz atın - stackoverflow.com/questions/43984337/multiple-aws-reigon/… Başlamanız için yeterli olmalı.
Colwin


2
Tüm bölge ve görmeniz gereken tüm hizmetler için bir Kaynak Grubu oluşturabilirsiniz. Kaynak Grubu size tüm bu kaynakları tek bir yerde gösterecektir. bunun için aws cli de kullanabilirsiniz. aws.amazon.com/blogs/aws/resource-groups-and-tagging
Ashwini

Yanıtlar:


8

Düzenleme: Bu cevap kullanımdan kaldırılmıştır ve yanlıştır . AWS kaynaklarını (AWS Etiket Düzenleyici vb.) Listelemenin birkaç yolu vardır. Daha fazla ayrıntı için diğer yanıtları kontrol edin.


Hayır.

Her AWS Hizmeti'nin (ör. Amazon EC2, Amazon S3) kendi API çağrıları vardır. Ayrıca her Bölge bağımsızdır.

Tüm kaynakların bir listesini elde etmek için, her bölgedeki her hizmete API çağrıları yapmanız gerekir.

AWS Config'i etkinleştirmek isteyebilirsiniz :

AWS Config, AWS hesabınızdaki AWS kaynaklarının yapılandırmasının ayrıntılı bir görünümünü sağlar. Bu, kaynakların birbiriyle nasıl ilişkili olduğunu ve geçmişte nasıl yapılandırıldığını içerir, böylece konfigürasyonların ve ilişkilerin zaman içinde nasıl değiştiğini görebilirsiniz.

Ancak AWS Config, AWS hesabınızdaki her şeyi değil, yalnızca EC2 / VPC ile ilgili kaynaklar hakkında bilgi toplar.


14
Bu cevap yanlış. Maliyet Gezgini'ni kullanarak tüm bölgelerdeki tüm hizmetleri gerçekten listeleyebilirsiniz.
Carles Alcolea

10
Bu cevap büyük olasılıkla geçerliliğini yitirmiştir. Şimdi, burada birkaç kişinin bahsettiği gibi , Maliyet Gezgini'nde Etiket Yöneticisi'ni veya "Hizmete göre aylık maliyet" i kullanabilirsiniz .
maximpa

AWS Config benim için çalışıyor gibiydi. Başka bir nedenle çektiğim ve unuttuğum bir anlık görüntüyü bulmak istedim ve görünüşe göre EC2 örneğini sildim. AWS Config listesinin tamamını almak ve ardından 'snap' araması yapmak beni bulmamı sağladı.
Peter Smith

206

Evet. Etiket Düzenleyiciyi kullanın . Tek tek kaynakları yönetmek için tıklayabilirsiniz.

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


42
Etiket Düzenleyiciyi kullanarak tüm kaynakları listelemek için, listelenen tüm bölgeleri manuel olarak seçersiniz (bugünün tarihi itibariyle toplam 15 bölge) ve "Tüm kaynak türleri" ni seçersiniz ve bir etiket belirtmezsiniz. Ardından "Kaynakları bul" u tıklayın ve bu, hesabınızda oluşturulan tüm kaynakları gösterecektir.
Garrison Becker

3
bunun yalnızca desteklenen kaynak türlerini sorgulayacağına dikkat edin docs.aws.amazon.com/ARG/latest/userguide/…
ekcrisp

18
Bu dahice bir fikir ancak ne yazık ki birçok önemli kaynak türü bugün Eylül 2018 itibarıyla henüz desteklenmiyor. DynamoDB tablolarımı, API Ağ Geçidini, Lambda, IAM rollerini vb. Bulamadım ....
Bing Ren

3
Ne yazık ki "Etiket Düzenleyici" bağlantısı artık 404.
wool.in.silver

1
Eski etiket düzenleyici ve yukarıdaki bağlantılar kayboldu. Yeni etiket düzenleyiciyi kullanabilirsiniz, ancak çok bölgeli sonuçları kaydetmenin bir yolunu göremiyorum. Console.aws.amazon.com/resource-groups
AstroTom

46

Kullanabilirsiniz Tag Editor.

  1. AWS Konsoluna gidin
  2. TOP Gezinti Bölmesinde, Resource GroupsAçılır Menü'yü tıklayın
  3. Tıklayın Tag Editor AWS tüm bölgelerdeki tüm kaynakları listeler

Burada, aramak istediğimiz belirli bir bölgeyi seçebilir veya açılır menüden tüm bölgeleri seçebiliriz. Daha sonra aramak istediğimiz gerçek kaynakları seçebilir veya tek tek kaynaklara da tıklayabiliriz.

görüntü açıklamasını buraya girin


2
Bu doğru cevap. Benim için harika çalıştı, teşekkürler!
Edward Corrigall

Bunun doğru yanıt olduğuna katılıyorum, işe yarıyor ve takip etmesi çok kolay
Ben Gosub

8

Ashwini'nin önerdiği gibi, bunun için "kaynak gruplarında" "etiket düzenleyici" ile giderdim.

Herhangi bir kurulum vb. Olmadan tüm bölgelerdeki tüm kaynakları kolayca listeleyebilirsiniz.
Ve bu, tüm varsayılan VPC'leri + güvenlik gruplarını vb. İçermesine rağmen (böylece hesabınız boş olsa bile ~ 140 öğe alırsınız), yine de oldukça kolay bir şekilde filtreleme yapabilirsiniz. bu, etiket düzenleyicide veya örneğin csv'ye aktarın ve Excel'de filtreleyin.


7

PacBot'u (Kod Botu Olarak Politika) Kullanın - Bulut için sürekli uyumluluk izleme, uyumluluk raporlaması ve güvenlik otomasyonu için bir platform olan bir Açık Kaynak projesi. Tüm hesaplardaki ve tüm bölgelerdeki tüm kaynaklar, PacBot tarafından keşfedilir ve politika uygunluğunu ölçmek için bu politikalara göre değerlendirilir. Omni Arama özellikleri, keşfedilen tüm kaynaklarda arama yapma olanağı da sağlar. PacBot aracılığıyla kaynak ayrıntılarını bile sonlandırabilir / silebilirsiniz.

Omni Arama

Omni Arama

Sonuçlar filtrelemeli Arama Sonuçları Sayfası

Sonuçlar filtrelemeli Arama Sonuçları Sayfası

Asset 360 / Asset Details Sayfası

Asset 360 / Asset Details Sayfası

Aşağıda, temel PacBot yetenekleri verilmiştir

  • Sürekli uygunluk değerlendirmesi.
  • Ayrıntılı uyum raporlaması.
  • Politika ihlalleri için Otomatik Düzeltme.
  • Omni Arama - Keşfedilen tüm kaynakları arama yeteneği.
  • Basitleştirilmiş politika ihlali izleme.
  • Self Servis portalı.
  • Özel politikalar ve özel otomatik düzeltme eylemleri.
  • Uyumluluğu görüntülemek için dinamik varlık gruplaması.
  • Birden çok uyumluluk alanı oluşturma yeteneği.
  • İstisna yönetimi.
  • E-posta Özetleri.
  • Birden çok AWS hesabını destekler.
  • Tamamen otomatik yükleyici.
  • Özelleştirilebilir gösterge tabloları.
  • OAuth2 Desteği.
  • Oturum açmak için Azure AD entegrasyonu.
  • Rol tabanlı erişim kontrolü.
  • Varlık 360 derece.

1
@SyCode Evet, onprem'de barındırabilirsiniz
Nidhish Krishnan

Belgelerde bununla ilgili hiçbir şey görmüyorum, gerekli tüm AWS hizmetlerini kullanmak zorunda olduğumu belirtebilir misiniz? Örneğin RedShift'i MySQL ile değiştirmek istiyorum.
SyCode

2
@SyCode tam kurulum kurulumu bu bağlantıda
Nidhish Krishnan



3

Bunun eski bir soru olduğunu biliyorum ama ben de yardım etmek isterim.

Aslında, bulutumuzdaki tüm kaynakları aramamıza yardımcı olan AWS Config'e sahibiz . SQL sorguları da gerçekleştirebilirsiniz.

Bu harika hizmeti bilmeniz için hepinizi gerçekten cesaretlendiriyorum.


2

Evet.

AWS hesabımda tam olarak neler olup bittiğini anlamaya çalışırken aynı sorunu yaşadım.

Sonunda, tüm bölgelerdeki AWS kaynaklarını listelemek için bir masaüstü aracı olan AWSRetriver'ı yazdım .

Her şeyi listeleyen basit ve anlaşılır bir araçtır ... (umarım) AWS Kaynakları


1

Çok geç ama buna bakmalısın. Biliyorum CLI değil ama yine de ihtiyacınız olan şeyi yapmak için küçük bir kabuk betiği çıkarmaya değer:

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

Kendi sözleriyle:

"Proje açıklaması Bir AWS hesabındaki tüm kaynakları, tüm bölgeleri, tüm hizmetleri (*) listeleyin. Daha fazla işlem için JSON dosyalarını yazar.

(*) Eksiksizlik garantisi yoktur. Maliyetler konusunda endişeleriniz varsa faturalandırma uyarılarını kullanın. "


0

Ayrıca AWS'de benzer "tüm kaynakları listeleme" özelliği arıyorum, ancak yeterince iyi bir şey bulamadım.

"Kaynak Grupları", yalnızca etiketlenmiş kaynakları listelediği ve kullanıcının etiketi belirtmesi gerektiği için yardımcı olmaz. Bir kaynağı etiketlemeyi kaçırırsanız, bu "Kaynak Grupları" nda görünmez .

"Kaynak grubu oluştur" kullanıcı arayüzü

Daha uygun bir özellik, önceki yazıda belirtildiği gibi "Kaynak Grupları" -> "Etiket Düzenleyici" dir . Etiket düzenleyicide kaynakların listesini görmek için bölgeleri ve kaynak türlerini seçin. Bu amaca hizmet ediyor, ancak pek kullanıcı dostu değil çünkü her kullanmak istediğimde bölge ve kaynak türünü girmem gerekiyor. Hala kullanımı kolay kullanıcı arayüzü arıyorum.

"Etiket Düzenleyici" altındaki "Kaynak bul" kullanıcı arayüzü


Aslında, bu benim için gerçek bir cankurtarandı! Sadece Etiket Düzenleyiciyi açın, tüm bölgeleri tek tek seçin (pek çoğu yoktur) ve "Tüm kaynak türleri" ni seçin ve "Kaynakları bul" u tıklayın. Ardından tüm listeyi CSV olarak indirebilirsiniz.
Tero Tilus

0

Bunu dene

Yalnızca ec2 için:

from skew import scan

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

Tüm kaynaklar için:

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

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



0

DÜZENLEME: Bu cevap kullanımdan kaldırılmıştır. Diğer cevapları kontrol edin.

Hayır,
hesabınızdaki tüm kaynakları tek seferde almanın bir yolu yoktur. Her bölge bağımsızdır ve IAM gibi bazı hizmetler için bir bölgenin konsepti hiç mevcut değildir. Kaynakları ve hizmetleri listelemek için kullanılabilir API çağrıları olmasına rağmen.
Örneğin:

  • Hesabınız için mevcut tüm bölgelerin listesini almak için:

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

  • IAM kullanıcılarının, rollerinin veya gruplarının listesini almak için kullanabileceğiniz:

    client.GetAccountAuthorizationDetails(&iam.GetAccountAuthorizationDetailsInput{})

    API çağrıları ve kullanımları hakkında daha fazla ayrıntıyı şu adreste bulabilirsiniz: https://docs.aws.amazon.com/sdk-for-go/api/service/iam/

    Yukarıdaki bağlantı yalnızca IAM içindir. Benzer şekilde, diğer tüm kaynaklar ve hizmetler için API bulabilirsiniz.


  • Bu yanıt güncel değil
    Carles Alcolea

    -1

    Diğer bir seçenek de, her kaynak için "aws configservice list-found-resources --resource-type" çalıştıran bu komut dosyasını kullanmaktır.

    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
    
    Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
    Licensed under cc by-sa 3.0 with attribution required.