Application Load Balancer 대상 그룹 - Elastic Load Balancing

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Application Load Balancer 대상 그룹

대상 그룹은 지정한 프로토콜 및 포트 번호를 사용하여 EC2 인스턴스와 같은 등록된 개별 대상으로 요청을 라우팅합니다. 여러 대상 그룹에 대상을 등록할 수 있습니다. 대상 그룹 기준으로 상태 확인을 구성할 수 있습니다. 로드 밸런서의 리스너 규칙에서 지정한 대상 그룹에 등록된 모든 대상에서 상태 검사가 수행됩니다.

각 대상 그룹은 하나 이상의 등록된 대상에 요청을 라우팅하는 데 사용됩니다. 각 리스너 규칙을 생성할 때 대상 그룹 및 조건을 지정합니다. 규칙 조건이 충족되면 해당하는 대상 그룹으로 트래픽이 전달됩니다. 서로 다른 유형의 요청에 대해 서로 다른 대상 그룹을 생성할 수 있습니다. 예를 들어, 일반 요청인 경우 하나의 대상 그룹을 생성하고 애플리케이션에 대한 마이크로 서비스의 요청인 경우 다른 대상 그룹을 생성합니다. 하나의 로드 밸런서에만 각 대상 그룹을 사용할 수 있습니다. 자세한 내용은 Application Load Balancer 구성 요소 단원을 참조하십시오.

대상 그룹 기준으로 로드 밸런서에 대한 상태 확인 설정을 정의합니다. 대상 그룹을 만들거나 나중에 변경할 때 재정의하지 않는 이상 각 대상 그룹은 기본 상태 확인 설정을 사용합니다. 리스너에 대한 규칙에 대상 그룹을 지정한 후, 로드 밸런서는 해당 로드 밸런서에 대해 활성화된 가용 영역의 대상 그룹에 등록된 모든 대상의 상태를 지속적으로 모니터링합니다. 로드 밸런서는 정상 상태로 등록된 대상으로 요청을 라우팅합니다.

라우팅 구성

기본적으로 로드 밸런서는 대상 그룹을 생성할 때 지정한 프로토콜과 포트 번호를 사용하여 대상으로 요청을 라우팅합니다. 또는 대상 그룹에 등록할 때 대상으로 트래픽을 라우팅하는 데 사용되는 포트를 재정의할 수 있습니다.

대상 그룹은 다음과 같은 프로토콜 및 포트를 지원합니다.

  • 프로토콜:HTTP, HTTPS

  • 포트: 1-65535

대상 그룹이 HTTPS 프로토콜로 구성되거나 HTTPS 상태 확인을 사용하는 경우 HTTPS 리스너가 TLS 1.3 보안 정책을 사용하는 경우 ELBSecurityPolicy-TLS13-1-0-2021-06 보안 정책이 대상 연결에 사용됩니다. 그렇지 않으면 ELBSecurityPolicy-2016-08 보안 정책이 사용됩니다. 로드 밸런서는 대상에 설치한 인증서를 사용하여 대상과의 TLS 연결을 설정합니다. 로드 밸런서는 이러한 인증서를 검증하지 않습니다. 따라서 자체 서명된 인증서 또는 만료된 인증서를 사용할 수 있습니다. 로드 밸런서와 그 대상이 가상 사설 클라우드 (VPC) 에 있기 때문에 로드 밸런서와 대상 간의 트래픽은 패킷 수준에서 인증되므로 대상의 인증서가 유효하지 않더라도 man-in-the-middle 공격이나 스푸핑의 위험이 없습니다. 이탈하는 트래픽에는 이와 동일한 보호 기능이 적용되지 AWS 않으므로 트래픽을 더 안전하게 보호하려면 추가 조치가 필요할 수 있습니다.

대상 유형

대상 그룹을 생성할 때 대상 유형을 지정합니다. 이 값에 따라 이 대상 그룹에 대상을 등록할 때 지정하는 대상의 유형이 결정됩니다. 대상 그룹을 생성한 후에는 대상 유형을 변경할 수 없습니다.

가능한 대상 유형은 다음과 같습니다.

instance

대상이 인스턴스 ID에 의해 지정됩니다.

ip

대상이 IP 주소입니다.

lambda

대상이 Lambda 함수입니다.

대상 유형이 ip 인 경우 다음 CIDR 블록 중 하나에서 IP 주소를 지정할 수 있습니다.

