を使用した Auto Scaling の例 AWS CLI - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した Auto Scaling の例 AWS CLI

次のコード例は、Auto Scaling AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、関連するシナリオやサービス間の例ではアクションのコンテキストが確認できます。

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。このリンクには GitHub、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、attach-instances を使用する方法を説明しています。

AWS CLI

Auto Scaling グループにインスタンスをアタッチするには

この例では、指定されたインスタンスを指定された Auto Scaling グループにアタッチします。

aws autoscaling attach-instances \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスAttachInstances」の「」を参照してください。 AWS CLI

次の例は、attach-load-balancer-target-groups を使用する方法を説明しています。

AWS CLI

ターゲットグループを Auto Scaling グループにアタッチするには

この例では、指定されたターゲットグループを、指定された Auto Scaling グループにアタッチします。

aws autoscaling attach-load-balancer-target-groups \ --auto-scaling-group-name my-asg \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Elastic Load Balancing を使用して Auto Scaling グループ内のインスタンス全体にトラフィックを分散させる」を参照してください。

次の例は、attach-load-balancers を使用する方法を説明しています。

AWS CLI

Classic Load Balancer を Auto Scaling グループにアタッチするには

この例では、指定された Classic Load Balancer を指定された Auto Scaling グループにアタッチします。

aws autoscaling attach-load-balancers \ --load-balancer-names my-load-balancer \ --auto-scaling-group-name my-asg

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Elastic Load Balancing を使用して Auto Scaling グループ内のインスタンス全体にトラフィックを分散させる」を参照してください。

  • API の詳細については、「 コマンドリファレンスAttachLoadBalancers」の「」を参照してください。 AWS CLI

次の例は、cancel-instance-refresh を使用する方法を説明しています。

AWS CLI

インスタンスの更新をキャンセルするには

次のcancel-instance-refresh例では、指定した Auto Scaling グループの進行中のインスタンスの更新をキャンセルします。

aws autoscaling cancel-instance-refresh \ --auto-scaling-group-name my-asg

出力:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「インスタンスの更新をキャンセルする」を参照してください。

  • API の詳細については、「 コマンドリファレンスCancelInstanceRefresh」の「」を参照してください。 AWS CLI

次の例は、complete-lifecycle-action を使用する方法を説明しています。

AWS CLI

ライフサイクルアクションを完了するには

この例では、インスタンスの起動または終了を完了できるように、指定されたライフサイクルアクションが完了したことを Amazon EC2 Auto Scaling に通知します。

aws autoscaling complete-lifecycle-action \ --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg \ --lifecycle-action-result CONTINUE \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

  • API の詳細については、「 コマンドリファレンスCompleteLifecycleAction」の「」を参照してください。 AWS CLI

次の例は、create-auto-scaling-group を使用する方法を説明しています。

AWS CLI

例 1: Auto Scaling グループを作成するには

次の create-auto-scaling-group の例では、リージョン内の複数のアベイラビリティーゾーンのサブネット内に Auto Scaling グループを作成します。インスタンスは、指定された起動テンプレートのデフォルトバージョンで起動されます。終了ポリシーやヘルスチェック設定など、他のほとんどの設定にはデフォルトが使用されることに注意してください。

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12 \ --min-size 1 \ --max-size 5 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループ」を参照してください。

例 2: Application Load Balancer、Network Load Balancer、または Gateway Load Balancer をアタッチするには

この例では、予想されるトラフィックをサポートするロードバランサーのターゲットグループの ARN を指定します。ヘルスチェックタイプは、Elastic Load Balancing がインスタンスを異常として報告したときに、Auto Scaling グループがそのインスタンスを置き換えるよう ELB を指定します。このコマンドは、ヘルスチェックの猶予期間 (600 秒) も定義します。猶予期間は、新しく起動したインスタンスが早期に終了するのを防ぐのに役立ちます。

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12 \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/943f017f100becff \ --health-check-type ELB \ --health-check-grace-period 600 \ --min-size 1 \ --max-size 5 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Elastic Load Balancing を使用して Auto Scaling グループ内のインスタンス全体にトラフィックを分散させる」を参照してください。

例 3: プレイスメントグループを指定し、起動テンプレートの最新バージョンを使用するには

この例では、単一のアベイラビリティーゾーン内のプレイスメントグループ内でインスタンスを起動します。これは、HPC ワークロードを使用する低レイテンシーのグループに役立ちます。この例では、グループの最小サイズ、最大サイズ、希望する容量も指定しています。

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest' \ --min-size 1 \ --max-size 5 \ --desired-capacity 3 \ --placement-group my-placement-group \ --vpc-zone-identifier "subnet-6194ea3b"

このコマンドでは何も出力されません。

詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「プレイスメントグループ」を参照してください。

例 4: 単一のインスタンスの Auto Scaling グループを指定し、特定のバージョンの起動テンプレートを使用するには

この例では、単一のインスタンスが強制的に実行されるように、最小容量と最大容量を 1 に設定した Auto Scaling グループを作成します。このコマンドは、既存の ENI の ID が指定されている起動テンプレートの v1 も指定します。eth0 の既存の ENI を指定する起動テンプレートを使用する際は、リクエストにサブネット ID を指定せずに、ネットワークインターフェイスと一致する Auto Scaling グループのアベイラビリティーゾーンを指定する必要があります。

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg-single-instance \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='1' \ --min-size 1 \ --max-size 1 \ --availability-zones us-west-2a

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループ」を参照してください。

例 5: 別の終了ポリシーを指定するには

この例では、起動設定を使用して Auto Scaling グループを作成し、最も古いインスタンスを最初に終了するように終了ポリシーを設定します。またこのコマンドは、Role キーと WebServer 値を使用して、グループとインスタンスにタグを適用します。

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-configuration-name my-lc \ --min-size 1 \ --max-size 5 \ --termination-policies "OldestInstance" \ --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Role,Value=WebServer,PropagateAtLaunch=true" \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling 終了ポリシーを使用する」を参照してください。

例 6: 起動ライフサイクルフックを指定するには

この例では、インスタンス起動時のカスタムアクションをサポートするライフサイクルフックで Auto Scaling グループを設定します。

aws autoscaling create-auto-scaling-group \ --cli-input-json file://~/config.json

config.json ファイルの内容。

{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12" }, "LifecycleHookSpecificationList": [{ "LifecycleHookName": "my-launch-hook", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", "NotificationTargetARN": "arn:aws:sqs:us-west-2:123456789012:my-sqs-queue", "RoleARN": "arn:aws:iam::123456789012:role/my-notification-role", "NotificationMetadata": "SQS message metadata", "HeartbeatTimeout": 4800, "DefaultResult": "ABANDON" }], "MinSize": 1, "MaxSize": 5, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags": [{ "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "test", "Key": "environment" }] }

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

例 7: 終了ライフサイクルフックを指定するには

次の例は、インスタンス終了時のカスタムアクションをサポートするライフサイクルフックで Auto Scaling グループを設定します。

aws autoscaling create-auto-scaling-group \ --cli-input-json file://~/config.json

config.json の内容:

