대상 그룹은 지정한 프로토콜과 포트 번호를 사용하여 하나 이상의 등록된 대상으로 요청을 라우팅 한다.

즉, 트래픽을 전달할 대상의 그룹이라는 것이다.

이 문서는 ECS Fargate를 위한 블루-그린 배포를 가정하고 대상 그룹 생성 작업을 진행한다.

Application Load Balancer 대상 그룹 - Elastic Load Balancing


[대상 그룹 생성] 버튼을 눌러서 진행하자.

Untitled

[대상 유형 선택] 에서는 [IP 주소] 를 선택해야 한다.

[대상 그룹 이름]dev-nestjs-guide-api-blue 로 했다.

나중에 dev-nestjs-guide-api-green 도 똑같이 만들어주자.

[프로토콜][포트]HTTP:3000 으로 한다.

예제로 사용할 NestJS 어플리케이션이 3000 포트로 요청을 받기 때문이다.

[상태 검사] 에서는 HTTP 프로토콜로 /health 엔드포인트를 찌르도록 했다.

배포시 서버의 /health API가 상태 코드 200 을 반환하지 않으면 배포가 실패하게 되니 주의하자.

[고급 상태 검사 설정] 은 의외로 중요한 부분이다.

[상태 검사 포트] 에서 [재정의] 를 눌러서 3000으로 수정한다.

만약 트래픽 포트를 사용하면 3000 포트만 열려있는 ECS의 어플리케이션이 상태 검사 트래픽을 받지 못한다.

그 밑에 있는 값들도 배포 속도나 성공 여부에 적잖이 영향을 미치기 때문에 상황에 맞게 잘 조절해야한다.

나는 [정상 임계 값]3 으로 낮춰서 배포 속도를 챙기는 편이다.

[다음] 을 눌러서 진행하자.

Untitled

현재 시점에 아직 등록할 대상이나 IP가 존재하지 않는다.

[IP 지정 및 포트 정의][제거] 를 눌러서 비워주자.

[대상 그룹 생성] 을 눌러서 완료한다.

다시 말하지만 같은 절차로 dev-nestjs-guide-api-green 도 만들어주자.

Untitled