Auto Scaling 생성 시「Elastic Load Balancer 상태 확인 켜기」무엇이 달라질까?

Auto Scaling 생성 시「Elastic Load Balancer 상태 확인 켜기」를 활성화 하면 어떤 부분이 변화하는지 확인해 봤습니다.
2023.11.09

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Auto Scaling 생성 시「Elastic Load Balancer 상태 확인 켜기」를 활성화 하면 어떤 부분이 변화하는지 확인해 봤습니다.

Auto Scaling과 ELB

Auto Scaling를 생성하다 보면「추가 상태 확인 유형」을 확인할 수 있습니다.

설명된 내용으로는 비정상 인스턴스를 보고하면 다음 주기에 확인 후 교체 작업을 진행한다고 하는데, 정확이 어떤 작업을 진행하는지 확인해 봤습니다.

준비 리소스

먼저 아래 리소스들을 준비했습니다.

  • 시작 템플릿
    • Auto Scaling 그룹을 생성하기 위한 시작 템플릿
      • EC2 인스턴스에는 유저데이터를 이용하여 아파치를 설치하도록 설정했습니다.
  • ELB
    • 테스트용으로 NLB와 타겟 그룹을 생성했습니다.

Auto Scaling에 의해서 EC2 인스턴스 2대가 기동중인 상태입니다.

타겟 그룹에서 EC2 인스턴스의 헬스 체크는 정상입니다.

상태 확인 테스트

현재 기동중인 EC2 인스턴스를 unhealthy 상태로 만들면 어떤 변화가 생기는지 확인해 보겠습니다.

unhealthy로 만드는 방법은 EC2 인스턴스에 접속한 다음, 헬스 체크 대상인 index.html 파일을 삭제하는 것 입니다.

조금 기다려보면 EC2의 헬스체크가 unhealthy로 변한 것을 확인할 수 있습니다.

조금 더 기다려보면, unhealthy 상태의 EC2 인스턴스를 타겟 그룹에서 제외 및 EC2 인스턴스를 삭제하는 작업을 진행하면서, 새로운 EC2 인스턴스를 생성해 타겟 그룹에 추가하고 있는 것을 확인할 수 있습니다.

기존 unhealthy 상태의 EC2 인스턴스는 타겟 그룹에서 제외 및 삭제되며, 새로운 EC2 인스턴스로 교체된 것을 확인할 수 있습니다.

이번에는 추가 상태 확인을 해제한 상태에서 타겟 그룹이 어떻게 움직이는지 확인해 보도록 하겠습니다.

타겟 그룹에 등록된 EC2 인스턴스가 unhealthy 상태가 되었음에도 별 다른 움직임은 업습니다.

즉, Load Balancer의 상태 확인을 활성화하면 Load Balancer에서 장애가 있는 EC2 인스턴스를 자동으로 분리하고 새 EC2 인스턴스를 시작한 다음 Load Balancer에 연결합니다. 여기서 상태 확인 체크를 비활성화하면 타겟 그룹에서의 EC2 인스턴스 분리 작업을 포함하여 수동으로 수행해야 합니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 kis2702@naver.com로 보내주시면 감사하겠습니다.