Application Load Balancer에 가중치가 적용된 대상 그룹을 등록하고 싶습니다.
해결 방법
Application Load Balancer의 대상 그룹에 다양한 가중치를 할당하여 트래픽을 비례적으로 분산할 수 있습니다.
대상 그룹 생성
Application Load Balancer에 등록하려는 대상 그룹을 생성하려면 다음 단계를 완료하십시오.
- 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를 선택한 다음, 생성을 선택합니다.
- Application Load Balancer 생성 마법사에서 다음 단계를 완료합니다.
로드 밸런서의 이름을 입력합니다.
인터넷 연결 또는 내부를 선택합니다.
IP 주소 유형을 선택합니다.
VPC와 최소 두 개의 가용 영역을 선택합니다.
보안 그룹에서 보안 그룹을 선택하거나 생성합니다.
리스너 및 라우팅에서 기본 HTTP 리스너를 포트 80으로 유지합니다.
- 라우팅 구성 페이지에서 다음 단계를 완료합니다.
대상 그룹에서 기존 대상을 선택합니다.
이름에는 생성한 첫 번째 대상 그룹을 선택합니다.
다음: 대상 등록을 선택합니다.
- 대상 등록 페이지에서 등록한 인스턴스가 등록된 인스턴스 아래에 표시되는지 확인합니다.
참고: 대상을 수정하려면 대상 그룹 콘솔로 돌아가십시오. 대상 등록 페이지는 검토용으로만 사용됩니다.
- 검토 페이지에서 생성을 선택합니다.
- Application Load Balancer를 생성한 후 닫기를 선택합니다.
- 생성 마법사가 종료되면 로드 밸런서 페이지로 돌아갑니다. 로드 밸런서 목록에서 새 로드 밸런서를 선택합니다.
리스너 규칙 구성 및 가중치 할당
대상 그룹에 가중치를 할당하려면 다음 단계를 완료하고 Application Load Balancer에 대한 리스너 규칙을 구성하십시오.
- 리스너 탭에서 규칙 보기/편집을 선택합니다.
- 규칙 편집을 선택합니다.
- 전달 대상 옆에서 편집을 선택합니다.
- 이전에 생성한 두 번째 대상 그룹을 추가합니다.
- 대상 그룹 가중치에 0에서 999 사이의 값을 입력합니다.
- 확인 표시를 선택한 다음, 업데이트를 선택합니다.
- (선택 사항) 대상 그룹이 고정되어 있는 경우 Group level stickiness(그룹 수준 고정성)를 설정합니다.
참고: 그룹 수준 고정성을 구성하면 라우팅된 요청은 세션 기간 동안 대상 그룹에 남아 있습니다. 기본값은 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>
이 예시에서 T1은 첫 번째 대상 그룹(가중치 70%)의 응답을 나타내고 T2는 두 번째 대상 그룹(가중치 30%)의 응답을 나타냅니다.
두 번째 대상의 가중치가 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>
이 예시에서 T2는 두 번째 대상 그룹(가중치 70%)의 응답을 나타내고 T1은 첫 번째 대상 그룹(가중치 30%)의 응답을 나타냅니다. 로드 밸런서의 이름을 입력합니다.