かべぎわブログ

凄腕エンジニアのブログです

AWSCLIで任意のタグのついたすべてのサービスのリソースを取得する

概要

AWSCLIを利用して任意のタグのついているすべてのサービス(すべてとは言っていない)のリソースを取得してみたいと思います。
このコマンドを利用することによりタグの--filterオプションが存在しないサービスのリソースも取得することができます。

コマンド例

こんなかんじです。
この例ではNameタグがwawawaとなっているリソースを取得しています。

$ aws resourcegroupstaggingapi get-resources --tag-filters Key=Name,Values=wawawa

{
    "ResourceTagMappingList": [
        {
            "ResourceARN": "arn:aws:ec2:ap-northeast-1:123456789012:instance/i-058196ffce03af4b9",
            "Tags": [
                {
                    "Key": "Name",
                    "Value": "wawawa"
                }
            ]
        },
        {
            "ResourceARN": "arn:aws:ec2:ap-northeast-1:123456789012:volume/vol-05c851f6690f38cd5",
            "Tags": [
                {
                    "Key": "Name",
                    "Value": "wawawa"
                }
            ]
        },
        {
            "ResourceARN": "arn:aws:lambda:ap-northeast-1:123456789012:function:wawawa_lambda",
            "Tags": [
                {
                    "Key": "Name",
                    "Value": "wawawa"
                }
            ]
        }
    ]
}

EC2インスタンスとEBS、Lambdaが応答していることがわかります。

おわりに

結構便利だと思っている。
マネジメントコンソールだとリソースグループでおなじようなことができます。

Amazon Web Services エンタープライズ基盤設計の基本

Amazon Web Services エンタープライズ基盤設計の基本