AWSのすべてのリソースを一覧表示する方法はありますか


138

AWSのすべてのリソースを一覧表示する方法はありますか?すべてのリージョン、すべてのリソースについて。たとえば、すべてのEC2インスタンス、すべてのVPC、API GatewayのすべてのAPIなどを一覧表示します。アカウントのすべてのリソースを一覧表示したいと思います。今放棄します。


1
この質問に対する私の答えを見てください-stackoverflow.com/questions/43984337/multiple-aws-reigon/…開始するには十分でしょう。
Colwin


2
すべてのリージョンと、表示する必要のあるすべてのサービスのリソースグループを作成できます。リソースグループは、これらすべてのリソースを1か所に表示します。これにはaws cliも使用できます。aws.amazon.com/blogs/aws/resource-groups-and-tagging
Ashwini

回答:


8

編集:この回答は推奨されておらず、正しくありません。AWSリソースを一覧表示する方法はいくつかあります(AWS Tag Editorなど)。詳細については、他の回答を確認してください。


番号。

各AWSサービス(Amazon EC2、Amazon S3など)には、独自のAPI呼び出しのセットがあります。また、各リージョンは独立しています。

すべてのリソースのリストを取得するには、すべてのリージョンのすべてのサービスに対してAPI呼び出しを行う必要があります。

AWS Configをアクティブ化したい場合があります:

AWS Configは、AWSアカウントのAWSリソースの構成の詳細ビューを提供します。これには、リソースが相互にどのように関連しているか、および過去にリソースがどのように構成されていたかが含まれるため、構成と関係が時間とともにどのように変化するかを確認できます。

ただし、AWS ConfigはEC2 / VPC関連リソースに関する情報のみを収集し、AWSアカウントのすべてを収集するわけではありません。


14
この答えは間違っています。実際に、コストエクスプローラーを使用して、すべてのリージョンのすべてのサービスをリストできます。
Carles Alcolea

9
この答えはおそらく時代遅れです。さて、ここでは少数の人々によって述べたように、あなたはどちらかを使用することができますタグマネージャまたは「サービスにより、毎月のコスト」コストエクスプローラを
Maximpa

AWS Configは私にはうまくいったようです。別の理由で取得して忘れていたスナップショットを見つけたかったので、そのEC2インスタンスを削除したようです。完全なAWS Configリストを取得し、「スナップ」を検索すると、それが見つかりました。
Peter Smith

205

はい。タグエディタを使用します。クリックして個々のリソースを管理できます。

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


42
タグエディターを使用してすべてのリソースを一覧表示するには、リストされているすべてのリージョン(今日の日付で合計15のリージョン)を手動で選択し、[すべてのリソースタイプ]を選択して、タグを指定しないでください。次に、[リソースの検索]をクリックすると、アカウントで作成されたすべてのリソースが表示されます。
ギャリソンベッカー

3
これは、サポートされているリソースタイプdocs.aws.amazon.com/ARG/latest/userguide/…
ekcrisp

18
これは天才的なアイデアですが、残念ながら、2018年9月現在、多くの重要なリソースタイプがまだサポートされていません。DynamoDBテーブル、API Gateway、Lambda、IAMロールなどが見つかりませんでした...
Bing Ren

3
残念ながら、現在「タグエディター」リンクは404です
。– wool.in.silver

1
古いタグエディターと上記のリンクはなくなりました。新しいタグエディターを使用できますが、マルチリージョンの結果を保存する方法がわかりません。console.aws.amazon.com/resource-groupsおよびdocs.aws.amazon.com/ARG/latest/userguide/tag-editor.html
AstroTom

44

を使用できますTag Editor

  1. AWSコンソールに移動
  2. Resource Groups上部のナビゲーションウィンドウで、[ ドロップダウン]をクリックします。
  3. クリック Tag Editor AWSはすべてのリージョンのすべてのリソースをリストします

ここでは、検索する特定の地域を選択するか、ドロップダウンからすべての地域を選択できます。次に、検索したい実際のリソースを選択するか、個々のリソースをクリックすることもできます。

ここに画像の説明を入力してください


2
これが正解です。うまくいきました、ありがとう!
Edward Corrigall

これが正解であり、動作し、非常に簡単に
理解

8

Ashwiniによって提案されたように、私はこのために「リソースグループ」の「タグエディター」を使用します。

設定なしですべてのリージョンのすべてのリソースを簡単に一覧表示できます。
これには、すべてのデフォルトVPC +セキュリティグループなどが含まれますが(アカウントが空の場合でも最大140アイテムを取得できます)、それでもかなり簡単にフィルタリングできますこれは、タグエディタ内で、またはcsvにエクスポートして、たとえばExcelでフィルタリングします。