중요

공개적으로 라우팅 가능한 IP 주소는 지정할 수 없습니다.

지원되는 모든 CIDR 블록을 사용하여 다음 대상을 대상 그룹에 등록할 수 있습니다.

  • 로드 밸런서 VPC (같은 지역 또는 다른 지역) 에 피어링된 a의 VPC 인스턴스.

  • AWS IP 주소 및 포트로 주소 지정이 가능한 리소스 (예: 데이터베이스).

  • 사이트 간 연결 AWS Direct Connect 또는 사이트 간 연결을 AWS 통해 연결된 온프레미스 리소스. VPN

참고

Local Zone 내에 배포된 Application Load Balancer의 경우 트래픽을 수신하려면 ip 대상이 동일한 로컬 영역에 있어야 합니다.

자세한 내용은 AWS Local Zones란? 을 참조하십시오.

인스턴스 ID를 사용하여 대상을 지정하면 해당 인스턴스의 기본 네트워크 인터페이스에 지정된 기본 프라이빗 IP 주소를 사용하여 트래픽이 인스턴스로 라우팅됩니다. IP 주소를 사용하여 대상을 지정하면 하나 이상의 네트워크 인터페이스에서 프라이빗 IP 주소를 사용하여 트래픽을 인스턴스로 라우팅할 수 있습니다. 그러면 한 인스턴스의 여러 애플리케이션이 동일한 포트를 사용할 수 있습니다. 각 네트워크 인터페이스에는 자체 보안 그룹이 있을 수 있습니다.

대상 그룹의 대상 유형이 lambda인 경우 단일 Lambda 함수를 등록할 수 있습니다. 로드 밸런서가 Lambda 함수에 대한 요청을 수신하면 Lambda 함수를 호출합니다. 자세한 내용은 Lambda 함수를 애플리케이션 로드 밸런서의 대상으로 사용 단원을 참조하십시오.

Amazon Elastic 컨테이너 서비스 (AmazonECS) 를 애플리케이션 로드 밸런서의 대상으로 구성할 수 있습니다. 자세한 내용은 Amazon Elastic Container Service 사용 설명서의 애플리케이션 로드 밸런서 생성을 참조하십시오. AWS Fargate

IP 주소 유형

새 대상 그룹 생성 시 대상 그룹의 IP 주소 유형을 선택할 수 있습니다. 이는 대상과 통신하고 상태를 확인하는 데 사용되는 IP 버전을 제어합니다.

애플리케이션 로드 밸런서는 대상 IPv4 그룹과 IPv6 대상 그룹을 모두 지원합니다. 기본 선택은 IPv4입니다.

고려 사항
  • 하나의 대상 그룹 내의 모든 IP 주소는 IP 주소 유형이 동일해야 합니다. 예를 들어 IPv4 대상을 IPv6 대상 그룹에 등록할 수 없습니다.

  • IPv6대상 그룹은 dualstack 로드 밸런서에서만 사용할 수 있습니다.

  • IPv6대상 그룹은 IP 및 인스턴스 유형 대상을 지원합니다.

프로토콜 버전

기본적으로 애플리케이션 로드 밸런서는 /1.1을 사용하여 HTTP 대상에 요청을 보냅니다. 프로토콜 버전을 사용하면 /2 또는 g를 사용하여 HTTP 대상에 요청을 보낼 수 있습니다. RPC

다음 표에는 요청 프로토콜과 대상 그룹 프로토콜 버전의 조합에 대한 결과가 요약되어 있습니다.

요청 프로토콜 프로토콜 버전 결과
HTTP/1.1 HTTP/1.1 Success
HTTP/2 HTTP/1.1 Success
g RPC HTTP/1.1 Error
HTTP/1.1 HTTP/2 Error
HTTP/2 HTTP/2 Success
g RPC HTTP/2 타겟이 g를 지원하는 경우 성공 RPC
HTTP/1.1 g RPC Error
HTTP/2 g RPC POST요청 성공
g RPC g RPC Success
g RPC 프로토콜 버전 고려 사항
  • 지원되는 유일한 리스너 프로토콜은 입니다HTTPS.

  • 리스너 규칙에 대해 지원되는 유일한 작업 유형은 forward입니다.

  • 지원되는 유일한 대상 유형은 instanceip입니다.

  • 로드 밸런서는 g RPC 요청을 파싱하고 패키지, 서비스, 메서드를 기반으로 g RPC 호출을 적절한 대상 그룹으로 라우팅합니다.

  • 로드 밸런서는 단항, 클라이언트 측 스트리밍, 서버 측 스트리밍, 양방향 스트리밍을 지원합니다.

  • 사용자 지정 상태 확인 방법을 /package.service/method 형식으로 제공해야 합니다.

  • 대상으로부터 성공적인 응답을 확인할 때 사용할 g RPC 상태 코드를 지정해야 합니다.

  • Lambda 함수를 대상으로 사용할 수 없습니다.