{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12" }, "LifecycleHookSpecificationList": [{ "LifecycleHookName": "my-termination-hook", "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", "HeartbeatTimeout": 120, "DefaultResult": "CONTINUE" }], "MinSize": 1, "MaxSize": 5, "TargetGroupARNs": [ "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" ], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

例 8: カスタム終了ポリシーを指定するには

この例では、スケールイン時にどのインスタンスを安全に終了できるかを Amazon EC2 Auto Scaling に指示するカスタム Lambda 関数終了ポリシーを指定する Auto Scaling グループを作成します。

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg-single-instance \ --launch-template LaunchTemplateName=my-template-for-auto-scaling \ --min-size 1 \ --max-size 5 \ --termination-policies "arn:aws:lambda:us-west-2:123456789012:function:HelloFunction:prod" \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Lambda を使用したカスタム終了ポリシーを作成する」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateAutoScalingGroup」の「」を参照してください。 AWS CLI

次の例は、create-launch-configuration を使用する方法を説明しています。

AWS CLI

例 1: 起動設定を作成するには

この例では、シンプルな起動設定を作成します。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「起動設定の作成」を参照してください。

例 2: セキュリティグループ、キーペア、ブートストラップスクリプトを使用して起動設定を作成するには

この例では、セキュリティグループ、キーペア、およびユーザーデータに含まれるブートストラップスクリプトを使用して起動設定を作成します。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --security-groups sg-eb2af88example \ --key-name my-key-pair \ --user-data file://myuserdata.txt

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「起動設定の作成」を参照してください。

例 3: IAM ロールを使用して起動設定を作成するには

この例では、IAM ロールのインスタンスプロファイル名を使用して起動設定を作成します。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --iam-instance-profile my-autoscaling-role

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 インスタンスで実行されるアプリケーションに対する IAM ロール」を参照してください。

例 4: 詳細モニタリングを有効にして起動設定を作成するには

この例では、EC2 詳細モニタリングを有効にして起動設定を作成し、EC2 メトリクスを 1 分間隔で に送信 CloudWatch します。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --instance-monitoring Enabled=true

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling インスタンスのモニタリングの設定」を参照してください。 Amazon EC2 Auto Scaling

例 5: スポットインスタンスを起動する起動設定を作成するには

この例では、スポットインスタンスを唯一の購入オプションとして使用する起動設定を作成します。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --spot-price "0.50"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「スポットインスタンスのリクエスト」を参照してください。

例 6: EC2 インスタンスを使用して起動設定を作成するには

この例では、既存のインスタンスの属性に基づいて起動設定を作成します。プレイスメントテナンシーと、 --placement-tenancyおよび --no-associate-public-ip-addressオプションを含めることでパブリック IP アドレスが設定されるかどうかが上書きされます。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc-from-instance \ --instance-id i-0123a456700123456 \ --instance-type m5.large \ --no-associate-public-ip-address \ --placement-tenancy dedicated

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「EC2 インスタンスを使用した起動設定の作成」を参照してください。 Amazon EC2 Auto Scaling

例 7: Amazon EBS ボリュームのブロックデバイスマッピングを使用して起動設定を作成するには

この例では、デバイス名とgp3ボリュームサイズが 20 の Amazon EBS /dev/sdhボリュームのブロックデバイスマッピングを使用して起動設定を作成します。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --block-device-mappings '[{"DeviceName":"/dev/sdh","Ebs":{"VolumeSize":20,"VolumeType":"gp3"}}]'

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling API リファレンス」の「EBS」を参照してください。

JSON 形式のパラメータ値を引用する構文については、AWS 「 コマンドラインインターフェイスユーザーガイド」の「 AWS CLI での文字列への引用符の使用」を参照してください。

例 8: インスタンスストアボリュームのブロックデバイスマッピングを使用して起動設定を作成するには

この例では、デバイス名 のインスタンスストアボリュームephemeral1として を使用して起動設定を作成します/dev/sdc

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --block-device-mappings '[{"DeviceName":"/dev/sdc","VirtualName":"ephemeral1"}]'

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling API リファレンスBlockDeviceMapping」の「」を参照してください。

JSON 形式のパラメータ値を引用する構文については、AWS 「 コマンドラインインターフェイスユーザーガイド」の「 AWS CLI での文字列への引用符の使用」を参照してください。

例 9: 起動設定を作成し、起動時にブロックデバイスがアタッチされないようにするには

この例では、AMI のブロックデバイスマッピングで指定されたブロックデバイスを抑制する起動設定を作成します (例: /dev/sdf)。

aws autoscaling create-launch-configuration \ --launch-configuration-name my-lc \ --image-id ami-04d5cc9b88example \ --instance-type m5.large \ --block-device-mappings '[{"DeviceName":"/dev/sdf","NoDevice":""}]'

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling API リファレンスBlockDeviceMapping」の「」を参照してください。

JSON 形式のパラメータ値を引用する構文については、AWS 「 コマンドラインインターフェイスユーザーガイド」の「 AWS CLI での文字列への引用符の使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateLaunchConfiguration」の「」を参照してください。 AWS CLI

次の例は、create-or-update-tags を使用する方法を説明しています。

AWS CLI

Auto Scaling グループのタグを作成または更新するには

この例では、指定した Auto Scaling グループに 2 つのタグを追加します。

aws autoscaling create-or-update-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Role,Value=WebServer,PropagateAtLaunch=true ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Dept,Value=Research,PropagateAtLaunch=true

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループとインスタンスのタグ付け」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスCreateOrUpdateTags」の「」を参照してください。 AWS CLI

次の例は、delete-auto-scaling-group を使用する方法を説明しています。

AWS CLI

例 1: 指定された Auto Scaling グループを削除するには

この例は、指定された Auto Scaling グループを削除します。

aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name my-asg

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling インフラストラクチャを削除する」を参照してください。

例 2: 指定された Auto Scaling グループを強制的に削除するには

グループ内のインスタンスが終了するのを待たずに Auto Scaling グループを削除するには、--force-delete オプションを使用します。

aws autoscaling delete-auto-scaling-group \ --auto-scaling-group-name my-asg \ --force-delete

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling インフラストラクチャを削除する」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteAutoScalingGroup」の「」を参照してください。 AWS CLI

次の例は、delete-launch-configuration を使用する方法を説明しています。

AWS CLI

起動設定を削除するには

この例では、指定された起動設定を削除します。

aws autoscaling delete-launch-configuration \ --launch-configuration-name my-launch-config

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling インフラストラクチャを削除する」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteLaunchConfiguration」の「」を参照してください。 AWS CLI

次の例は、delete-lifecycle-hook を使用する方法を説明しています。

AWS CLI

ライフサイクルフックを削除するには

この例では、指定されたライフサイクルフックを削除します。

aws autoscaling delete-lifecycle-hook \ --lifecycle-hook-name my-lifecycle-hook \ --auto-scaling-group-name my-asg

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスDeleteLifecycleHook」の「」を参照してください。 AWS CLI

次の例は、delete-notification-configuration を使用する方法を説明しています。

AWS CLI

Auto Scaling 通知を削除するには

この例では、指定された Auto Scaling グループから指定された通知を削除します。

aws autoscaling delete-notification-configuration \ --auto-scaling-group-name my-asg \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「通知設定の削除」を参照してください。

次の例は、delete-policy を使用する方法を説明しています。

AWS CLI

スケーリングポリシーを削除するには

この例では、指定されたスケーリングポリシーを削除します。

aws autoscaling delete-policy \ --auto-scaling-group-name my-asg \ --policy-name alb1000-target-tracking-scaling-policy

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスDeletePolicy」の「」を参照してください。 AWS CLI

次の例は、delete-scheduled-action を使用する方法を説明しています。

AWS CLI

スケジュールされたアクションを Auto Scaling グループから削除するには

この例では、指定された Auto Scaling グループから指定されたスケジュールされたアクションを削除します。

aws autoscaling delete-scheduled-action \ --auto-scaling-group-name my-asg \ --scheduled-action-name my-scheduled-action

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスDeleteScheduledAction」の「」を参照してください。 AWS CLI

次の例は、delete-tags を使用する方法を説明しています。

AWS CLI

Auto Scaling グループからタグを削除するには

この例では、指定された Auto Scaling グループから指定されたタグを削除します。

aws autoscaling delete-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Dept,Value=Research

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループとインスタンスのタグ付け」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスDeleteTags」の「」を参照してください。 AWS CLI

次の例は、delete-warm-pool を使用する方法を説明しています。

AWS CLI

例 1: ウォームプールを削除するには

次の例では、指定された Auto Scaling グループのウォームプールを削除します。

aws autoscaling delete-warm-pool \ --auto-scaling-group-name my-asg

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のウオームプール」を参照してください。

例 2: ウォームプールを強制的に削除するには

インスタンスの終了を待たずにウォームプールを削除するには、 --force-deleteオプションを使用します。

aws autoscaling delete-warm-pool \ --auto-scaling-group-name my-asg \ --force-delete

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のウオームプール」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteWarmPool」の「」を参照してください。 AWS CLI

次の例は、describe-account-limits を使用する方法を説明しています。

AWS CLI

Amazon EC2 Auto Scaling アカウントの制限を記述するには

この例では、 AWS アカウントの Amazon EC2 Auto Scaling 制限について説明します。

aws autoscaling describe-account-limits

出力:

{ "NumberOfLaunchConfigurations": 5, "MaxNumberOfLaunchConfigurations": 100, "NumberOfAutoScalingGroups": 3, "MaxNumberOfAutoScalingGroups": 20 }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling サービスクォータ」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスDescribeAccountLimits」の「」を参照してください。 AWS CLI

次の例は、describe-adjustment-types を使用する方法を説明しています。

AWS CLI

使用可能なスケーリング調整タイプを記述するには

この例では、使用可能な調整タイプについて説明します。

aws autoscaling describe-adjustment-types

出力:

{ "AdjustmentTypes": [ { "AdjustmentType": "ChangeInCapacity" }, { "AdjustmentType": "ExactCapacity" }, { "AdjustmentType": "PercentChangeInCapacity" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「スケーリング調整タイプ」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeAdjustmentTypes」の「」を参照してください。 AWS CLI

次の例は、describe-auto-scaling-groups を使用する方法を説明しています。

AWS CLI

例 1: 指定された Auto Scaling グループを記述するには

この例は、指定された Auto Scaling グループを記述します。

aws autoscaling describe-auto-scaling-groups \ --auto-scaling-group-name my-asg

出力:

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" }, "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2a", "HealthStatus": "Healthy", "LifecycleState": "InService", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-1234567890abcde12" } } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ] }

