AWS CLI를 사용하는 Auto Scaling 예제 - AWS Command Line Interface

AWS CLI를 사용하는 Auto Scaling 예제

다음 코드 예제는 Auto Scaling과 함께 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 attach-instances을 사용하는 방법을 보여 줍니다.

AWS CLI

Auto Scaling 그룹에 인스턴스를 연결하는 방법

이 예제에서는 지정된 Auto Scaling 그룹에 지정된 인스턴스를 연결합니다.

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

이 명령은 출력을 생성하지 않습니다.

  • API 세부 정보는 AWS CLI 명령 참조AttachInstances를 참조하세요.

다음 코드 예시에서는 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 및 Amazon EC2 Auto Scaling을 참조하세요.

다음 코드 예시에서는 attach-load-balancers을 사용하는 방법을 보여 줍니다.

AWS CLI

Auto Scaling 그룹에 Classic Load Balancer를 연결하는 방법

이 예제에서는 지정된 Auto Scaling 그룹에 지정된 Classic Load Balancer를 연결합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서의 Elastic Load Balancing 및 Amazon EC2 Auto Scaling을 참조하세요.

다음 코드 예시에서는 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 사용 설명서인스턴스 새로 고침 취소를 참조하세요.

다음 코드 예시에서는 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 수명 주기 후크를 참조하세요.

다음 코드 예시에서는 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 사용 설명서오토 스케일링을 참조하세요.

예 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 및 Amazon EC2 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"

이 명령은 출력을 생성하지 않습니다.

자세한 내용을 알아보려면 Amazon EC2 - Linux 인스턴스용 사용 설명서배치 그룹을 참조하세요.

예 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 사용 설명서오토 스케일링을 참조하세요.

예 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를 사용하여 사용자 지정 종료 정책 생성을 참조하세요.

다음 코드 예시에서는 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 인스턴스에 대한 모니터링 구성을 참조하세요.

예제 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 인스턴스를 사용하여 시작 구성 생성을 참조하세요.

예제 7: Amazon EBS 볼륨에 대한 블록 디바이스 매핑을 사용하여 시작 구성을 생성하는 방법

이 예제에서는 디바이스 이름이 /dev/sdh이고 볼륨 크기가 20인 Amazon EBS gp3 볼륨에 대한 블록 디바이스 매핑을 사용하여 시작 구성을 생성합니다.

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에서 문자열에 따옴표 사용을 참조하세요.

다음 코드 예시에서는 create-or-update-tags을 사용하는 방법을 보여 줍니다.

AWS CLI

Auto Scaling 그룹의 태그를 생성하거나 업데이트하려면

이 예제에서는 지정된 Auto Scaling 그룹에 두 개의 태그를 추가합니다.

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 그룹 및 인스턴스 태그 지정을 참조하세요.

다음 코드 예시에서는 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 인프라 삭제를 참조하세요.

다음 코드 예시에서는 delete-launch-configuration을 사용하는 방법을 보여 줍니다.

AWS CLI

시작 구성을 삭제하려면

이 예제에서는 지정된 시작 구성을 삭제합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서의 Auto Scaling 인프라 삭제를 참조하세요.

다음 코드 예시에서는 delete-lifecycle-hook을 사용하는 방법을 보여 줍니다.

AWS CLI

수명 주기 후크를 삭제하려면

이 예제에서는 지정된 수명 주기 후크를 삭제합니다.

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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DeletePolicy를 참조하세요.

다음 코드 예시에서는 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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 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 그룹 및 인스턴스 태그 지정을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteTags를 참조하세요.

다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조DeleteWarmPool을 참조하세요.

다음 코드 예시에서는 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 서비스 할당량을 참조하세요.

다음 코드 예시에서는 describe-adjustment-types을 사용하는 방법을 보여 줍니다.

AWS CLI

사용 가능한 조정 유형을 설명하려면

이 예제에서는 사용 가능한 조정 유형을 설명합니다.

aws autoscaling describe-adjustment-types

출력:

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

자세한 내용을 알아보려면 Amazon EC2 Auto Scaling 사용 설명서조정 조절 유형을 참조하세요.

다음 코드 예시에서는 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 명령줄 사용자 인터페이스 사용 설명서AWS CLI 출력 필터링을 참조하세요.

다음 코드 예시에서는 describe-auto-scaling-instances을 사용하는 방법을 보여 줍니다.

AWS CLI

예 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: 하나 이상의 인스턴스를 설명하는 방법

이 예시에서는 --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 명령줄 사용자 인터페이스 사용 설명서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 사용 설명서인스턴스 새로 고침 상태 확인을 참조하세요.

다음 코드 예시에서는 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

다음 코드 예시에서는 describe-lifecycle-hook-types을 사용하는 방법을 보여 줍니다.

AWS CLI

사용 가능한 수명 주기 후크 유형을 설명하려면

이 예제에서는 사용 가능한 수명 주기 후크의 유형을 설명합니다.

aws autoscaling describe-lifecycle-hook-types

출력:

{ "LifecycleHookTypes": [ "autoscaling:EC2_INSTANCE_LAUNCHING", "autoscaling:EC2_INSTANCE_TERMINATING" ] }

다음 코드 예시에서는 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" } ] }

다음 코드 예시에서는 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" } ] }

다음 코드 예시에서는 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 그룹 지표를 참조하세요.

다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조DescribePolicies를 참조하세요.

다음 코드 예시에서는 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 그룹에 대한 크기 조정 활동 확인을 참조하세요.