HTTP/2 프로토콜 버전 고려 사항
  • 지원되는 유일한 리스너 프로토콜은 입니다. HTTPS

  • 리스너 규칙에 대해 지원되는 유일한 작업 유형은 forward입니다.

  • 지원되는 유일한 대상 유형은 instanceip입니다.

  • 로드 밸런서는 클라이언트에서 오는 스트리밍을 지원합니다. 로드 밸런서는 대상으로 가는 스트리밍을 지원하지 않습니다.

등록된 대상

로드 밸런서는 클라이언트에 대해 단일 접점의 역할을 하며 정상적으로 등록된 대상 간에 수신 트래픽을 자동으로 분산합니다. 하나 이상의 대상 그룹에 각 대상을 등록할 수 있습니다.

애플리케이션에 대한 요구가 증가하면 이를 처리하기 위해 하나 이상의 대상 그룹에 추가 대상을 등록할 수 있습니다. 로드 밸런서는 등록 프로세스가 완료되고 대상이 구성된 임계값에 관계없이 첫 번째 초기 상태 확인을 통과하는 즉시 새로 등록된 대상으로 트래픽을 라우팅하기 시작합니다.

애플리케이션에 대한 요구가 감소하거나 대상을 서비스해야 하는 경우에는 대상 그룹에서 대상 등록을 취소할 수 있습니다. 대상을 등록 취소하면 대상 그룹에서 제거되지만 대상에 영향을 미치지는 않습니다. 등록이 취소되는 즉시 로드 밸런서는 대상으로의 요청 라우팅을 중지합니다. 진행 중인 요청이 완료될 때까지 해당 대상은 draining 상태를 유지합니다. 요청 수신을 다시 시작할 준비가 되면 대상 그룹에 대상을 다시 등록할 수 있습니다.

인스턴스 ID로 대상을 등록하는 경우 Auto Scaling 그룹에 로드 밸런서를 사용할 수 있습니다. Auto Scaling 그룹에 대상 그룹을 연결하면 Auto Scaling은 대상을 시작할 때 대상 그룹에 해당 대상을 등록합니다. 자세한 내용은 Amazon Auto Scaling 사용 설명서의 Auto Scaling 그룹에 로드 밸런서 EC2 연결을 참조하십시오.

Limits
  • 다른 Application Load Balancer의 IP 주소는 같은 곳에 등록할 수 없습니다. VPC 다른 Application Load Balancer가 로드 밸런서에 피어링되어 있는 경우 VPC 해당 IP 주소를 VPC 등록할 수 있습니다.

  • 로드 밸런서에 피어링된 VPC (같은 지역 또는 다른 지역) 에 VPC 있는 인스턴스는 인스턴스 ID로 등록할 수 없습니다. 이러한 인스턴스는 IP 주소로 등록할 수 있습니다.

대상 그룹 속성

대상 그룹 유형이 instance 또는 ip인 경우 다음 대상 그룹 속성이 지원됩니다.

deregistration_delay.timeout_seconds

Elastic Load Balancing에서 대상을 등록 취소하기 전에 대기하는 시간. 범위는 0~3600초입니다. 기본 값은 300초입니다.

load_balancing.algorithm.type

로드 밸런싱 알고리즘은 요청을 라우팅할 때 로드 밸런서가 대상을 선택하는 방법을 결정합니다. 값은 round_robinleast_outstanding_requests, 또는 입니다. weighted_random 기본값은 round_robin입니다.

load_balancing.algorithm.anomaly_mitigation

load_balancing.algorithm.type 경우에만 사용할 수 weighted_random 있습니다. 예외 항목 완화가 활성화되었는지 여부를 나타냅니다. 값은 on 또는 off입니다. 기본값은 off입니다.

load_balancing.cross_zone.enabled

교차 영역 로드 밸런싱의 활성화 여부를 나타냅니다. 값은 true, false 또는 use_load_balancer_configuration입니다. 기본값은 use_load_balancer_configuration입니다.

