AWSのすべてのリソースを一覧表示する方法はありますか?すべてのリージョン、すべてのリソースについて。たとえば、すべてのEC2インスタンス、すべてのVPC、API GatewayのすべてのAPIなどを一覧表示します。アカウントのすべてのリソースを一覧表示したいと思います。今放棄します。
AWSのすべてのリソースを一覧表示する方法はありますか?すべてのリージョン、すべてのリソースについて。たとえば、すべてのEC2インスタンス、すべてのVPC、API GatewayのすべてのAPIなどを一覧表示します。アカウントのすべてのリソースを一覧表示したいと思います。今放棄します。
回答:
編集:この回答は推奨されておらず、正しくありません。AWSリソースを一覧表示する方法はいくつかあります(AWS Tag Editorなど)。詳細については、他の回答を確認してください。
番号。
各AWSサービス(Amazon EC2、Amazon S3など)には、独自のAPI呼び出しのセットがあります。また、各リージョンは独立しています。
すべてのリソースのリストを取得するには、すべてのリージョンのすべてのサービスに対してAPI呼び出しを行う必要があります。
AWS Configをアクティブ化したい場合があります:
AWS Configは、AWSアカウントのAWSリソースの構成の詳細ビューを提供します。これには、リソースが相互にどのように関連しているか、および過去にリソースがどのように構成されていたかが含まれるため、構成と関係が時間とともにどのように変化するかを確認できます。
ただし、AWS ConfigはEC2 / VPC関連リソースに関する情報のみを収集し、AWSアカウントのすべてを収集するわけではありません。
はい。タグエディタを使用します。クリックして個々のリソースを管理できます。
https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html
を使用できますTag Editor
。
ここでは、検索する特定の地域を選択するか、ドロップダウンからすべての地域を選択できます。次に、検索したい実際のリソースを選択するか、個々のリソースをクリックすることもできます。
使用PacBot (コードボットなどのポリシー) -クラウドのための継続的なコンプライアンス監視、コンプライアンスレポートとセキュリティの自動化のためのプラットフォームであるアンのオープンソースプロジェクト。PacBotによって検出されたすべてのアカウントとすべてのリージョンのすべてのリソースは、これらのポリシーに対して評価され、ポリシーの適合性を評価します。発見されたすべてのリソースを検索できるオムニ検索機能も利用できます。PacBotを使用して、リソースの詳細を終了/削除することもできます。
オムニ検索
結果フィルタリングを備えた検索結果ページ
アセット360 /アセット詳細ページ
以下は、PacBotの主要な機能です。
AWSが提供するツールは包括的ではないため、役に立ちません。
この問題を緩和し、すべてのAWSリソースのリストを引き出すための私自身の探求で、私はこれを見つけました:https : //github.com/JohannesEbke/aws_list_all
私はまだテストしていませんが、合法に見えます。
はい。
私は同じ問題を抱えており、AWSアカウントで何が起こっているのかを正確に把握しようとしました。
最終的に、すべてのリージョンのAWSリソースを一覧表示するデスクトップツールであるAWSRetriverを作成することになりました。
遅いですが、これを見てください。CLIではありませんが、必要なことを行うために小さなシェルスクリプトをノックアウトするだけの価値はあります。
https://pypi.org/project/aws-list-all/
それはそれ自身の言葉であるpythonライブラリです:
"プロジェクトの説明AWSアカウントのすべてのリソース、すべてのリージョン、すべてのサービスをリストします(*)。さらに処理するためにJSONファイルを書き込みます。
(*)完全性を保証するものではありません。コストが心配な場合は、請求アラートを使用してください。」
AWSで同様の「すべてのリソースを一覧表示する」機能も探していますが、十分なものは見つかりませんでした。
「リソースグループ」はタグ付けされたリソースのみをリストし、ユーザーはタグを指定する必要があるため、役に立ちません。リソースのタグ付けを怠ると、「リソースグループ」に表示されません。
より適切な機能は、以前の投稿ですでに述べたように、「リソースグループ」->「タグエディター」です。リージョンとリソースタイプを選択して、タグエディターにリソースのリストを表示します。これは目的を果たしますが、使用するたびにリージョンとリソースタイプを入力する必要があるため、あまりユーザーフレンドリーではありません。私はまだ使いやすいUIを探しています。
これを試して
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
こちらの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-#######'
編集:この回答は廃止されました。他の回答を確認してください。
いいえ、
アカウント内のすべてのリソースを一度に取得する方法はありません。各リージョンは独立しており、IAMのような一部のサービスでは、リージョンの概念はまったく存在しません。リソースとサービスを一覧表示するために利用できるAPI呼び出しがありますが。
例えば:
output, err := client.DescribeRegions(&ec2.DescribeRegionsInput{})
client.GetAccountAuthorizationDetails(&iam.GetAccountAuthorizationDetailsInput{})
API呼び出しとその使用の詳細については、https: //docs.aws.amazon.com/sdk-for-go/api/service/iam/を参照してください。
上記のリンクはIAM専用です。同様に、他のすべてのリソースとサービスのAPIを見つけることができます。
別のオプションは、すべてのリソースに対して「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