Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EC2 Auto Scaling

Auto Scaling 그룹의 EC2 인스턴스 수를 언제든지 수동으로 조정할 수 있습니다. 인스턴스 수를 수동으로 변경하는 이 프로세스를 수동 조정이라고 합니다. 수동 조정은 오토 스케일링의 대안으로, 특히 일회성 용량 변경을 원하는 경우 더욱 그렇습니다.

그룹을 수동으로 조정한 후 Amazon EC2 Auto Scaling은 정의한 조정 정책 및 예약된 작업에 따라 일반적인 자동 조정 활동을 재개합니다. 기본 인스턴스 워밍업이 활성화된 그룹의 경우 새 인스턴스는 오토 스케일링에 사용되는 지표에 기여하기 전에 워밍업 기간을 거칩니다. 이 워밍업 기간은 새 용량에서 그룹을 안정화하는 데 도움이 됩니다. 자세한 내용은 Auto Scaling 그룹의 기본 인스턴스 워밍업 설정 단원을 참조하십시오.

가끔 그룹을 수동으로 조정하기 전에 조정 정책 및 예약된 작업을 일시적으로 비활성화할 수 있습니다. 이렇게 하면 수동 조정 작업과 자동 조정 활동 간에 충돌이 발생하지 않습니다. 자세한 내용은 조정 활동 비활성화 단원을 참조하십시오.

기존 Auto Scaling 그룹의 원하는 용량 변경

Auto Scaling 그룹의 원하는 용량을 변경하면 Amazon EC2 Auto Scaling은 인스턴스를 시작하고 종료하는 프로세스를 관리하여 원하는 새 크기에 도달합니다.

Console
Auto Scaling 그룹의 크기 변경
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling Groups를 선택합니다.

  2. Auto Scaling 그룹 옆의 확인란을 선택합니다.

    페이지 하단에 분할 창이 표시됩니다.

  3. 세부 정보(Details) 탭에서 그룹 세부 정보(Group details), 편집(Edit)을 선택합니다.

  4. 원하는 용량에서 원하는 용량을 늘리거나 줄입니다. 예를 들어 그룹의 크기를 하나씩 늘리려면 현재 값이 1인 경우 2를 입력합니다.

    희망 용량 값이 최소 희망 용량최대 희망 용량보다 큰 경우, 최대 희망 용량은 자동으로 새 희망 용량 값으로 증가합니다.

  5. 완료되면 업데이트(Update)를 선택합니다.

지정한 그룹 크기로 인해 동일한 양의 인스턴스가 시작되었는지 확인합니다. 예를 들어 그룹의 크기를 하나씩 늘린 경우 Auto Scaling 그룹이 인스턴스 한 개를 추가로 시작했는지 확인합니다.

Auto Scaling 그룹의 크기가 변경되었는지 확인
  1. 활동 탭의 활동 기록에서 Auto Scaling 그룹과 연결된 활동의 진행률을 볼 수 있습니다. 상태 열에는 인스턴스의 현재 상태가 표시됩니다. 인스턴스가 시작되는 동안 상태 열에 Not yet in service가 표시됩니다. 인스턴스가 시작되면 상태가 Successful로 변경됩니다. 새로 고침 아이콘을 사용하여 인스턴스의 현재 상태를 볼 수도 있습니다. 자세한 내용은 Auto Scaling 그룹에 대한 크기 조정 활동 확인 단원을 참조하십시오.

  2. 인스턴스 관리 탭의 인스턴스에서 인스턴스의 상태를 볼 수 있습니다. 인스턴스를 시작하는 데 약간 시간이 걸립니다.

    • 수명 주기 열에는 인스턴스의 상태가 표시됩니다. 처음에는 인스턴스가 Pending 상태로 되어 있습니다. 인스턴스가 트래픽을 수신할 준비가 되면 상태가 InService로 전환됩니다.

    • 상태 열에는 인스턴스의 Amazon EC2 Auto Scaling 상태 확인 결과가 표시됩니다.