例 2: 指定された最初の 100 個の Auto Scaling グループを記述するには

この例は、指定された複数の Auto Scaling グループを記述します。最大 100 個のグループ名を指定できます。

aws autoscaling describe-auto-scaling-groups \ --max-items 100 \ --auto-scaling-group-name "group1" "group2" "group3" "group4"

出力例については、例 1 を参照してください。

例 3: 指定されたリージョンの Auto Scaling グループを記述するには

この例では、指定されたリージョンの Auto Scaling グループを最大 75 グループまで記述します。

aws autoscaling describe-auto-scaling-groups \ --max-items 75 \ --region us-east-1

出力例については、例 1 を参照してください。

例 4: 指定された数の Auto Scaling グループを記述するには

特定の数の Auto Scaling グループを返すには、--max-items オプションを使用します。

aws autoscaling describe-auto-scaling-groups \ --max-items 1

出力例については、例 1 を参照してください。

出力に NextToken フィールドが含まれている場合は、さらに多くのグループがあることを示しています。追加のグループを取得するには、次のように、以降の呼び出しで --starting-token オプションを使用してこのフィールドの値を使用します。

aws autoscaling describe-auto-scaling-groups \ --starting-token Z3M3LMPEXAMPLE

出力例については、例 1 を参照してください。

例 5: 起動設定を使用する Auto Scaling グループを記述するには

この例では、 --queryオプションを使用して、起動設定を使用する Auto Scaling グループを記述します。

