Amazon EC2 Auto Scaling
사용 설명서

Auto Scaling 인스턴스 상태 확인

Auto Scaling 인스턴스의 상태는 정상 또는 비정상입니다. 인스턴스가 완전히 구성되고 초기 상태 확인을 통과하면 해당 인스턴스는 Amazon EC2 Auto Scaling에 의해 정상으로 판정되고 InService 상태에 들어갑니다. Amazon EC2 Auto Scaling은 Auto Scaling 그룹의 인스턴스에 대한 주기적인 상태 확인을 수행하여 상태가 비정상인 인스턴스를 식별합니다. Amazon EC2 Auto Scaling에서 상태가 비정상인 것으로 표시한 인스턴스는 교체가 예정됩니다. 자세한 내용은 비정상 인스턴스 교체 단원을 참조하십시오.

인스턴스 상태

Amazon EC2 Auto Scaling은 다음 방법을 하나 이상 사용하여 인스턴스의 상태를 확인합니다.

  • Amazon EC2에서 제공한 상태 확인(시스템 상태 확인 및 인스턴스 상태 확인). 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서에서 인스턴스 상태 확인을 참조하십시오.

  • Elastic Load Balancing에서 제공한 상태 확인. 자세한 정보는 Application Load Balancer 사용 설명서대상 그룹의 상태 확인 또는 Classic Load Balancer 사용 설명서Classic Load Balancer의 상태 확인 구성을 참조하십시오.

  • 사용자 지정 상태 확인.

기본적으로 Amazon EC2 Auto Scaling 상태 확인은 EC2 상태 확인 결과를 사용하여 인스턴스의 상태를 결정합니다. 인스턴스가 하나 이상의 상태 확인에서 실패할 경우 Amazon EC2 Auto Scaling은 해당 인스턴스를 비정상으로 표시합니다.

로드 밸런서 또는 대상 그룹을 Auto Scaling 그룹에 연결한 경우 Elastic Load Balancing가 인스턴스를 OutOfService라고 보고할 경우 Amazon EC2 Auto Scaling이 해당 인스턴스를 비정상으로 표시하도록 구성할 수 있습니다. 로드 밸런서에 연결 드레이닝이 활성화된 경우 Amazon EC2 Auto Scaling이 대기하는 시간은 조정 이벤트나 상태 확인 대체로 인해 인스턴스를 종료하기 전에 내부 요청이 완료되거나 최대 제한 시간이 만료되는 경우 중 먼저 일어나는 쪽에 해당합니다. 자세한 내용은 Auto Scaling에서 ELB 상태 확인 사용 단원을 참조하십시오.

상태 확인 유예 기간

대부분의 경우, 서비스 상태가 된 직후의 Auto Scaling 인스턴스는 웜 업을 거쳐야 상태 확인을 통과할 수 있습니다. Amazon EC2 Auto Scaling은 상태 확인 유예 기간이 끝날 때까지 기다린 후 인스턴스의 상태를 확인합니다. EC2 상태 확인과 ELB 상태 확인은 상태 확인 유예 기간이 끝나기 전에 완료될 수 있지만, Amazon EC2 Auto Scaling은 상태 확인 유예 기간이 종료되기 전에는 그러한 상태를 반영하지 않습니다. 인스턴스에 충분한 웜 업 시간을 제공하려면 상태 확인 유예 기간이 애플리케이션의 예상 시작 시간을 포함하도록 해야 합니다. 인스턴스 시작 시 수명 주기 후크를 추가하여 작업을 수행하려는 경우, 상태 확인 유예 기간은 수명 주기 후크를 완료하고 인스턴스가 InService 상태로 들어갈 때까지 시작되지 않습니다.

사용자 지정 상태 확인

사용자 지정 상태 확인을 사용할 경우 이 상태 확인 정보를 Amazon EC2 Auto Scaling으로 보내서 Amazon EC2 Auto Scaling이 이 정보를 사용하게 할 수 있습니다. 예를 들어, 인스턴스가 예상대로 작동하지 않는다고 판단되는 경우 인스턴스의 상태를 Unhealthy로 설정할 수 있습니다. Amazon EC2 Auto Scaling은 다음에 인스턴스에 대해 상태 확인을 수행할 때, 인스턴스가 비정상이라고 판단하면 교체 인스턴스를 시작합니다.

다음 set-instance-health 명령을 사용하여 지정된 인스턴스의 상태를 Unhealthy로 설정합니다.

aws autoscaling set-instance-health --instance-id i-123abc45d --health-status Unhealthy

다음 describe-auto-scaling-groups 명령을 사용하여 인스턴스 상태가 Unhealthy인지 확인합니다.

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

다음은 인스턴스의 상태가 Unhealthy이고 종료될 것임을 보여 주는 응답의 예입니다.

{ "AutoScalingGroups": [ { .... "Instances": [ { "InstanceId": "i-123abc45d", "AvailabilityZone": "us-west-2a", "HealthStatus": "Unhealthy", "LifecycleState": "Terminating", "LaunchConfigurationName": "my-lc" }, ... ] } ] }