대상 그룹은 지정한 프로토콜과 포트 번호를 사용하여 하나 이상의 등록된 대상으로 요청을 라우팅 한다.
즉, 트래픽을 전달할 대상의 그룹이라는 것이다.
이 문서는 ECS Fargate를 위한 블루-그린 배포를 가정하고 대상 그룹 생성 작업을 진행한다.
Application Load Balancer 대상 그룹 - Elastic Load Balancing
[대상 그룹 생성] 버튼을 눌러서 진행하자.
[대상 유형 선택] 에서는 [IP 주소] 를 선택해야 한다.
[대상 그룹 이름] 은 dev-nestjs-guide-api-blue
로 했다.
나중에 dev-nestjs-guide-api-green
도 똑같이 만들어주자.
[프로토콜] 과 [포트] 는 HTTP:3000
으로 한다.
예제로 사용할 NestJS 어플리케이션이 3000 포트로 요청을 받기 때문이다.
[상태 검사] 에서는 HTTP 프로토콜로 /health
엔드포인트를 찌르도록 했다.
배포시 서버의 /health
API가 상태 코드 200
을 반환하지 않으면 배포가 실패하게 되니 주의하자.
[고급 상태 검사 설정] 은 의외로 중요한 부분이다.
[상태 검사 포트] 에서 [재정의] 를 눌러서 3000
으로 수정한다.
만약 트래픽 포트를 사용하면 3000 포트만 열려있는 ECS의 어플리케이션이 상태 검사 트래픽을 받지 못한다.
그 밑에 있는 값들도 배포 속도나 성공 여부에 적잖이 영향을 미치기 때문에 상황에 맞게 잘 조절해야한다.
나는 [정상 임계 값] 을 3
으로 낮춰서 배포 속도를 챙기는 편이다.
[다음] 을 눌러서 진행하자.
현재 시점에 아직 등록할 대상이나 IP가 존재하지 않는다.
[IP 지정 및 포트 정의] 는 [제거] 를 눌러서 비워주자.
[대상 그룹 생성] 을 눌러서 완료한다.
다시 말하지만 같은 절차로 dev-nestjs-guide-api-green
도 만들어주자.