web-dev-qa-db-ja.com

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

AWSのすべてのリソースを一覧表示する方法はありますか?すべての地域、すべてのリソース。すべてのEC2インスタンス、すべてのVPC、API Gateway内のすべてのAPIなどを一覧表示することができます。今放棄する。

76
Lakin Lu

いいえ.

各AWSサービス(例:Amazon EC2、Amazon S3)には独自のAPI呼び出しのセットがあります。また、各地域は独立しています。

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

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

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

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

13
John Rotenstein

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

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

114
schmmd

このリンクでは、タグエディタを使用してタグなしのリソースを見つける方法について説明します。基本的に、すべての地域を上部の[地域]ボックスに追加してから、すべてのリソースタイプを選択すると、クエリによってすべてのものが一覧表示されます。

https://docs.aws.Amazon.com/awsconsolehelpdocs/latest/gsg/scenario-finding-untagged.html

41
phillip voyle

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

オムニ検索

Omni Search

検索結果ページと結果のフィルタリング

Search Results Page With Results filtering

資産360 /資産の詳細ページ

Asset 360 / Asset Details Page

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

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

Ashwiniが示唆しているように、私はこれを行うために "リソースグループ"の "タグエディタ"を使います。

設定などをしなくても、すべての地域のすべてのリソースを簡単に一覧表示できます。
これにはすべてのデフォルトVPC +セキュリティグループなどが含まれますが(アカウントが空の場合でも〜140の項目が表示されます)、タグエディタまたはエクスポートのいずれかで、これをかなり簡単にフィルタリングできますたとえば、CSVに変換してExcelでフィルタ処理します。

6
Dylan

タグエディタを使用できます。

  1. AWSコンソールに移動
  2. [トップナビゲーション]ペインで、[Resource Groupsドロップダウン]をクリックします
  3. Tag Editorをクリックします AWS list all resources across all regions

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

enter image description here

5
Raman Sahasi

AWS提供のツールは包括的ではないため、役に立ちません。

この問題を軽減し、すべてのAWSリソースのリストを取得するという私自身の探求の中で、私はこれを見つけました。 https://github.com/JohannesEbke/aws_list_all

まだテストしていませんが、合法的に見えます。

4
Luke Chavers

AWSは、リソースを忘れてから支払いを求めています...

はい。

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

結局、私は AWSRetriver という、すべての地域のAWSリソースを一覧表示するデスクトップツールを作成しました。

それはすべてをリストアップするシンプルで直接的なツールです...(うまくいけば) AWS Resources

1
Danny Tylman

AWS Billing Management Console を使用すると、月ごとのサービス別消費支出が表示されます。

1
dbkaplun

これを試して

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
STang

ここでAWS Config Consoleでクエリを使用できます。 (地域は変更される場合があります) https://console.aws.Amazon.com/config/home?region=us-east-1#/resources/query

クエリは次のようになります。

SELECT
  resourceId,
  resourceName,
  resourceType,
  relationships
WHERE
relationships.resourceId = 'vpc-#######'
0
Josh Beauregard

いいえ、
アカウント内のすべてのリソースを一度に取得する方法はありません。各地域は独立しており、IAMのような一部のサービスの地域の概念はまったく存在しません。リソースとサービスをリストするために利用可能なAPI呼び出しがありますが。
例えば:

  • アカウントで利用可能なすべての地域のリストを取得するには、をクリックしてください。
    output, err := client.DescribeRegions(&ec2.DescribeRegionsInput{})
    
    • IAMユーザー、ロール、またはグループのリストを取得するには、次のものを使用できます。

      client.GetAccountAuthorizationDetails(&iam.GetAccountAuthorizationDetailsInput{})

      API呼び出しとその使用方法の詳細については、次のURLを参照してください。 https://docs.aws.Amazon.com/sdk-for-go/api/service/iam/

      上記リンクはIAM専用です。同様に、他のすべてのリソースやサービスのためのAPIを見つけることができます。

  • 0
    Abhishek Soni

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

    "リソースグループ"はタグ付けされたリソースを一覧表示するだけなのでユーザーはタグを指定する必要があるので役に立ちません。リソースにタグを付けなかった場合、それは "Resource Groups" には表示されません。

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

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

    「タグエディタ」の下の「リソースの検索」のUI

    0

    それは遅すぎるがあなたはこれを見なければならない。 CLIではない私は知っているが、それでもあなたが必要なことをするためにちょっとしたShellスクリプトをノックアウトする価値があるだけである:

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

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

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

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

    0
    Surj

    別のオプションは、すべてのリソースに対して「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
    
    0
    Luis