slow_start.duration_seconds

로드 밸런서가 대상 그룹에 대해 선형으로 증가하는 트래픽 공유를 새로 등록된 대상에 보내는 시간(초 단위). 범위는 30~900초입니다(15분). 기본값은 0초입니다(비활성화).

stickiness.enabled

고정 세션을 활성화할지 여부를 나타냅니다. 값은 true 또는 false입니다. 기본값은 false입니다.

stickiness.app_cookie.cookie_name

애플리케이션 쿠키의 이름입니다. 애플리케이션 쿠키 이름에는 AWSALB, AWSALBAPP, 또는 AWSALBTG 접두사를 사용할 수 없습니다. 이 단어는 로드 밸런서에서 사용하도록 예약되어 있습니다.

stickiness.app_cookie.duration_seconds

애플리케이션 기반 쿠키 만료 기간(초)입니다. 이 기간이 지난 후 쿠키는 무효로 간주됩니다. 최소값은 1초이고 최대값은 7일(604800초)입니다. 기본값은 1일(86400초)입니다.

stickiness.lb_cookie.duration_seconds

기간 기반 쿠키 만료 기간(초)입니다. 이 기간이 지난 후 쿠키는 무효로 간주됩니다. 최소값은 1초이고 최대값은 7일(604800초)입니다. 기본값은 1일(86400초)입니다.

stickiness.type

고정의 유형. 가능한 값은 lb_cookieapp_cookie입니다.

target_group_health.dns_failover.minimum_healthy_targets.count

정상 상태로 유지되어야 하는 최소 대상 수. 정상 대상 수가 이 값보다 작으면 에서 DNS 영역을 비정상으로 표시하여 트래픽이 정상 영역으로만 라우팅되도록 하십시오. 가능한 값은 off 또는 1부터 최대 대상 수까지의 정수입니다. DNS페일어웨이가 비활성화되면 대상 그룹에서 모든 대상이 비정상인 경우에도 노드는 제거되지 않습니다. off DNS 기본 값은 1입니다.

target_group_health.dns_failover.minimum_healthy_targets.percentage

정상 상태로 유지되어야 하는 대상의 최소 백분율. 정상 대상 비율이 이 값보다 낮으면 해당 노드를 비정상 상태로 표시하여 트래픽이 정상 노드로만 라우팅되도록 하십시오. DNS 가능한 값은 off 또는 1부터 최대 대상 수까지의 정수입니다. DNS페일어웨이가 비활성화되면 대상 그룹의 모든 대상이 비정상인 경우에도 노드는 제거되지 않습니다. off DNS 기본값은 off입니다.

target_group_health.unhealthy_state_routing.minimum_healthy_targets.count

정상 상태로 유지되어야 하는 최소 대상 수. 정상 대상 수가 이 값보다 낮으면 비정상 대상을 포함한 모든 대상으로 트래픽을 전송합니다. 범위는 1에서 최대 대상 수까지입니다. 기본 값은 1입니다.

target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage

정상 상태로 유지되어야 하는 대상의 최소 백분율. 정상 대상의 백분율이 이 값보다 낮으면 비정상 대상을 포함한 모든 대상으로 트래픽을 전송합니다. 가능한 값은 off 또는 1부터 100까지의 정수입니다. 기본값은 off입니다.

대상 그룹 유형이 lambda인 경우 다음 대상 그룹 속성이 지원됩니다.

lambda.multi_value_headers.enabled

로드 밸런서와 Lambda 함수 간에 교환되는 요청 및 응답 헤더에 값 또는 문자열의 배열이 포함됩니다. 가능한 값은 true 또는 false입니다. 기본 값은 false입니다. 자세한 내용은 다중 값 헤더 단원을 참조하십시오.

라우팅 알고리즘

라우팅 알고리즘은 요청을 수신할 대상을 결정할 때 로드 밸런서에서 사용하는 방법입니다. 라운드 로빈 라우팅 알고리즘은 기본적으로 대상 그룹 수준에서 요청을 라우팅하는 데 사용됩니다. 애플리케이션의 요구 사항에 따라 가장 미해결 요청과 가중치가 적용된 임의 라우팅 알고리즘도 사용할 수 있습니다. 대상 그룹에는 한 번에 하나의 활성 라우팅 알고리즘만 있을 수 있지만 라우팅 알고리즘은 필요할 때마다 업데이트할 수 있습니다.

