[アップデート]Amazon EC2 Auto Scalingで、DescribeAutoScalingGroups APIからインスタンスの詳細情報をフィルタできるようになりました

[アップデート]Amazon EC2 Auto Scalingで、DescribeAutoScalingGroups APIからインスタンスの詳細情報をフィルタできるようになりました

DescribeAutoScalingGroups APIでAuto Scaling グループの情報を出力させるときに、EC2インスタンス情報を省略できるようになりました。EC2インスタンス情報は項目が多くなりがちなので、Auto Scalingグループの情報だけ欲しい場合はかなりよさそう。
Clock Icon2025.06.20

Amazon EC2 Auto ScalingのAPIのオプションが増えました

おのやんです。

この度のアップデートにより、Amazon EC2 Auto Scaling(以下、Auto Scaling)で、DescribeAutoScalingGroups APIからインスタンスの詳細情報をフィルタできるようになりました。

https://aws.amazon.com/about-aws/whats-new/2025/06/amazon-ec2-auto-scaling-filter-instance-details-describeautoscalinggroups-api/

ということで、今回はこちらを検証したいと思います。

AWS CLIのアップデート

検証にあたり、ローカルのMacにインストールされているAWS CLIを最新バージョンに更新します。最新バージョンではないコマンドでは、EC2インスタンスの表示可否がそもそも指定できないので、当然ですがこのようにエラーになります。

# EC2インスタンスを表示
% aws autoscaling describe-auto-scaling-groups --include-instances   

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: --include-instances

# EC2インスタンスを非表示
% aws autoscaling describe-auto-scaling-groups --no-include-instances   

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: --no-include-instances

筆者の場合はこちらのページからpkgファイルをダウンロードしてインストールしていたので、最新バージョン(v2.27.39)のpkgファイルを新しくインストールします。

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html

AWS CLI経由で検証

こちらが終わりましたら、AWS環境でAmazon EC2(以下、EC2)のAMIを作成して、こちらをもとにAuto Scalingグループを作成します。「希望するキャパシティ」の項目は、今回複数のEC2インスタンスを出力させたいので2に設定します。

スクリーンショット 2025-06-20 15.52.36

正常に動作すれば、このように2つのEC2インスタンスが作成されているはずです。

スクリーンショット 2025-06-20 15.53.58

今回実行するのは、aws autoscaling describe-auto-scaling-groupsコマンドです。詳細はこちらのページで確認できます。

https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-auto-scaling-groups.html

従来のコマンドでは、EC2インスタンス情報が出力に含まれていたので、Auto Scalingグループ以外の情報も一緒に出力されることになっていました。