AWS CLI

다음 예에서는 최소 크기가 1이고 최대 크기가 5인 Auto Scaling 그룹을 생성한 것으로 가정합니다. 따라서 그룹에는 현재 실행 중인 인스턴스가 1개입니다.

Auto Scaling 그룹의 크기 변경

다음 예제와 같이 set-desired-capacity 명령을 사용하여 Auto Scaling 그룹의 크기를 변경합니다.

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

Auto Scaling 그룹의 기본 냉각 기간을 지키기로 한 경우, 다음 예에 표시된 것처럼 –-honor-cooldown 옵션을 지정해야 합니다. 자세한 설명은 Amazon EC2 Auto Scaling 쿨다운 섹션을 참조하세요.

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2 --honor-cooldown
Auto Scaling 그룹의 크기 확인

다음 예제와 같이 describe-auto-scaling-groups 명령을 사용하여 Auto Scaling 그룹의 크기가 변경되었는지 확인합니다.

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

다음은 시작된 그룹 및 인스턴스의 세부 정보를 제공하는 출력 예시입니다.

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 300, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "CreatedTime": "2019-03-18T23:30:42.611Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-c87f2be0", "EnabledMetrics": [], "Tags": [], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN": "arn", "TrafficSources": [] } ] }

DesiredCapacity에 새 값이 표시됩니다. Auto Scaling 그룹에서 추가 인스턴스를 시작했습니다.

Auto Scaling 그룹에서 인스턴스 해지 (AWS CLI)

Auto Scaling 그룹에서 수동으로 스케일링하고 싶지만 특정 인스턴스를 해지하고 싶은 경우가 있을 수 있습니다. 다음 예제와 같이 Word-scaling-group 명령을 사용하고 종료하려는 인스턴스의 ID와 --should-decrement-desired-capacity 옵션을 지정하여 Auto Scaling 그룹에서 수동으로 확장할 수 있습니다. terminate-instance-in-auto

aws autoscaling terminate-instance-in-auto-scaling-group \ --instance-id i-026e4c9f62c3e448c --should-decrement-desired-capacity

다음은 조정 활동에 관한 세부 정보를 제공하는 출력 예시입니다.

{ "Activities": [ { "ActivityId": "b8d62b03-10d8-9df4-7377-e464ab6bd0cb", "AutoScalingGroupName": "my-asg", "Description": "Terminating EC2 instance: i-026e4c9f62c3e448c", "Cause": "At 2023-09-23T06:39:59Z instance i-026e4c9f62c3e448c was taken out of service in response to a user request, shrinking the capacity from 1 to 0.", "StartTime": "2023-09-23T06:39:59.015000+00:00", "StatusCode": "InProgress", "Progress": 0, "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}" } ] }

콘솔에서는 이 옵션을 사용할 수 없습니다. 그러나 Amazon EC2 콘솔의 인스턴스 페이지를 사용하여 Auto Scaling 그룹의 인스턴스를 종료할 수 있습니다. 이렇게 하면 Amazon EC2 Auto Scaling은 인스턴스가 더 이상 실행되지 않음을 감지하고 상태 확인 프로세스의 일부로 자동으로 교체합니다. 인스턴스를 종료한 후 새 인스턴스가 시작되기까지 1분~2분이 걸립니다. 인스턴스를 종료하는 방법에 대한 자세한 내용은 Amazon EC2 사용 설명서인스턴스 종료를 참조하세요.

그룹의 인스턴스를 종료하고 가용 영역 간에 고르지 않은 배포를 유발하는 경우 Amazon EC2 Auto Scaling은 AZRebalance 프로세스를 일시 중지하지 않는 한 그룹을 리밸런싱하여 균등한 배포를 다시 설정합니다. 자세한 내용은 Amazon EC2 Auto Scaling 프로세스 일시 중지 및 재개 단원을 참조하십시오.