7

使用PacBot (コードボットなどのポリシー) -クラウドのための継続的なコンプライアンス監視、コンプライアンスレポートとセキュリティの自動化のためのプラットフォームであるアンのオープンソースプロジェクト。PacBotによって検出されたすべてのアカウントとすべてのリージョンのすべてのリソースは、これらのポリシーに対して評価され、ポリシーの適合性を評価します。発見されたすべてのリソースを検索できるオムニ検索機能も利用できます。PacBotを使用して、リソースの詳細を終了/削除することもできます。

オムニ検索

オムニ検索

結果フィルタリングを備えた検索結果ページ

結果フィルタリングを備えた検索結果ページ

アセット360 /アセット詳細ページ

アセット360 /アセット詳細ページ

以下は、PacBotの主要な機能です。

  • 継続的なコンプライアンス評価。
  • 詳細なコンプライアンスレポート。
  • ポリシー違反の自動修正。
  • オムニ検索-検出されたすべてのリソースを検索する機能。
  • 簡略化されたポリシー違反の追跡。
  • セルフサービスポータル。
  • カスタムポリシーとカスタム自動修正アクション。
  • コンプライアンスを表示する動的なアセットのグループ化。
  • 複数のコンプライアンスドメインを作成する機能。
  • 例外管理。
  • メールダイジェスト。
  • 複数のAWSアカウントをサポートします。
  • 完全に自動化されたインストーラー。
  • カスタマイズ可能なダッシュボード。
  • OAuth2サポート。
  • ログイン用のAzure AD統合。
  • 役割ベースのアクセス制御。
  • アセット360度。

1
@SyCodeはい、オンプレミスでホストできます
ニディッシュクリシュナン

ドキュメントでこれについての言及が見当たらないようですが、必要なAWSサービスをすべて使用しなければならないようです。たとえば、RedShiftをMySQLに置き換えたいと思います。
SyCode 2018年

2
@SyCodeの完全なインストールのセットアップは、このリンクで
Nidhish Krishnan



3

古い質問ですが、私もお手伝いしたいと思います。

実際、AWS Configがあり、クラウド内のすべてのリソースを検索できます。SQLクエリも実行できます。

この素晴らしいサービスをぜひ皆さんに知っていただきたいと思います。


2

はい。

私は同じ問題を抱えており、AWSアカウントで何が起こっているのかを正確に把握しようとしました。

最終的に、すべてのリージョンのAWSリソースを一覧表示するデスクトップツールであるAWSRetriverを作成することになりました

それはすべてをリストするシンプルで簡単なツールです...(うまくいけば) AWSリソース


1

遅いですが、これを見てください。CLIではありませんが、必要なことを行うために小さなシェルスクリプトをノックアウトするだけの価値はあります。

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

それはそれ自身の言葉であるpythonライブラリです:

"プロジェクトの説明AWSアカウントのすべてのリソース、すべてのリージョン、すべてのサービスをリストします(*)。さらに処理するためにJSONファイルを書き込みます。

(*)完全性を保証するものではありません。コストが心配な場合は、請求アラートを使用してください。」


0

AWSで同様の「すべてのリソースを一覧表示する」機能も探していますが、十分なものは見つかりませんでした。

「リソースグループ」はタグ付けされたリソースのみをリストし、ユーザーはタグを指定する必要があるため、役に立ちません。リソースのタグ付けを怠ると、「リソースグループ」に表示されません。

「リソースグループを作成」のUI

より適切な機能は、以前の投稿ですでに述べたように、「リソースグループ」->「タグエディター」です。リージョンとリソースタイプを選択して、タグエディターにリソースのリストを表示します。これは目的を果たしますが、使用するたびにリージョンとリソースタイプを入力する必要があるため、あまりユーザーフレンドリーではありません。私はまだ使いやすいUIを探しています。

「タグエディタ」の下の「リソースを探す」のUI


実際、これは私にとって本物の命の恩人でした!タグエディターを開き、すべてのリージョンを1つずつ選択し(その数はそれほど多くありません)、[すべてのリソースタイプ]をクリックして、[リソースの検索]をクリックします。次に、リスト全体をCSVとしてダウンロードできます。
Tero Tilus、2017

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

編集:この回答は廃止されました。他の回答を確認してください。

いいえ、
アカウント内のすべてのリソースを一度に取得する方法はありません。各リージョンは独立しており、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を見つけることができます。


  • この回答は古くなっています
    Carles Alcolea

    -1

    別のオプションは、すべてのリソースに対して「aws configservice list-discovered-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
    
    弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
    Licensed under cc by-sa 3.0 with attribution required.