aws autoscaling describe-auto-scaling-groups \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`]'

出力:

[ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-asg", "LaunchConfigurationName": "my-lc", "MinSize": 0, "MaxSize": 1, "DesiredCapacity": 1, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 0, "Instances": [ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "HealthStatus": "Healthy", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ], "CreatedTime": "2023-10-28T02:39:22.152Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN":"arn", "TrafficSources": [] } ]

詳細については、「 コマンドラインインターフェイスユーザーガイド」のAWS 「CLI 出力のフィルタリング」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスDescribeAutoScalingGroups」の「」を参照してください。 AWS CLI

次の例は、describe-auto-scaling-instances を使用する方法を説明しています。

AWS CLI

例 1: 1 つまたは複数のインスタンスを記述するには

この例は、指定されたインスタンスを記述します。

aws autoscaling describe-auto-scaling-instances \ --instance-ids i-06905f55584de02da

出力:

{ "AutoScalingInstances": [ { "InstanceId": "i-06905f55584de02da", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2b", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "ProtectedFromScaleIn": false, "LaunchTemplate": { "LaunchTemplateId": "lt-1234567890abcde12", "LaunchTemplateName": "my-launch-template", "Version": "1" } } ] }

例 2: 1 つまたは複数のインスタンスを記述するには

この例では、--max-items オプションを使用して、この呼び出しで返されるインスタンスの数を指定します。

aws autoscaling describe-auto-scaling-instances \ --max-items 1

出力に NextToken フィールドが含まれている場合は、さらに多くのインスタンスがあることを示しています。追加のインスタンスを取得するには、次のように、以降の呼び出しで --starting-token オプションを使用してこのフィールドの値を使用します。

aws autoscaling describe-auto-scaling-instances \ --starting-token Z3M3LMPEXAMPLE

出力例については、例 1 を参照してください。

例 3: 起動設定を使用するインスタンスを記述するには

この例では、 --queryオプションを使用して、起動設定を使用するインスタンスを記述します。

aws autoscaling describe-auto-scaling-instances \ --query 'AutoScalingInstances[?LaunchConfigurationName!=`null`]'

出力:

[ { "InstanceId": "i-088c57934a6449037", "InstanceType": "t2.micro", "AutoScalingGroupName": "my-asg", "AvailabilityZone": "us-west-2c", "LifecycleState": "InService", "HealthStatus": "HEALTHY", "LaunchConfigurationName": "my-lc", "ProtectedFromScaleIn": false } ]

詳細については、「 コマンドラインインターフェイスユーザーガイド」のAWS 「CLI 出力のフィルタリング」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスDescribeAutoScalingInstances」の「」を参照してください。 AWS CLI

次の例は、describe-auto-scaling-notification-types を使用する方法を説明しています。

AWS CLI

利用可能な通知タイプを記述するには

この例では、使用可能な通知タイプについて説明します。

aws autoscaling describe-auto-scaling-notification-types

出力:

{ "AutoScalingNotificationTypes": [ "autoscaling:EC2_INSTANCE_LAUNCH", "autoscaling:EC2_INSTANCE_LAUNCH_ERROR", "autoscaling:EC2_INSTANCE_TERMINATE", "autoscaling:EC2_INSTANCE_TERMINATE_ERROR", "autoscaling:TEST_NOTIFICATION" ] }

詳細については、『Amazon EC2 Auto Scaling ユーザーガイド』の「Auto Scaling グループのスケーリング時の Amazon SNS 通知の取得」を参照してください。

次の例は、describe-instance-refreshes を使用する方法を説明しています。

AWS CLI

インスタンスの更新を記述するには

次のdescribe-instance-refreshes例では、ステータスメッセージやステータスの理由 (利用可能な場合) など、指定した Auto Scaling グループのすべてのインスタンス更新リクエストの説明を返します。

aws autoscaling describe-instance-refreshes \ --auto-scaling-group-name my-asg

出力:

{ "InstanceRefreshes": [ { "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b", "AutoScalingGroupName": "my-asg", "Status": "InProgress", "StatusReason": "Waiting for instances to warm up before continuing. For example: 0e69cc3f05f825f4f is warming up.", "EndTime": "2023-03-23T16:42:55Z", "PercentageComplete": 0, "InstancesToUpdate": 0, "Preferences": { "MinHealthyPercentage": 100, "InstanceWarmup": 300, "CheckpointPercentages": [ 50 ], "CheckpointDelay": 3600, "SkipMatching": false, "AutoRollback": true, "ScaleInProtectedInstances": "Ignore", "StandbyInstances": "Ignore" } }, { "InstanceRefreshId": "dd7728d0-5bc4-4575-96a3-1b2c52bf8bb1", "AutoScalingGroupName": "my-asg", "Status": "Successful", "EndTime": "2022-06-02T16:53:37Z", "PercentageComplete": 100, "InstancesToUpdate": 0, "Preferences": { "MinHealthyPercentage": 90, "InstanceWarmup": 300, "SkipMatching": true, "AutoRollback": true, "ScaleInProtectedInstances": "Ignore", "StandbyInstances": "Ignore" } } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「インスタンスの更新のステータスを確認する」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeInstanceRefreshes」の「」を参照してください。 AWS CLI

次の例は、describe-launch-configurations を使用する方法を説明しています。

AWS CLI

例 1: 指定した起動設定を記述するには

この例では、指定された起動設定について説明します。

aws autoscaling describe-launch-configurations \ --launch-configuration-names my-launch-config

出力:

{ "LaunchConfigurations": [ { "LaunchConfigurationName": "my-launch-config", "LaunchConfigurationARN": "arn:aws:autoscaling:us-west-2:123456789012:launchConfiguration:98d3b196-4cf9-4e88-8ca1-8547c24ced8b:launchConfigurationName/my-launch-config", "ImageId": "ami-0528a5175983e7f28", "KeyName": "my-key-pair-uswest2", "SecurityGroups": [ "sg-05eaec502fcdadc2e" ], "ClassicLinkVPCSecurityGroups": [], "UserData": "", "InstanceType": "t2.micro", "KernelId": "", "RamdiskId": "", "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "SnapshotId": "snap-06c1606ba5ca274b1", "VolumeSize": 8, "VolumeType": "gp2", "DeleteOnTermination": true, "Encrypted": false } } ], "InstanceMonitoring": { "Enabled": true }, "CreatedTime": "2020-10-28T02:39:22.321Z", "EbsOptimized": false, "AssociatePublicIpAddress": true, "MetadataOptions": { "HttpTokens": "required", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "disabled" } } ] }

例 2: 指定した数の起動設定を記述するには

特定の数の起動設定を返すには、 --max-itemsオプションを使用します。

aws autoscaling describe-launch-configurations \ --max-items 1

出力に NextTokenフィールドが含まれている場合は、さらに多くの起動設定があります。追加の起動設定を取得するには、次のように、後続の呼び出しで --starting-tokenオプションを指定してこのフィールドの値を使用します。

aws autoscaling describe-launch-configurations \ --starting-token Z3M3LMPEXAMPLE
  • API の詳細については、「 コマンドリファレンスDescribeLaunchConfigurations」の「」を参照してください。 AWS CLI

次の例は、describe-lifecycle-hook-types を使用する方法を説明しています。

AWS CLI

使用可能なライフサイクルフックタイプを記述するには

この例では、使用可能なライフサイクルフックタイプについて説明します。

aws autoscaling describe-lifecycle-hook-types

出力:

{ "LifecycleHookTypes": [ "autoscaling:EC2_INSTANCE_LAUNCHING", "autoscaling:EC2_INSTANCE_TERMINATING" ] }
  • API の詳細については、「 コマンドリファレンスDescribeLifecycleHookTypes」の「」を参照してください。 AWS CLI

次の例は、describe-lifecycle-hooks を使用する方法を説明しています。

AWS CLI

ライフサイクルフックを記述するには

この例では、指定された Auto Scaling グループのライフサイクルフックについて説明します。

aws autoscaling describe-lifecycle-hooks \ --auto-scaling-group-name my-asg

出力:

{ "LifecycleHooks": [ { "GlobalTimeout": 3000, "HeartbeatTimeout": 30, "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-launch-hook", "DefaultResult": "ABANDON", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING" }, { "GlobalTimeout": 6000, "HeartbeatTimeout": 60, "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-termination-hook", "DefaultResult": "CONTINUE", "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING" } ] }
  • API の詳細については、「 コマンドリファレンスDescribeLifecycleHooks」の「」を参照してください。 AWS CLI

次の例は、describe-load-balancer-target-groups を使用する方法を説明しています。

AWS CLI

Auto Scaling グループのロードバランサーターゲットグループを記述するには

この例では、指定された Auto Scaling グループにアタッチされたロードバランサーターゲットグループについて説明します。

aws autoscaling describe-load-balancer-target-groups \ --auto-scaling-group-name my-asg

出力:

{ "LoadBalancerTargetGroups": [ { "LoadBalancerTargetGroupARN": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", "State": "Added" } ] }

次の例は、describe-load-balancers を使用する方法を説明しています。

AWS CLI

Auto Scaling グループの Classic Load Balancer を記述するには

この例では、指定された Auto Scaling グループの Classic Load Balancer について説明します。

aws autoscaling describe-load-balancers \ --auto-scaling-group-name my-asg

出力:

{ "LoadBalancers": [ { "State": "Added", "LoadBalancerName": "my-load-balancer" } ] }
  • API の詳細については、「 コマンドリファレンスDescribeLoadBalancers」の「」を参照してください。 AWS CLI

次の例は、describe-metric-collection-types を使用する方法を説明しています。

AWS CLI

使用可能なメトリクスコレクションタイプを記述するには

この例では、使用可能なメトリクスコレクションタイプについて説明します。

aws autoscaling describe-metric-collection-types

出力:

{ "Metrics": [ { "Metric": "GroupMinSize" }, { "Metric": "GroupMaxSize" }, { "Metric": "GroupDesiredCapacity" }, { "Metric": "GroupInServiceInstances" }, { "Metric": "GroupInServiceCapacity" }, { "Metric": "GroupPendingInstances" }, { "Metric": "GroupPendingCapacity" }, { "Metric": "GroupTerminatingInstances" }, { "Metric": "GroupTerminatingCapacity" }, { "Metric": "GroupStandbyInstances" }, { "Metric": "GroupStandbyCapacity" }, { "Metric": "GroupTotalInstances" }, { "Metric": "GroupTotalCapacity" } ], "Granularities": [ { "Granularity": "1Minute" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループのメトリクス」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeMetricCollectionTypes」の「」を参照してください。 AWS CLI

次の例は、describe-notification-configurations を使用する方法を説明しています。

AWS CLI

例 1: 指定したグループの通知設定を記述するには

この例では、指定した Auto Scaling グループの通知設定について説明します。

aws autoscaling describe-notification-configurations \ --auto-scaling-group-name my-asg

出力:

{ "NotificationConfigurations": [ { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" }, { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" } ] }

詳細については、『Amazon EC2 Auto Scaling ユーザーガイド』の「Auto Scaling グループのスケーリング時の Amazon SNS 通知の取得」を参照してください。

例 1: 指定した数の通知設定を記述するには

特定の数の通知設定を返すには、 max-itemsパラメータを使用します。

aws autoscaling describe-notification-configurations \ --auto-scaling-group-name my-auto-scaling-group \ --max-items 1

出力:

{ "NotificationConfigurations": [ { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" }, { "AutoScalingGroupName": "my-asg", "NotificationType": "autoscaling:TEST_NOTIFICATION", "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" } ] }

出力に NextTokenフィールドが含まれている場合、通知設定がさらに多くなります。追加の通知設定を取得するには、次のように、後続の呼び出しで starting-tokenパラメータを指定してこのフィールドの値を使用します。

aws autoscaling describe-notification-configurations \ --auto-scaling-group-name my-asg \ --starting-token Z3M3LMPEXAMPLE

詳細については、『Amazon EC2 Auto Scaling ユーザーガイド』の「Auto Scaling グループのスケーリング時の Amazon SNS 通知の取得」を参照してください。

次の例は、describe-policies を使用する方法を説明しています。

AWS CLI

例 1: 指定したグループのスケーリングポリシーを記述するには

この例では、指定された Auto Scaling グループのスケーリングポリシーについて説明します。

aws autoscaling describe-policies \ --auto-scaling-group-name my-asg

出力:

{ "ScalingPolicies": [ { "AutoScalingGroupName": "my-asg", "PolicyName": "alb1000-target-tracking-scaling-policy", "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:3065d9c8-9969-4bec-bb6a-3fbe5550fde6:autoScalingGroupName/my-asg:policyName/alb1000-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "StepAdjustments": [], "Alarms": [ { "AlarmName": "TargetTracking-my-asg-AlarmHigh-924887a9-12d7-4e01-8686-6f844d13a196", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-924887a9-12d7-4e01-8686-6f844d13a196" }, { "AlarmName": "TargetTracking-my-asg-AlarmLow-f96f899d-b8e7-4d09-a010-c1aaa35da296", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-f96f899d-b8e7-4d09-a010-c1aaa35da296" } ], "TargetTrackingConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" }, "TargetValue": 1000.0, "DisableScaleIn": false }, "Enabled": true }, { "AutoScalingGroupName": "my-asg", "PolicyName": "cpu40-target-tracking-scaling-policy", "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:5fd26f71-39d4-4690-82a9-b8515c45cdde:autoScalingGroupName/my-asg:policyName/cpu40-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "StepAdjustments": [], "Alarms": [ { "AlarmName": "TargetTracking-my-asg-AlarmHigh-139f9789-37b9-42ad-bea5-b5b147d7f473", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-139f9789-37b9-42ad-bea5-b5b147d7f473" }, { "AlarmName": "TargetTracking-my-asg-AlarmLow-bd681c67-fc18-4c56-8468-fb8e413009c9", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-bd681c67-fc18-4c56-8468-fb8e413009c9" } ], "TargetTrackingConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 40.0, "DisableScaleIn": false }, "Enabled": true } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「動的スケーリング」を参照してください。

例 2: 指定した名前のスケーリングポリシーを記述するには

特定のスケーリングポリシーを返すには、 --policy-namesオプションを使用します。

aws autoscaling describe-policies \ --auto-scaling-group-name my-asg \ --policy-names cpu40-target-tracking-scaling-policy

出力例については、例 1 を参照してください。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「動的スケーリング」を参照してください。

例 3: いくつかのスケーリングポリシーを記述するには

特定の数のポリシーを返すには、 --max-itemsオプションを使用します。

aws autoscaling describe-policies \ --auto-scaling-group-name my-asg \ --max-items 1

出力例については、例 1 を参照してください。

出力に NextTokenフィールドが含まれている場合は、後続の呼び出しで --starting-tokenオプションを指定してこのフィールドの値を使用して、追加のポリシーを取得します。

aws autoscaling describe-policies --auto-scaling-group-name my-asg --starting-token Z3M3LMPEXAMPLE

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「動的スケーリング」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribePolicies」の「」を参照してください。 AWS CLI

次の例は、describe-scaling-activities を使用する方法を説明しています。

AWS CLI

例 1: 指定されたグループのスケーリングアクティビティを記述するには

この例は、指定された Auto Scaling グループのスケーリングアクティビティを記述します。

aws autoscaling describe-scaling-activities \ --auto-scaling-group-name my-asg

出力:

{ "Activities": [ { "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", "Description": "Launching a new EC2 instance: i-0d44425630326060f", "AutoScalingGroupName": "my-asg", "Cause": "At 2020-10-30T19:35:51Z a user request update of AutoScalingGroup constraints to min: 0, max: 16, desired: 16 changing the desired capacity from 0 to 16. At 2020-10-30T19:36:07Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 16.", "StartTime": "2020-10-30T19:36:09.766Z", "EndTime": "2020-10-30T19:36:41Z", "StatusCode": "Successful", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループのスケーリングアクティビティを検証する」を参照してください。

例 2: 削除されたグループのスケーリングアクティビティを記述するには

Auto Scaling グループが削除された後にスケーリングアクティビティを記述するには、--include-deleted-groups オプションを追加します。

aws autoscaling describe-scaling-activities \ --auto-scaling-group-name my-asg \ --include-deleted-groups

出力:

{ "Activities": [ { "ActivityId": "e1f5de0e-f93e-1417-34ac-092a76fba220", "Description": "Launching a new EC2 instance. Status Reason: Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.", "AutoScalingGroupName": "my-asg", "Cause": "At 2021-01-13T20:47:24Z a user request update of AutoScalingGroup constraints to min: 1, max: 5, desired: 3 changing the desired capacity from 0 to 3. At 2021-01-13T20:47:27Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 3.", "StartTime": "2021-01-13T20:47:30.094Z", "EndTime": "2021-01-13T20:47:30Z", "StatusCode": "Failed", "StatusMessage": "Your Spot request price of 0.001 is lower than the minimum required Spot request fulfillment price of 0.0031. Launching EC2 instance failed.", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}", "AutoScalingGroupState": "Deleted", "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:283179a2-f3ce-423d-93f6-66bb518232f7:autoScalingGroupName/my-asg" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling をトラブルシューティングする」を参照してください。

例 3: 指定された数のスケーリングアクティビティを記述するには

特定の数のアクティビティを返すには、--max-items オプションを使用します。

aws autoscaling describe-scaling-activities \ --max-items 1

出力:

{ "Activities": [ { "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", "Description": "Launching a new EC2 instance: i-0d44425630326060f", "AutoScalingGroupName": "my-asg", "Cause": "At 2020-10-30T19:35:51Z a user request update of AutoScalingGroup constraints to min: 0, max: 16, desired: 16 changing the desired capacity from 0 to 16. At 2020-10-30T19:36:07Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 16.", "StartTime": "2020-10-30T19:36:09.766Z", "EndTime": "2020-10-30T19:36:41Z", "StatusCode": "Successful", "Progress": 100, "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2b\"}" } ] }

出力に NextToken フィールドが含まれている場合は、さらに多くのアクティビティがあることを示しています。追加のアクティビティを取得するには、次のように、以降の呼び出しで --starting-token オプションを使用してこのフィールドの値を使用します。

aws autoscaling describe-scaling-activities \ --starting-token Z3M3LMPEXAMPLE

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループのスケーリングアクティビティを検証する」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeScalingActivities」の「」を参照してください。 AWS CLI

次の例は、describe-scaling-process-types を使用する方法を説明しています。

AWS CLI

使用可能なプロセスタイプを記述するには

この例では、使用可能なプロセスタイプについて説明します。

aws autoscaling describe-scaling-process-types

出力:

{ "Processes": [ { "ProcessName": "AZRebalance" }, { "ProcessName": "AddToLoadBalancer" }, { "ProcessName": "AlarmNotification" }, { "ProcessName": "HealthCheck" }, { "ProcessName": "InstanceRefresh" }, { "ProcessName": "Launch" }, { "ProcessName": "ReplaceUnhealthy" }, { "ProcessName": "ScheduledActions" }, { "ProcessName": "Terminate" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「スケーリングプロセスの一時停止と再開」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスDescribeScalingProcessTypes」の「」を参照してください。 AWS CLI

次の例は、describe-scheduled-actions を使用する方法を説明しています。

AWS CLI

例 1: すべてのスケジュールされたアクションを記述するには

この例では、スケジュールされたすべてのアクションについて説明します。

aws autoscaling describe-scheduled-actions

出力:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Scheduled scaling(スケジュールされたスケーリング)」を参照してください。

例 2: 指定したグループのスケジュールされたアクションを記述するには

特定の Auto Scaling グループに対してスケジュールされたアクションを記述するには、 --auto-scaling-group-nameオプションを使用します。

aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name my-asg

出力:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Scheduled scaling(スケジュールされたスケーリング)」を参照してください。

例 3: 指定されたスケジュールされたアクションを記述するには

特定のスケジュールされたアクションを記述するには、 --scheduled-action-namesオプションを使用します。

aws autoscaling describe-scheduled-actions \ --scheduled-action-names my-recurring-action

出力:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Scheduled scaling(スケジュールされたスケーリング)」を参照してください。

例 4: 開始時刻を指定してスケジュールされたアクションを記述するには

特定の時間に開始されるスケジュールされたアクションを記述するには、 --start-timeオプションを使用します。

aws autoscaling describe-scheduled-actions \ --start-time "2023-12-01T04:00:00Z"

出力:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Scheduled scaling(スケジュールされたスケーリング)」を参照してください。

例 5: 指定した時間に終了するスケジュールされたアクションを記述するには

特定の時間に終了するスケジュールされたアクションを記述するには、 --end-timeオプションを使用します。

aws autoscaling describe-scheduled-actions \ --end-time "2023-12-01T04:00:00Z"

出力:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Scheduled scaling(スケジュールされたスケーリング)」を参照してください。

例 6: 指定された数のスケジュールされたアクションを記述するには

特定の数のスケジュールされたアクションを返すには、 --max-itemsオプションを使用します。

aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name my-asg \ --max-items 1

出力:

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2023-12-01T04:00:00Z", "Time": "2023-12-01T04:00:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4, "TimeZone": "America/New_York" } ] }

出力に NextTokenフィールドが含まれている場合、さらにスケジュールされたアクションがあります。追加のスケジュールされたアクションを取得するには、次のように、後続の呼び出しで --starting-tokenオプションを指定してこのフィールドの値を使用します。

aws autoscaling describe-scheduled-actions \ --auto-scaling-group-name my-asg \ --starting-token Z3M3LMPEXAMPLE

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Scheduled scaling(スケジュールされたスケーリング)」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeScheduledActions」の「」を参照してください。 AWS CLI

次の例は、describe-tags を使用する方法を説明しています。

AWS CLI

すべてのタグを記述するには

この例では、すべてのタグについて説明します。

aws autoscaling describe-tags

出力:

{ "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "Research", "Key": "Dept" }, { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "WebServer", "Key": "Role" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループとインスタンスのタグ付け」を参照してください。 Amazon EC2 Auto Scaling

例 2: 指定したグループのタグを記述するには

特定の Auto Scaling グループのタグを記述するには、 --filtersオプションを使用します。

aws autoscaling describe-tags --filters Name=auto-scaling-group,Values=my-asg

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループとインスタンスのタグ付け」を参照してください。 Amazon EC2 Auto Scaling

例 3: 指定した数のタグを記述するには

特定の数のタグを返すには、 --max-itemsオプションを使用します。

aws autoscaling describe-tags \ --max-items 1

出力に NextTokenフィールドが含まれている場合、さらにタグがあります。追加のタグを取得するには、次のように、後続の呼び出しで --starting-tokenオプションを指定してこのフィールドの値を使用します。

aws autoscaling describe-tags \ --filters Name=auto-scaling-group,Values=my-asg \ --starting-token Z3M3LMPEXAMPLE

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループとインスタンスのタグ付け」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスDescribeTags」の「」を参照してください。 AWS CLI

次の例は、describe-termination-policy-types を使用する方法を説明しています。

AWS CLI

使用可能な終了ポリシータイプを記述するには

この例では、使用可能な終了ポリシータイプについて説明します。

aws autoscaling describe-termination-policy-types

出力:

{ "TerminationPolicyTypes": [ "AllocationStrategy", "ClosestToNextInstanceHour", "Default", "NewestInstance", "OldestInstance", "OldestLaunchConfiguration", "OldestLaunchTemplate" ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「スケールイン中に終了する Auto Scaling インスタンスの制御」を参照してください。 Amazon EC2 Auto Scaling

次の例は、describe-warm-pool を使用する方法を説明しています。

AWS CLI

ウォームプールを記述するには

この例では、指定された Auto Scaling グループのウォームプールについて説明します。

aws autoscaling describe-warm-pool \ --auto-scaling-group-name my-asg

出力:

{ "WarmPoolConfiguration": { "MinSize": 2, "PoolState": "Stopped" }, "Instances": [ { "InstanceId": "i-070a5bbc7e7f40dc5", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2c", "LifecycleState": "Warmed:Pending", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-00a731f6e9fa48610", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "6" } }, { "InstanceId": "i-0b52f061814d3bd2d", "InstanceType": "t2.micro", "AvailabilityZone": "us-west-2b", "LifecycleState": "Warmed:Pending", "HealthStatus": "Healthy", "LaunchTemplate": { "LaunchTemplateId": "lt-00a731f6e9fa48610", "LaunchTemplateName": "my-template-for-auto-scaling", "Version": "6" } } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のウオームプール」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeWarmPool」の「」を参照してください。 AWS CLI

次の例は、detach-instances を使用する方法を説明しています。

AWS CLI

Auto Scaling グループからインスタンスをデタッチするには

この例では、指定された Auto Scaling グループから指定されたインスタンスをデタッチします。

aws autoscaling detach-instances \ --instance-ids i-030017cfa84b20135 \ --auto-scaling-group-name my-asg \ --should-decrement-desired-capacity

出力:

{ "Activities": [ { "ActivityId": "5091cb52-547a-47ce-a236-c9ccbc2cb2c9", "AutoScalingGroupName": "my-asg", "Description": "Detaching EC2 instance: i-030017cfa84b20135", "Cause": "At 2020-10-31T17:35:04Z instance i-030017cfa84b20135 was detached in response to a user request, shrinking the capacity from 2 to 1.", "StartTime": "2020-04-12T15:02:16.179Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }
  • API の詳細については、「 コマンドリファレンスDetachInstances」の「」を参照してください。 AWS CLI

次の例は、detach-load-balancer-target-groups を使用する方法を説明しています。

AWS CLI

Auto Scaling グループからロードバランサーターゲットグループをデタッチするには

この例では、指定された Auto Scaling グループから指定されたロードバランサーターゲットグループをデタッチします。

aws autoscaling detach-load-balancer-target-groups \ --auto-scaling-group-name my-asg \ --target-group-arns arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067

このコマンドは出力を生成しません

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループへのロードバランサーのアタッチ」を参照してください。

次の例は、detach-load-balancers を使用する方法を説明しています。

AWS CLI

Auto Scaling グループから Classic Load Balancer をデタッチするには

この例では、指定された Auto Scaling グループから指定された Classic Load Balancer をデタッチします。

aws autoscaling detach-load-balancers \ --load-balancer-names my-load-balancer \ --auto-scaling-group-name my-asg

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループへのロードバランサーのアタッチ」を参照してください。

  • API の詳細については、「 コマンドリファレンスDetachLoadBalancers」の「」を参照してください。 AWS CLI

次の例は、disable-metrics-collection を使用する方法を説明しています。

AWS CLI

Auto Scaling グループのメトリクス収集を無効にするには

この例では、指定された Auto Scaling グループの GroupDesiredCapacity メトリクスの収集を無効にします。

aws autoscaling disable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループとインスタンスの CloudWatch メトリクスのモニタリング」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスDisableMetricsCollection」の「」を参照してください。 AWS CLI

次の例は、enable-metrics-collection を使用する方法を説明しています。

AWS CLI

例 1: Auto Scaling グループのメトリクス収集を有効にするには

この例は、指定された Auto Scaling グループのデータの収集を有効にします。

aws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --granularity "1Minute"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループとインスタンスの CloudWatch メトリクスのモニタリング」を参照してください。 Amazon EC2 Auto Scaling

例 2: Auto Scaling グループの指定されたメトリックスのデータを収集するには

特定のメトリックスのデータを収集するには、--metrics オプションを使用します。

aws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity --granularity "1Minute"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループとインスタンスの CloudWatch メトリクスのモニタリング」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスEnableMetricsCollection」の「」を参照してください。 AWS CLI

次の例は、enter-standby を使用する方法を説明しています。

AWS CLI

インスタンスをスタンバイモードに移行するには

この例では、指定されたインスタンスをスタンバイモードにします。これは、現在実行中のインスタンスを更新またはトラブルシューティングする場合に便利です。

aws autoscaling enter-standby \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg \ --should-decrement-desired-capacity

出力:

{ "Activities": [ { "ActivityId": "ffa056b4-6ed3-41ba-ae7c-249dfae6eba1", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance to Standby: i-061c63c5eb45f0416", "Cause": "At 2020-10-31T20:31:00Z instance i-061c63c5eb45f0416 was moved to standby in response to a user request, shrinking the capacity from 1 to 0.", "StartTime": "2020-10-31T20:31:00.949Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling インスタンスのライフサイクル」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスEnterStandby」の「」を参照してください。 AWS CLI

次の例は、execute-policy を使用する方法を説明しています。

AWS CLI

スケーリングポリシーを実行するには

この例では、指定された Auto Scaling グループmy-step-scale-out-policyに対して という名前のスケーリングポリシーを実行します。

aws autoscaling execute-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-out-policy \ --metric-value 95 \ --breach-threshold 80

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「ステップポリシーと簡易スケーリングポリシー」を参照してください。

  • API の詳細については、「 コマンドリファレンスExecutePolicy」の「」を参照してください。 AWS CLI

次の例は、exit-standby を使用する方法を説明しています。

AWS CLI

インスタンスをスタンバイモードから解除するには

この例では、指定したインスタンスをスタンバイモードから解除します。

aws autoscaling exit-standby \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg

出力:

{ "Activities": [ { "ActivityId": "142928e1-a2dc-453a-9b24-b85ad6735928", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance out of Standby: i-061c63c5eb45f0416", "Cause": "At 2020-10-31T20:32:50Z instance i-061c63c5eb45f0416 was moved out of standby in response to a user request, increasing the capacity from 0 to 1.", "StartTime": "2020-10-31T20:32:50.222Z", "StatusCode": "PreInService", "Progress": 30, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループからのインスタンスの一時的な削除」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスExitStandby」の「」を参照してください。 AWS CLI

次の例は、put-lifecycle-hook を使用する方法を説明しています。

AWS CLI

例 1: ライフサイクルフックを作成するには

この例では、新しく起動されたインスタンスで を呼び出すライフサイクルフックを作成します。タイムアウトは 4,800 秒です。これは、ユーザーデータスクリプトが完了するまでインスタンスを待機状態に保つ場合や、 を使用して AWS Lambda 関数を呼び出す場合に便利です EventBridge。

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --heartbeat-timeout 4800

このコマンドでは何も出力されません。同じ名前のライフサイクルフックが既に存在する場合、新しいライフサイクルフックによって上書きされます。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

例 2: インスタンスの状態遷移を通知する Amazon SNS E メールメッセージを送信するには

この例では、インスタンスの起動時に通知を受信するために使用する Amazon SNS トピックと IAM ロールを含むライフサイクルフックを作成します。

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --notification-target-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic \ --role-arn arn:aws:iam::123456789012:role/my-auto-scaling-role

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

例 3: Amazon SQS キューにメッセージを発行するには

この例では、指定した Amazon SQS キューにメタデータを含むメッセージを発行するライフサイクルフックを作成します。

aws autoscaling put-lifecycle-hook \ --auto-scaling-group-name my-asg \ --lifecycle-hook-name my-launch-hook \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING \ --notification-target-arn arn:aws:sqs:us-west-2:123456789012:my-sqs-queue \ --role-arn arn:aws:iam::123456789012:role/my-notification-role \ --notification-metadata "SQS message metadata"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

  • API の詳細については、「 コマンドリファレンスPutLifecycleHook」の「」を参照してください。 AWS CLI

次の例は、put-notification-configuration を使用する方法を説明しています。

AWS CLI

通知を追加するには

この例では、指定された Auto Scaling グループに指定された通知を追加します。

aws autoscaling put-notification-configuration \ --auto-scaling-group-name my-asg \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-sns-topic \ --notification-type autoscaling:TEST_NOTIFICATION

このコマンドでは何も出力されません。

詳細については、『Amazon EC2 Auto Scaling ユーザーガイド』の「Auto Scaling グループのスケーリング時の Amazon SNS 通知の取得」を参照してください。

  • API の詳細については、「 コマンドリファレンスPutNotificationConfiguration」の「」を参照してください。 AWS CLI

次の例は、put-scaling-policy を使用する方法を説明しています。

AWS CLI

Auto Scaling グループにターゲット追跡スケーリングポリシーを追加するには

次のput-scaling-policy例では、指定された Auto Scaling グループにターゲット追跡スケーリングポリシーを適用します。出力には、ユーザーに代わって作成された 2 つの CloudWatch アラームの ARNs と名前が含まれます。同じ名前のスケーリングポリシーが既に存在する場合、新しいスケーリングポリシーによって上書きされます。

aws autoscaling put-scaling-policy --auto-scaling-group-name my-asg \ --policy-name alb1000-target-tracking-scaling-policy \ --policy-type TargetTrackingScaling \ --target-tracking-configuration file://config.json

config.json の内容:

{ "TargetValue": 1000.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" } }

出力:

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:228f02c2-c665-4bfd-aaac-8b04080bea3c:autoScalingGroupName/my-asg:policyName/alb1000-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e", "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e" }, { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2", "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2" } ] }

その他の例については、「Amazon EC2 Auto Scaling ユーザーガイド」の AWS 「 コマンドラインインターフェイス (AWS CLI) のスケーリングポリシーの例」を参照してください。

  • API の詳細については、「 コマンドリファレンスPutScalingPolicy」の「」を参照してください。 AWS CLI

次の例は、put-scheduled-update-group-action を使用する方法を説明しています。

AWS CLI

例 1: スケジュールされたアクションを Auto Scaling グループに追加するには

この例では、指定されたスケジュールされたアクションを指定された Auto Scaling グループに追加します。

aws autoscaling put-scheduled-update-group-action \ --auto-scaling-group-name my-asg \ --scheduled-action-name my-scheduled-action \ --start-time "2023-05-12T08:00:00Z" \ --min-size 2 \ --max-size 6 \ --desired-capacity 4

このコマンドでは何も出力されません。同じ名前のスケジュールされたアクションが既に存在する場合、そのアクションは新しいスケジュールされたアクションによって上書きされます。

その他の例については、「Amazon EC2 Auto Scaling ユーザーガイド」の「スケジュールされたスケーリング」を参照してください。

例 2: 定期的なスケジュールを指定するには

この例では、毎年 1 月、6 月、12 月 1 日 00:30 に実行される予定の定期的なスケジュールでスケーリングするスケジュールされたアクションを作成します。

aws autoscaling put-scheduled-update-group-action \ --auto-scaling-group-name my-asg \ --scheduled-action-name my-recurring-action \ --recurrence "30 0 1 1,6,12 *" \ --min-size 2 \ --max-size 6 \ --desired-capacity 4

このコマンドでは何も出力されません。同じ名前のスケジュールされたアクションが既に存在する場合、そのアクションは新しいスケジュールされたアクションによって上書きされます。

その他の例については、「Amazon EC2 Auto Scaling ユーザーガイド」の「スケジュールされたスケーリング」を参照してください。

  • API の詳細については、「 コマンドリファレンスPutScheduledUpdateGroupAction」の「」を参照してください。 AWS CLI

次の例は、put-warm-pool を使用する方法を説明しています。

AWS CLI

ウォームプールを作成するには

次の例では、指定された Auto Scaling グループのウォームプールを作成します。

aws autoscaling put-warm-pool \ --auto-scaling-group-name my-asg \ --min-size 2

このコマンドでは何も出力されません。ウォームプールがすでに存在する場合は、更新されます。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のウオームプール」を参照してください。

  • API の詳細については、「 コマンドリファレンスPutWarmPool」の「」を参照してください。 AWS CLI

次の例は、record-lifecycle-action-heartbeat を使用する方法を説明しています。

AWS CLI

ライフサイクルアクションのハートビートを記録するには

この例では、ライフサイクルアクションのハートビートを記録して、インスタンスを保留状態のままにします。

aws autoscaling record-lifecycle-action-heartbeat \ --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のライフサイクルフック」を参照してください。

次の例は、resume-processes を使用する方法を説明しています。

AWS CLI

中断されたプロセスを再開するには

この例では、指定された Auto Scaling グループの指定された中断されたスケーリングプロセスを再開します。

aws autoscaling resume-processes \ --auto-scaling-group-name my-asg \ --scaling-processes AlarmNotification

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「スケーリングプロセスの一時停止と再開」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスResumeProcesses」の「」を参照してください。 AWS CLI

次の例は、rollback-instance-refresh を使用する方法を説明しています。

AWS CLI

インスタンスの更新をロールバックするには

次のrollback-instance-refresh例では、指定された Auto Scaling グループの進行中のインスタンスの更新をロールバックします。

aws autoscaling rollback-instance-refresh \ --auto-scaling-group-name my-asg

出力:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「ロールバックで変更の取り消し」を参照してください。

  • API の詳細については、「 コマンドリファレンスRollbackInstanceRefresh」の「」を参照してください。 AWS CLI

次の例は、set-desired-capacity を使用する方法を説明しています。

AWS CLI

Auto Scaling グループの希望する容量を設定するには

この例は、指定された Auto Scaling グループの希望する容量を設定します。

aws autoscaling set-desired-capacity \ --auto-scaling-group-name my-asg \ --desired-capacity 2 \ --honor-cooldown

正常に完了すると、このコマンドはプロンプトに戻ります。

  • API の詳細については、「 コマンドリファレンスSetDesiredCapacity」の「」を参照してください。 AWS CLI

次の例は、set-instance-health を使用する方法を説明しています。

AWS CLI

インスタンスのヘルスステータスを設定するには

この例では、指定したインスタンスのヘルスステータスを に設定しますUnhealthy

aws autoscaling set-instance-health \ --instance-id i-061c63c5eb45f0416 \ --health-status Unhealthy

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスSetInstanceHealth」の「」を参照してください。 AWS CLI

次の例は、set-instance-protection を使用する方法を説明しています。

AWS CLI

例 1: インスタンスのインスタンス保護設定を有効にするには

この例では、指定したインスタンスのインスタンス保護を有効にします。

aws autoscaling set-instance-protection \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg --protected-from-scale-in

このコマンドでは何も出力されません。

例 2: インスタンスのインスタンス保護設定を無効にするには

この例では、指定したインスタンスのインスタンス保護を無効にします。

aws autoscaling set-instance-protection \ --instance-ids i-061c63c5eb45f0416 \ --auto-scaling-group-name my-asg \ --no-protected-from-scale-in

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスSetInstanceProtection」の「」を参照してください。 AWS CLI

次の例は、start-instance-refresh を使用する方法を説明しています。

AWS CLI

例 1: コマンドラインパラメータを使用してインスタンスの更新を開始するには

次のstart-instance-refresh例では、コマンドライン引数を使用してインスタンスの更新を開始します。オプションの preferencesパラメータは、 InstanceWarmup60 秒、 を 50パーセントMinHealthyPercentageで指定します。

aws autoscaling start-instance-refresh \ --auto-scaling-group-name my-asg \ --preferences '{"InstanceWarmup": 60, "MinHealthyPercentage": 50}'

出力:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「インスタンスの更新を開始する」を参照してください。

例 2: JSON ファイルを使用してインスタンスの更新を開始するには

次のstart-instance-refresh例では、JSON ファイルを使用してインスタンスの更新を開始します。次の例に示すように、Auto Scaling グループを指定し、JSON ファイルで必要な設定とプリファレンスを定義できます。

aws autoscaling start-instance-refresh \ --cli-input-json file://config.json

config.json の内容:

{ "AutoScalingGroupName": "my-asg", "DesiredConfiguration": { "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b729example", "Version": "$Default" } }, "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 50, "AutoRollback": true, "ScaleInProtectedInstances": Ignore, "StandbyInstances": Terminate } }

出力:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「インスタンスの更新を開始する」を参照してください。

  • API の詳細については、「 コマンドリファレンスStartInstanceRefresh」の「」を参照してください。 AWS CLI

次の例は、suspend-processes を使用する方法を説明しています。

AWS CLI

Auto Scaling プロセスを中断するには

この例では、指定された Auto Scaling グループの指定されたスケーリングプロセスを一時停止します。

aws autoscaling suspend-processes \ --auto-scaling-group-name my-asg \ --scaling-processes AlarmNotification

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「スケーリングプロセスの一時停止と再開」を参照してください。 Amazon EC2 Auto Scaling

  • API の詳細については、「 コマンドリファレンスSuspendProcesses」の「」を参照してください。 AWS CLI

次の例は、terminate-instance-in-auto-scaling-group を使用する方法を説明しています。

AWS CLI

Auto Scaling グループのインスタンスを終了するには

この例は、グループのサイズを更新せずに、指定された Auto Scaling グループの指定されたインスタンスを終了します。指定されたインスタンスが終了した後、Amazon EC2 Auto Scaling は代替インスタンスを起動します。

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-061c63c5eb45f0416 \ --no-should-decrement-desired-capacity

出力:

{ "Activities": [ { "ActivityId": "8c35d601-793c-400c-fcd0-f64a27530df7", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-061c63c5eb45f0416", "Cause": "", "StartTime": "2020-10-31T20:34:25.680Z", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

次の例は、update-auto-scaling-group を使用する方法を説明しています。

AWS CLI

例 1: Auto Scaling グループのサイズ制限を更新するには

この例は、最小サイズが 2、最大サイズが 10 で、指定された Auto Scaling グループを更新します。

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --min-size 2 \ --max-size 10

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループにキャパシティーの制限を設定する」を参照してください。

例 2: Elastic Load Balancing ヘルスチェックを追加し、使用するアベイラビリティーゾーンとサブネットを指定するには

この例は、指定された Auto Scaling グループを更新して、Elastic Load Balancing のヘルスチェックを追加します。またこのコマンドは、複数のアベイラビリティーゾーンのサブネット ID のリストを使用して、--vpc-zone-identifier の値も更新します。

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --health-check-type ELB \ --health-check-grace-period 600 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Elastic Load Balancing を使用して Auto Scaling グループ内のインスタンス全体にトラフィックを分散させる」を参照してください。

例 3: プレイスメントグループと終了ポリシーを更新するには

この例は、プレイスメントグループと終了ポリシーを更新します。

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --placement-group my-placement-group \ --termination-policies "OldestInstance"

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループ」を参照してください。

例 4: 起動テンプレートの最新バージョンを使用するには

この例は、最新の起動テンプレートバージョンを使用するように、指定された Auto Scaling グループを更新します。

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-1234567890abcde12,Version='$Latest'

このコマンドでは何も出力されません。

詳細については、Amazon EC2 Auto Scaling ユーザーガイド起動テンプレートを参照してください。

例 5: 特定のバージョンの起動テンプレートを使用するには

この例は、最新バージョンやデフォルトバージョンではなく、指定された起動テンプレートのバージョンを使用するように、指定された Auto Scaling グループを更新します。

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'

このコマンドでは何も出力されません。

詳細については、Amazon EC2 Auto Scaling ユーザーガイド起動テンプレートを参照してください。

例 6: 混合インスタンスポリシーを定義し、容量のリバランスを有効にするには

この例は、指定された Auto Scaling グループを更新して、混合インスタンスポリシーを使用し、容量のリバランスを有効にします。この構造により、スポット容量とオンデマンド容量でグループを指定し、アーキテクチャごとに異なる起動テンプレートを使用できます。

aws autoscaling update-auto-scaling-group \ --cli-input-json file://~/config.json

config.json の内容:

{ "AutoScalingGroupName": "my-asg", "CapacityRebalance": true, "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-x86", "Version": "$Latest" }, "Overrides": [ { "InstanceType": "c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType": "c5.large" }, { "InstanceType": "c5a.large" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "capacity-optimized" } } }

このコマンドでは何も出力されません。

詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ」を参照してください。

  • API の詳細については、「 コマンドリファレンスUpdateAutoScalingGroup」の「」を参照してください。 AWS CLI