Application Load Balancer에 대한 가중치 대상 그룹을 설정하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 4월 1일

Application Load Balancer에 대한 가중치 대상 그룹을 등록하고 싶습니다. 어떻게 해야 하나요?

간략한 설명

로드 밸런서에 등록된 대상 그룹을 사용하여 Amazon Elastic Compute Cloud(Amazon EC2)인스턴스, IP 주소 또는 AWS Lambda 함수로 트래픽을 보낼 수 있습니다. 가중치 기반 라우팅을 사용하면 서로 다른 버전의 애플리케이션 사이에서 트래픽을 전환할 수 있습니다. 이 구성을 통해 애플리케이션에 대한 트래픽 배포를 제어할 수 있습니다. 리스너 규칙의 전달 작업에 두 개 이상의 대상 그룹을 추가하고 각 그룹별로 가중치를 지정할 수 있습니다. 이 기능은 흔히 블루/그린 배포에 사용됩니다.

해결 방법

대상 그룹 생성

1.    Amazon EC2 콘솔을 엽니다.

2.    탐색 모음에서 EC2 인스턴스에 대해 선택한 AWS 리전을 선택합니다.

3.    탐색 창의 [로드 밸런싱(LOAD BALANCING)]에서 [대상 그룹(Target Groups)]을 선택합니다.

4.    첫 번째 대상 그룹을 생성합니다.     
[대상 그룹 생성(Create Target group)]을 선택합니다.
[대상 그룹 이름(Target group name)]에서 대상 그룹의 이름을 지정합니다.
대상 그룹에 대해 프로토콜, 포트 및 Virtual Private Cloud(VPC)를 구성합니다.
[생성(Create)]을 선택합니다.
[인스턴스(Instances)]에서 하나 이상의 인스턴스를 선택합니다.
해당 인스턴스의 포트를 지정합니다.
[등록된 항목에 추가(Add to registered)]를 선택한 다음 [저장(Save)]을 선택합니다.

5.    4단계를 반복하여 두 번째 대상 그룹을 생성합니다.

아직 없는 경우 Application Load Balancer를 생성합니다.

1.    탐색 창의 [로드 밸런싱(LOAD BALANCING)]에서 [로드 밸런서(Load Balancers)]를 선택합니다.

2.    [로드 밸런서 생성(Create Load Balancer)]을 선택합니다.

3.    [로드 밸런서 유형 선택(Select load balancer type)]에서 [Application Load Balancer]를 선택합니다.

4.    Continue를 선택합니다.

5.    [Application Load Balancer 생성(Create an Application Load Balancer)] 단계를 완료합니다.

6.    [라우팅 구성(Configure Routing)] 단계를 완료합니다.
[대상 그룹(Target group)]에서 [기존 대상(Existing Target)]을 선택합니다.
[이름(Name)]에서 생성한 첫 번째 대상 그룹을 선택합니다.
[다음: 대상 등록(Next: Register Targets)]을 선택합니다.

7.    [대상 등록(Register Targets)] 페이지에서 대상 그룹에 등록한 인스턴스가 [등록된 인스턴스(Registered instances)] 아래에 나타납니다. 여기서 대상 그룹에 등록된 대상은 수정할 수 없습니다.

8.    [검토(Review)] 페이지에서 [생성(Create)]을 선택합니다.

9.    로드 밸런서가 성공적으로 생성되었다는 알림을 받고 나면 [닫기(Close)]를 선택합니다.

10.    새로 생성된 로드 밸런서를 선택합니다.

리스너 규칙 구성 및 대상 그룹에 가중치 추가

1.    [리스너(Listeners)] 탭에서 [규칙 보기/편집(View/edit rules)]을 선택합니다.

2.    [규칙 편집(Edit rules)](연필 아이콘)을 선택합니다.

3.    [전달 대상(Forward to)] 옵션 옆에 있는 [편집(Edit)]을 선택합니다.

4.    다른 대상 그룹을 추가합니다.

5.    대상 그룹 가중치 값을 입력합니다. 이 값은 0~999 범위의 숫자 값이어야 합니다.

6.    [확인 표시(check mark)]를 선택하고 [업데이트(Update)]를 선택합니다.

7.    (선택 사항) 대상 그룹이 고정된 경우 [그룹 수준 고정(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>

가중치를 전환하고 두 번째 대상의 가중치를 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>

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?