서비스 중인 instance 개수가 min 값보다 크고, desired capacity보다 작을 때, 새로운 instance가 자동으로 생길까?

jinwook han·2020년 11월 22일
0

질문:

서비스 중인 instance 개수가 min 값보다 크고, desired capacity보다 작을 때, 새로운 instance가 자동으로 생길까?

→ 생긴다.

예시

인스턴스가 3대 떠 있다.

desired capacity:3, minimum capacity가 1로 설정되어 있다.

instance를 1개를 멈춘다.
이제 실제 떠 있는 인스턴스 개수가, min 값보다는 크고, desired capacity 값보다는 작다.

→ 새롭게 인스턴스가 뜨는 것을 확인할 수 있다.

그렇다면 한 인스턴스가 elb health check에 실패하여, healthy한 인스턴스들이 desired capacity 미만일 때도 새로운 인스턴스가 생기는가?

→ 생긴다.

여기서 말하는 elb health check란, elb에서 request를 보내서 응답을 받는 방식의 health check다.

elb health check를 작동하려면, 추가 설정이 필요하다.

elb health check하기 위한 추가 설정

asg 설정에서, health check type을 EC2 & ELB 로 설정한다.

EC2 & ELB로 설정해야, elb health check에 실패했을 때 asg는 추가적인 동작을 한다.

health check 실패 예시

  1. 인스턴스 3개가 떠 있다.
  1. min 1, desired capacity 3으로 설정되어 있다.

  2. 헬스체크가 하나 실패하도록 설정한다.

  3. 인스턴스가 새롭게 생성되는 것을 확인할 수 있다.

정리!

  • 서비스 중인 instance가 desired capacity보다 작으면, asg는 instance를 새롭게 생성한다.
  • healthy한 instance가(elb health check에 성공한 instance) desired capacity보다 작으면, asg는 instance를 새롭게 생성한다.
    • 단, asg에서 elb health check가 가능하도록 설정해야 한다.

추가로 궁금한 점

min 값과 desired capacity의 차이는 무엇인가?

https://stackoverflow.com/questions/36270873/aws-ec2-auto-scaling-groups-i-get-min-and-max-but-whats-desired-instances-lim

desired capacity는 불변이 아니다.

특정 cloudwatch 알람이 울리면, desired capacity 값 자체를 올리거나 내리도록 설정할 수 있다.

0개의 댓글