Application Load Balancer에 가중치가 적용된 대상 그룹을 등록하고 싶습니다.
해결 방법
대상 그룹을 로드 밸런서에 등록하고 대상 그룹에 가중치를 추가하려면 다음 단계를 따릅니다.
대상 그룹 생성
1. Amazon Elastic Compute Cloud(Amazon EC2) 콘솔을 엽니다.
-
Amazon EC2 인스턴스가 위치한 AWS 리전을 선택합니다.
-
탐색 창에 있는 로드 밸런싱에서 대상 그룹을 선택합니다.
-
첫 번째 대상 그룹을 만듭니다.
대상 그룹 생성을 선택합니다.
대상 그룹 이름에 대상 그룹의 이름을 지정합니다.
대상 그룹의 프로토콜, 포트, Virtual Private Cloud(VPC)를 구성합니다.
생성을 선택합니다.
인스턴스에서 인스턴스를 하나 이상 선택합니다.
인스턴스 포트를 지정합니다.
등록된 항목에 추가를 선택한 다음 저장을 선택합니다.
-
4단계를 반복하여 두 번째 대상 그룹을 생성합니다.
Application Load Balancer 생성
**참고:**Application Load Balancer가 이미 있는 경우에는 다음 섹션으로 건너뛰세요.
-
탐색 창에서 로드 밸런싱 아래에 있는 로드 밸런서를 선택합니다.
-
로드 밸런서 생성을 선택합니다.
-
로드 밸런서 유형 선택에서 Application Load Balancer를 선택합니다.
-
계속을 누릅니다.
-
Application Load Balancer 생성 단계를 완료합니다.
-
라우팅 구성 단계를 완료합니다.
대상 그룹에서 기존 대상을 선택합니다.
이름에는 생성한 첫 번째 대상 그룹을 선택합니다.
다음: 대상 등록을 선택합니다.
-
대상 등록 페이지에 대상 그룹에 등록한 인스턴스가 등록된 인스턴스 아래에 나타납니다. 여기에서는 등록 대상을 수정할 수 없습니다.
-
검토 페이지에서 생성을 선택합니다.
-
로드 밸런서가 생성되었다는 알림을 받으면 닫기를 누릅니다.
-
로드 밸런서를 선택합니다.
리스너 규칙을 구성하고 대상 그룹에 가중치를 추가합니다.
-
리스너 탭에서 규칙 보기/편집을 선택합니다.
-
규칙 편집(연필 아이콘)을 선택합니다.
-
전달 대상 옵션 옆에 있는 편집을 선택합니다.
-
다른 대상 그룹을 추가합니다.
-
대상 그룹 가중치 값을 입력합니다. 가중치 값은 0에서 999 사이 숫자 값이어야 합니다.
-
확인 표시를 선택한 다음 업데이트를 누릅니다.
-
(선택 사항) 대상 그룹이 고정되어 있는 경우 그룹 수준 연결 유지를 설정합니다. 이 설정을 구성하면 세션 기간 동안 라우팅된 요청이 대상 그룹에 남아 있습니다. 기본값은 1시간 입니다. 세션 기간이 종료되면 대상 그룹의 가중치에 따라 요청이 분배됩니다.
**참고:**Application Load Balancer는 가중치를 기반으로 대상 그룹에 트래픽을 분배합니다. 대상 그룹에 있는 모든 대상이 상태 확인에서 실패하면 Application Load Balancer에서 요청을 다른 대상 그룹으로 라우팅하거나 장애 조치하지 않습니다. 대상 그룹에 등록된 대상이 모두 비정상인 경우 로드 밸런서 노드에서 비정상 대상 간에 요청을 라우팅합니다. 대상 그룹에 있는 대상이 모두 비정상인 경우 가중치 기반 대상 그룹을 장애 조치 메커니즘으로 사용하지 마세요.
예를 들어, 첫 번째 대상의 가중치가 70%이고 두 번째 대상의 가중치가 30%인 경우, 대부분의 요청은 첫 번째 대상 그룹에서 온 것입니다.
$ for X in `seq 6`; do curl -so -i /dev/null -w "" http://FINAL-721458494.us-east-2.elb.amazonaws.com; done
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>
두 번째 대상 가중치를 70%, 첫 번째 대상 가중치를 30%로 설정하면 대부분의 요청이 두 번째 대상 그룹에서 온 것입니다.
$ for X in `seq 7`; do curl -so -i /dev/null -w "" http://FINAL-721458494.us-east-2.elb.amazonaws.com; done
<h1> This is T2 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>
<h1> This is T1 </h1>
<h1> This is T1 </h1>
<h1> This is T2 </h1>
<h1> This is T2 </h1>If all targets in a target group fail health checks, then the Application Load Balancer doesn't automatically route or failover the requests to another target group