고정 세션을 활성화하면 선택한 라우팅 알고리즘이 초기 대상 선택에 사용됩니다. 동일한 클라이언트의 향후 요청은 선택한 라우팅 알고리즘을 우회하여 동일한 대상으로 전달됩니다.

라운드 로빈
  • 라운드 로빈 라우팅 알고리즘은 대상 그룹의 정상 대상 간에 요청을 순차적으로 균등하게 라우팅합니다.

  • 이 알고리즘은 일반적으로 받는 요청의 복잡성이 비슷하거나, 등록된 대상의 처리 능력이 비슷하거나, 요청을 대상 간에 균등하게 분배해야 하는 경우에 사용됩니다.

최소 미해결 요청
  • 가장 미해결 요청 라우팅 알고리즘은 진행 중인 요청 수가 가장 적은 대상으로 요청을 라우팅합니다.

  • 이 알고리즘은 일반적으로 수신되는 요청의 복잡성이 다양하고 등록된 대상의 처리 능력이 다를 때 사용됩니다.

  • HTTP/2를 지원하는 로드 밸런서가 /1.1만 지원하는 대상을 사용하는 경우 요청을 여러 HTTP /1.1 요청으로 전환합니다. HTTP 이 구성에서 가장 미해결 요청 알고리즘은 각 HTTP /2 요청을 여러 요청으로 처리합니다.

  • 를 사용할 WebSockets 때는 미결 요청 수가 가장 적은 알고리즘을 사용하여 대상을 선택합니다. 선택하면 로드 밸런서가 대상에 대한 연결을 생성하고 이 연결을 통해 모든 메시지를 보냅니다.

  • 가장 미해결 요청 라우팅 알고리즘은 슬로우 스타트 모드에서는 사용할 수 없습니다.

가중치 기반 랜덤
  • 가중치 무작위 라우팅 알고리즘은 대상 그룹의 정상 대상 간에 요청을 무작위 순서로 균등하게 라우팅합니다.

  • 이 알고리즘은 자동 목표 가중치 (ATW) 이상 현상 완화를 지원합니다.

  • 가중치 랜덤 라우팅 알고리즘은 슬로우 스타트 모드에서는 사용할 수 없습니다.

대상 그룹의 라우팅 알고리즘을 수정하세요.

언제든지 대상 그룹의 라우팅 알고리즘을 수정할 수 있습니다.

새 콘솔을 사용하여 라우팅 알고리즘을 수정하려면
  1. 에서 Amazon EC2 콘솔을 엽니다 https://console.aws.amazon.com/ec2/.

  2. 탐색 창의 Load Balancing 아래에서 대상 그룹을 선택합니다.

  3. 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.

  4. 대상 그룹 세부 정보 페이지의 속성 탭에서 편집을 선택합니다.

  5. 대상 그룹 속성 편집 페이지의 트래픽 구성 섹션에 있는 로드 밸런싱 알고리즘에서 라운드 로빈, 미해결 요청 수 또는 가중치 기반 무작위를 선택합니다.

  6. Save changes(변경 사항 저장)를 선택합니다.

다음을 사용하여 라우팅 알고리즘을 수정하려면 AWS CLI

modify-target-group-attributes명령을 load_balancing.algorithm.type 속성과 함께 사용합니다.

대상 그룹 상태

기본적으로 대상 그룹은 그룹에 정상 대상이 하나 이상 있는 한 정상 그룹으로 간주됩니다. 플릿이 크면 트래픽을 처리하는 정상 대상이 하나만 있는 것으로는 충분하지 않습니다. 대신, 정상이어야 하는 대상의 최소 개수 또는 백분율을 지정하고 정상 대상이 지정된 임계값 아래로 떨어질 경우 로드 밸런서가 취하는 조치를 지정할 수 있습니다. 이는 가용성을 높입니다.

비정상 상태 작업

다음 작업에 대해 정상 임계값을 구성할 수도 있습니다.

  • DNS장애 조치 - 영역의 정상 대상이 임계값 아래로 떨어지면 영역의 로드 밸런서 노드 IP 주소를 비정상으로 표시합니다. DNS 따라서 클라이언트가 로드 밸런서 DNS 이름을 확인하면 트래픽은 정상 영역으로만 라우팅됩니다.

  • 라우팅 장애 조치 - 영역의 정상 대상이 임계값 아래로 떨어지면 로드 밸런서는 비정상 대상을 포함하여 로드 밸런서 노드에서 사용할 수 있는 모든 대상으로 트래픽을 보냅니다. 이렇게 하면 특히 대상이 일시적으로 상태 확인을 통과하지 못하는 경우 클라이언트 연결이 성공할 가능성이 높아지고 정상 대상에 과부하가 걸릴 위험이 줄어듭니다.

