메뉴
Amazon EC2 Auto Scaling
사용 설명서

Auto Scaling 그룹에서 EC2 인스턴스 분리

Auto Scaling 그룹에서 인스턴스를 제거할 수 있습니다. 인스턴스가 분리되면 이러한 인스턴스를 나머지 Auto Scaling 그룹에서 독립적으로 관리할 수 있습니다. 인스턴스를 분리하면 다음을 수행할 수 있습니다.

  • 인스턴스를 Auto Scaling 그룹 밖으로 이동한 후 다른 그룹에 연결합니다. 자세한 내용은 Auto Scaling 그룹에 EC2 인스턴스 연결 단원을 참조하십시오.

  • 애플리케이션에 실행 중인 기존 인스턴스를 사용하여 인스턴스를 생성함으로써 Auto Scaling 그룹을 테스트하고 테스트가 완료되면 Auto Scaling에서 이러한 인스턴스를 분리합니다.

인스턴스를 분리하는 경우 분리할 인스턴스 수로 Auto Scaling 그룹의 원하는 용량을 줄이는 옵션이 제공됩니다. 용량을 줄이지 않도록 선택하면 Amazon EC2 Auto Scaling에서 새 인스턴스를 시작하여 분리한 인스턴스를 교체합니다. 용량을 줄이더라도 동일한 가용 영역에서 여러 인스턴스를 분리하는 경우, AZRebalance 프로세스를 일시 중지하지 않는 한 Amazon EC2 Auto Scaling이 가용 영역을 재분배할 수 있습니다. 자세한 내용은 조정 프로세스 단원을 참조하십시오.

분리하려는 인스턴스의 수가 Auto Scaling 그룹의 크기를 최소 용량 아래로 떨어트릴 경우, 그 인스턴스를 분리하려면 먼저 Auto Scaling 그룹에 대한 최소 용량을 줄여야 합니다.

연결된 로드 밸런서가 있는 Auto Scaling 그룹에서 인스턴스를 분리하면, 해당 인스턴스가 로드 밸런서에서 등록 취소됩니다. 연결된 대상 그룹이 있는 Auto Scaling 그룹에서 인스턴스를 분리하면, 해당 인스턴스가 대상 그룹에서 등록 취소됩니다. 로드 밸런서에서 연결 드레이닝이 활성화된 경우 Amazon EC2 Auto Scaling은 진행 중인 요청이 완료될 때까지 기다립니다.

이번 예에서는 다음과 같이 구성된 Auto Scaling 그룹을 사용합니다.

  • Auto Scaling 그룹 이름 = my-asg

  • 최소 크기 = 1

  • 최대 크기 = 5

  • 원하는 용량 = 4

  • 가용 영역 = us-west-2a

AWS Management 콘솔을 사용하여 인스턴스 분리

다음 절차를 사용하여 Auto Scaling 그룹에서 인스턴스를 분리합니다.

콘솔을 사용하여 기존의 Auto Scaling 그룹에서 인스턴스를 분리하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 [Auto Scaling]에서 [Auto Scaling Groups]를 선택합니다.

  3. Auto Scaling 그룹을 선택합니다.

  4. [Instances ] 탭에서 인스턴스를 선택하고 [Actions], [Detach]를 차례로 선택합니다.

  5. [Detach Instance] 페이지에서 확인란을 선택하여 교체 인스턴스를 시작하도록 하거나, 혹은 확인란을 선택하지 않고 원하는 만큼 용량을 줄입니다. [Detach Instance]를 선택합니다.

AWS CLI를 사용하여 인스턴스 분리

다음 절차를 사용하여 Auto Scaling 그룹에서 인스턴스를 분리합니다.

AWS CLI를 사용하여 기존의 Auto Scaling 그룹에서 인스턴스를 분리하려면

  1. 다음 describe-auto-scaling-instances 명령을 사용하여 현재 인스턴스를 나열합니다.

    aws autoscaling describe-auto-scaling-instances

    다음 예의 응답은 그룹에 인스턴스 4개가 실행 중임을 보여 줍니다.

    { "AutoScalingInstances": [ { "AvailabilityZone": "us-west-2a", "InstanceId": "i-2a2d8978", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc" }, { "AvailabilityZone": "us-west-2a", "InstanceId": "i-5f2e8a0d", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc" } { "AvailabilityZone": "us-west-2a", "InstanceId": "i-a52387f7", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc" } { "AvailabilityZone": "us-west-2a", "InstanceId": "i-f42d89a6", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc" } ] }
  2. 다음 detach-instances 명령을 사용하여 인스턴스를 분리하고 원하는 용량으로 줄입니다.

    aws autoscaling detach-instances --instance-ids i-2a2d8978 --auto-scaling-group-name my-asg --should-decrement-desired-capacity
  3. 다음 describe-auto-scaling-instances 명령을 사용하여 인스턴스가 분리되었는지 확인합니다.

    aws autoscaling describe-auto-scaling-instances

    다음 예의 응답은 이제 인스턴스 3개가 실행 중임을 보여 줍니다.

    { "AutoScalingInstances": [ { "AvailabilityZone": "us-west-2a", "InstanceId": "i-5f2e8a0d", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc" } { "AvailabilityZone": "us-west-2a", "InstanceId": "i-a52387f7", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc" } { "AvailabilityZone": "us-west-2a", "InstanceId": "i-f42d89a6", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService", "LaunchConfigurationName": "my-lc" } ] }