% aws autoscaling describe-auto-scaling-groups
{
    "AutoScalingGroups": [
        {
            "AutoScalingGroupName": "aws-test-scaling",
            "AutoScalingGroupARN": "arn:aws:autoscaling:ap-northeast-1:xxxxxxxxxxxx:autoScalingGroup:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:autoScalingGroupName/aws-test-scaling",
            "LaunchTemplate": {
                "LaunchTemplateId": "lt-xxxxxxxxxxxxxxxxx",
                "LaunchTemplateName": "aws-test-ec2-template",
                "Version": "$Default"
            },
            "MinSize": 1,
            "MaxSize": 2,
            "DesiredCapacity": 2,
            "DefaultCooldown": 300,
            "AvailabilityZones": [
                "ap-northeast-1a",
                "ap-northeast-1c"
            ],
            "LoadBalancerNames": [],
            "TargetGroupARNs": [],
            "HealthCheckType": "EC2",
            "HealthCheckGracePeriod": 300,
            "Instances": [
                {
                    "InstanceId": "i-xxxxxxxxxxxxxxxxx",
                    "InstanceType": "t2.micro",
                    "AvailabilityZone": "ap-northeast-1a",
                    "LifecycleState": "InService",
                    "HealthStatus": "Healthy",
                    "LaunchTemplate": {
                        "LaunchTemplateId": "lt-xxxxxxxxxxxxxxxxx",
                        "LaunchTemplateName": "aws-test-ec2-template",
                        "Version": "1"
                    },
                    "ProtectedFromScaleIn": false
                },
                {
                    "InstanceId": "i-xxxxxxxxxxxxxxxxx",
                    "InstanceType": "t2.micro",
                    "AvailabilityZone": "ap-northeast-1c",
                    "LifecycleState": "InService",
                    "HealthStatus": "Healthy",
                    "LaunchTemplate": {
                        "LaunchTemplateId": "lt-xxxxxxxxxxxxxxxxx",
                        "LaunchTemplateName": "aws-test-ec2-template",
                        "Version": "1"
                    },
                    "ProtectedFromScaleIn": false
                }
            ],
            "CreatedTime": "2025-06-20T04:50:52.537000+00:00",
            "SuspendedProcesses": [],
            "VPCZoneIdentifier": "subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx
",
            "EnabledMetrics": [],
            "Tags": [],
            "TerminationPolicies": [
                "Default"
            ],
            "NewInstancesProtectedFromScaleIn": false,
            "ServiceLinkedRoleARN": "arn:aws:iam::xxxxxxxxxxxx:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling",
            "TrafficSources": [],
            "AvailabilityZoneDistribution": {
                "CapacityDistributionStrategy": "balanced-best-effort"
            },
            "CapacityReservationSpecification": {
                "CapacityReservationPreference": "default"
            }
        }
    ]
}

このコマンドに対して、今回のアップデートで次のオプションを入力できるようになりました。

オプション 設定値 備考
--include-instances true 何もパラメータを指定しなかった時のデフォルトです
--no-include-instances false

先ほどのコマンドに--no-include-instancesを設定すると、こんな感じでEC2インスタンス情報が省略された状態で出力されます。Instancesの情報がまるっとなくなっているのがわかります。

% aws autoscaling describe-auto-scaling-groups --no-include-instances
{
    "AutoScalingGroups": [
        {
            "AutoScalingGroupName": "aws-test-scaling",
            "AutoScalingGroupARN": "arn:aws:autoscaling:ap-northeast-1:xxxxxxxxxxxx:autoScalingGroup:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:autoScalingGroupName/aws-test-scaling",
            "LaunchTemplate": {
                "LaunchTemplateId": "lt-xxxxxxxxxxxxxxxxx",
                "LaunchTemplateName": "aws-test-ec2-template",
                "Version": "$Default"
            },
            "MinSize": 1,
            "MaxSize": 2,
            "DesiredCapacity": 2,
            "DefaultCooldown": 300,
            "AvailabilityZones": [
                "ap-northeast-1a",
                "ap-northeast-1c"
            ],
            "LoadBalancerNames": [],
            "TargetGroupARNs": [],
            "HealthCheckType": "EC2",
            "HealthCheckGracePeriod": 300,
            "CreatedTime": "2025-06-20T04:50:52.537000+00:00",
            "SuspendedProcesses": [],
            "VPCZoneIdentifier": "subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx,subnet-xxxxxxxxxxxxxxxxx",
            "EnabledMetrics": [],
            "Tags": [],
            "TerminationPolicies": [
                "Default"
            ],
            "NewInstancesProtectedFromScaleIn": false,
            "ServiceLinkedRoleARN": "arn:aws:iam::xxxxxxxxxxxx:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling",
            "TrafficSources": [],
            "AvailabilityZoneDistribution": {
                "CapacityDistributionStrategy": "balanced-best-effort"
            },
            "CapacityReservationSpecification": {
                "CapacityReservationPreference": "default"
            }
        }
    ]
}

Auto Scalingグループのみの設定を出力させたいときによさそう

確かに、Auto Scalingグループの情報だけ参照したい時はEC2インスタンスの情報が不要なケースもあるかと思います。

EC2インスタンス情報は項目が多くなりがちなので、Auto Scalingグループの情報だけ欲しい場合はかなりよさそうです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.