요구 사항 및 고려 사항

  • 대상이 Lambda 함수인 대상 그룹에는 이 기능을 사용할 수 없습니다. Application Load Balancer가 Network Load Balancer 또는 글로벌 가속기의 대상인 경우 페일오버에 대한 임계값을 구성하지 마십시오. DNS

  • 작업에 대해 두 가지 유형의 임계값(개수 및 백분율)을 모두 지정하는 경우 로드 밸런서는 두 임계값 중 하나가 위반될 때 조치를 취합니다.

  • 두 작업 모두에 대해 임계값을 지정하는 경우 페일오버의 임계값은 라우팅 DNS 페일오버의 임계값보다 크거나 같아야 합니다. 그래야 라우팅 페일오버와 함께 또는 그 이전에 DNS 페일오버가 발생합니다.

  • 임계값을 백분율로 지정하면 대상 그룹에 등록된 총 대상 수를 기준으로 값이 동적으로 계산됩니다.

  • 총 대상 수는 교차 영역 로드 밸런싱의 활성화 여부를 기반으로 합니다. 교차 영역 로드 밸런싱이 해제된 경우 각 노드는 자체 영역의 대상에만 트래픽을 전송합니다. 즉, 임계값은 활성화된 각 영역의 대상 수에 개별적으로 적용됩니다. 교차 영역 로드 밸런싱이 해제된 경우 각 노드는 활성화된 모든 영역의 모든 대상에 트래픽을 전송합니다. 즉, 지정된 임계값은 활성화된 모든 영역의 총 대상 수에 적용됩니다.

  • DNS장애 조치 시 로드 밸런서의 호스트 이름에서 비정상 영역의 IP 주소를 제거합니다. DNS 하지만 DNS 레코드의 () 가 만료될 때까지 time-to-live (60초TTL) 로컬 클라이언트 DNS 캐시에는 이러한 IP 주소가 포함될 수 있습니다.

  • DNS페일오버가 발생하면 로드 밸런서와 관련된 모든 대상 그룹에 영향을 미칩니다. 나머지 영역에 이러한 추가 트래픽을 처리할 수 있는 충분한 용량이 있는지 확인하세요. 특히 교차 영역 로드 밸런싱이 꺼져 있는 경우에는 더욱 확인하세요.

  • DNS장애 조치 시 모든 로드 밸런서 영역이 비정상으로 간주되면 로드 밸런서가 비정상 영역을 포함한 모든 영역으로 트래픽을 전송합니다.

  • DNS장애 조치로 이어질 수 있는 정상 대상이 충분한지 여부 외에도 여러 가지 요인 (예: 영역 상태) 이 있습니다.

모니터링

대상 그룹의 상태를 모니터링하려면 대상 그룹 상태 CloudWatch 지표를 참조하십시오.

다음 예는 대상 그룹 상태 설정을 적용하는 방법을 보여줍니다.

시나리오
  • 두 개의 가용 영역 A와 B를 지원하는 로드 밸런서

  • 각 가용 영역에는 10개의 등록된 대상이 포함됨

  • 대상 그룹에는 다음과 같은 대상 그룹 상태 설정이 있습니다.

    • DNS페일오버 - 50%

    • 라우팅 장애 조치 - 50%

  • 가용 영역 B에서 6개의 대상 장애