다음 코드 예시에서는 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 사용 설명서조정 프로세스 일시 중단 및 재개 섹션을 참조하세요.

다음 코드 예시에서는 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 사용자 가이드예약 조정을 참조하세요.

예제 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 사용자 가이드예약 조정을 참조하세요.

예제 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 사용자 가이드예약 조정을 참조하세요.

예제 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 사용자 가이드예약 조정을 참조하세요.

예제 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 사용자 가이드예약 조정을 참조하세요.

예제 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 사용자 가이드예약 조정을 참조하세요.

다음 코드 예시에서는 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 그룹 및 인스턴스 태그 지정을 참조하세요.

예제 2: 지정된 그룹에 대한 태그를 설명하는 방법

특정 Auto Scaling 그룹에 대한 태그를 설명하려면 --filters 옵션을 사용합니다.

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

자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서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 그룹 및 인스턴스 태그 지정을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DescribeTags를 참조하세요.

다음 코드 예시에서는 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 인스턴스 종료 관리를 참조하세요.

다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조DescribeWarmPool을 참조하세요.

다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조DetachInstances를 참조하세요.

다음 코드 예시에서는 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 오토 스케일링 사용 설명서에서 로드 밸런서를 오토 스케일링 그룹에 연결을 참조하세요.

다음 코드 예시에서는 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 오토 스케일링 사용 설명서에서 로드 밸런서를 오토 스케일링 그룹에 연결을 참조하세요.

다음 코드 예시에서는 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 지표 모니터링을 참조하세요.

다음 코드 예시에서는 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 지표 모니터링을 참조하세요.

예 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 지표 모니터링을 참조하세요.

다음 코드 예시에서는 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 인스턴스 수명 주기를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조EnterStandby를 참조하세요.

다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조ExecutePolicy를 참조하세요.

다음 코드 예시에서는 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 그룹에서 일시적으로 인스턴스 제거를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ExitStandby를 참조하세요.

다음 코드 예시에서는 put-lifecycle-hook을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 수명 주기 후크를 생성하는 방법

이 예제에서는 4,800초의 제한 시간으로 새로 시작된 인스턴스에서 호출할 수명 주기 후크를 생성합니다. 이는 사용자 데이터 스크립트가 완료될 때까지 인스턴스를 대기 상태로 유지하거나 EventBridge를 사용하여 AWS Lambda 함수를 호출하는 데 유용합니다.

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 이메일 메시지를 전송하는 방법

이 예제에서는 인스턴스 시작 시 알림을 수신하는 데 사용할 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 세부 정보는 AWS CLI 명령 참조PutLifecycleHook을 참조하세요.

다음 코드 예시에서는 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 알림 수신을 참조하세요.

다음 코드 예시에서는 put-scaling-policy을 사용하는 방법을 보여 줍니다.

AWS CLI

Auto Scaling 그룹에 대상 추적 조정 정책을 추가하려면

다음 put-scaling-policy 예제에서는 지정된 Auto Scaling 그룹에 대상 추적 조정 정책을 적용합니다. 출력에는 ARN과 사용자를 대신하여 생성된 두 개의 CloudWatch 경보 이름이 포함됩니다. 같은 이름의 조정 정책이 이미 있는 경우 새 조정 정책으로 덮어씁니다.

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 세부 정보는 AWS CLI 명령 참조PutScalingPolicy를 참조하세요.

다음 코드 예시에서는 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 사용 설명서예약 조정을 참조하세요.

다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조PutWarmPool을 참조하세요.

다음 코드 예시에서는 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 사용 설명서조정 프로세스 일시 중단 및 재개 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ResumeProcesses를 참조하세요.

다음 코드 예시에서는 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 사용자 가이드롤백으로 변경 취소하기를 참조하세요.

다음 코드 예시에서는 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

이 명령은 성공하면 프롬프트로 돌아갑니다.

다음 코드 예시에서는 set-instance-health을 사용하는 방법을 보여 줍니다.

AWS CLI

인스턴스 상태를 설정하려면

이 예제에서는 지정된 인스턴스의 상태를 Unhealthy로 설정합니다.

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

이 명령은 출력을 생성하지 않습니다.

  • API 세부 정보는 AWS CLI 명령 참조SetInstanceHealth를 참조하세요.

다음 코드 예시에서는 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

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 start-instance-refresh을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 명령줄 파라미터를 사용하여 인스턴스 새로 고침을 시작하는 방법

다음 start-instance-refresh 예제에서는 명령줄 인수를 사용하여 인스턴스 새로 고침을 시작합니다. 선택적 preferences 파라미터는 60초의 InstanceWarmup50%의 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 사용 설명서인스턴스 새로 고침 시작을 참조하세요.

다음 코드 예시에서는 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 사용 설명서조정 프로세스 일시 중단 및 재개 섹션을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조SuspendProcesses를 참조하세요.

다음 코드 예시에서는 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 그룹의 크기 한도를 업데이트하는 방법

이 예시에서는 지정된 Auto Scaling 그룹을 최소 크기가 2, 최대 크기가 10으로 업데이트합니다.

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 상태 확인을 추가하고 사용할 가용 영역 및 서브넷을 지정하는 방법

이 예시에서는 Elastic Load Balancing 상태 확인을 추가하도록 지정된 Auto Scaling 그룹을 업데이트합니다. 또한 이 명령은 여러 가용 영역의 서브넷 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 및 Amazon EC2 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 사용 설명서오토 스케일링을 참조하세요.

예 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 그룹을 참조하세요.