교차 영역 로드 밸런싱이 꺼져 있는 경우
  • 각 가용 영역에 있는 로드 밸런서 노드는 가용 영역에 있는 10개 대상에만 트래픽을 전송할 수 있습니다.

  • 가용 영역 A에는 10개의 정상 대상이 있으며, 이는 정상 대상의 필수 백분율을 충족합니다. 로드 밸런서는 10개의 정상 대상 간에 트래픽을 계속 분산합니다.

  • 가용 영역 B에는 정상 대상이 4개뿐이며, 이는 가용 영역 B의 로드 밸런서 노드 대상의 40%에 해당합니다. 이는 정상 대상의 필수 백분율보다 적으므로 로드 밸런서는 다음 작업을 수행합니다.

    • DNS장애 조치 - 가용 영역 B가 에서 비정상으로 표시됩니다. DNS 클라이언트가 가용 영역 B의 로드 밸런서 노드에 대한 로드 밸런서 이름을 확인할 수 없고 가용 영역 A가 정상이므로 클라이언트는 가용 영역 A에 새 연결을 보냅니다.

    • 라우팅 장애 조치 - 새 연결이 가용 영역 B로 명시적으로 전송되면 로드 밸런서는 비정상 대상을 포함하여 가용 영역 B의 모든 대상으로 트래픽을 분산합니다. 이는 나머지 정상 대상 간의 중단을 방지할 수 있습니다.

교차 영역 로드 밸런싱이 켜져 있는 경우
  • 각 로드 밸런서 노드는 두 가용 영역에서 등록된 20개 대상 모두에 트래픽을 전송할 수 있습니다.

  • 가용 영역 A에는 10개의 정상 대상이 있고 가용 영역 B에는 4개의 정상 대상이 있으므로 총 14개의 정상 대상이 있습니다. 이는 두 가용 영역 모두에 있는 로드 밸런서 노드에 대한 대상의 70%이며, 정상 대상 중 필수 백분율을 충족합니다.

  • 로드 밸런서는 두 가용 영역 모두에서 14개의 정상 대상 간에 트래픽을 계속 분산합니다.

로드 밸런서에 Route 53 DNS 페일오버 사용

Route 53을 사용하여 DNS 쿼리를 로드 밸런서로 라우팅하는 경우 Route 53을 사용하여 로드 밸런서에 대한 DNS 장애 조치를 구성할 수도 있습니다. 장애 조치 구성에서 Route 53은 로드 밸런서에 대한 대상 그룹 대상의 상태를 확인하여 가용 여부를 결정합니다. 로드 밸런서에 정상 상태의 대상이 등록되어 있지 않거나 로드 밸런서 자체가 정상 상태가 아니면 Route 53은 정상 상태 로드 밸런서나 Amazon S3의 정적 웹 사이트 같은 또 다른 가용 리소스로 트래픽을 라우팅합니다.

예를 들어 www.example.com에 대한 웹 사이트가 있고 서로 다른 리전에 상주하는 두 개의 로드 밸런서에서 중복 인스턴스를 실행하고 싶다고 가정합시다. 한 리전의 로드 밸런서에 트래픽을 주로 라우팅하고 다른 리전의 로드 밸런서는 장애 시 백업으로 사용하고 싶을 수 있습니다. DNS장애 조치를 구성하는 경우 기본 및 보조 (백업) 로드 밸런서를 지정할 수 있습니다. Route 53은 주 로드 밸런서가 사용 가능한 상태일 때는 여기로 트래픽을 라우팅하고, 그렇지 않으면 보조 로드 밸런서로 라우팅합니다.

대상 상태 평가 사용
  • Application Load Balancer의 별칭 레코드에서 대상 상태 평가가 Yes로 설정된 경우 Route 53은 alias target 값으로 지정된 리소스의 상태를 평가합니다. Application Load Balancer의 경우, Route 53은 로드 밸런서와 연결된 대상 그룹 상태 확인을 사용합니다.

  • Application Load Balancer의 모든 대상 그룹이 정상일 때 Route 53은 별칭 레코드를 정상으로 표시합니다. 대상 그룹에 정상인 대상이 하나 이상 있으면 대상 그룹 상태 확인이 통과됩니다. 그러면 Route 53은 라우팅 정책에 따라 레코드를 반환합니다. 장애 조치 라우팅 정책을 사용하는 경우, Route 53은 보조 레코드를 반환합니다.

  • Application Load Balancer의 대상 그룹 중 하나라도 비정상이면 별칭 레코드가 Route 53 상태 확인에 실패합니다(fail-open). 대상 상태 평가를 사용하는 경우 장애 조치 라우팅 정책이 실패할 수 있습니다.

  • Application Load Balancer의 모든 대상 그룹이 비어 있는 경우(대상 없음), Route 53은 레코드를 비정상(fail-open)으로 간주합니다. 대상 상태 평가를 사용하는 경우 장애 조치 라우팅 정책이 실패할 수 있습니다.

자세한 내용은 Amazon Route 53 개발자 안내서의 DNS 장애 조치 구성을 참조하십시오.