Network Load Balancer 대상 그룹 - Elastic Load Balancing

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

Network Load Balancer 대상 그룹

대상 그룹은 하나 이상의 등록된 대상에 요청을 라우팅하는 데 사용됩니다. 리스너를 생성할 때 기본 작업에 대한 대상 그룹을 지정합니다. 트래픽은 리스너 규칙에 지정된 대상 그룹으로 전달됩니다. 서로 다른 유형의 요청에 대해 서로 다른 대상 그룹을 생성할 수 있습니다. 예를 들어, 일반 요청인 경우 하나의 대상 그룹을 생성하고 애플리케이션에 대한 마이크로 서비스의 요청인 경우 다른 대상 그룹을 생성합니다. 자세한 내용은 Network Load Balancer 구성 요소 단원을 참조하세요.

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

라우팅 구성

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

Network Load Balancer의 대상 그룹은 다음 프로토콜 및 포트를 지원합니다.

  • 프로토콜: TCP, TLS, UDP, TCP_UDP

  • 포트: 1-65535

대상 그룹이 TLS 프로토콜로 구성된 경우 로드 밸런서는 대상에 설치하는 인증서를 사용하여 대상과의 TLS 연결을 설정합니다. 로드 밸런서는 이러한 인증서를 검증하지 않습니다. 따라서 자체 서명된 인증서 또는 만료된 인증서를 사용할 수 있습니다. 로드 밸런서가 가상 사설 클라우드 (VPC) 에 있기 때문에 로드 밸런서와 대상 간의 트래픽은 패킷 수준에서 인증되므로 대상의 인증서가 유효하지 않더라도 공격이나 man-in-the-middle 스푸핑의 위험이 없습니다.

다음 테이블은 리스너 프로토콜과 대상 그룹 설정의 지원되는 조합을 요약합니다.

리스너 프로토콜 대상 그룹 프로토콜 대상 그룹 유형 상태 확인 프로토콜

TCP

TCP | TCP_UDP

instance | ip

HTTP | HTTPS | TCP

TCP

TCP

alb

HTTP | HTTPS

TLS

TCP | TLS

instance | ip

HTTP | HTTPS | TCP

UDP

UDP | TCP_UDP

instance | ip

HTTP | HTTPS | TCP

TCP/UDP

TCP/UDP

instance | ip

HTTP | HTTPS | TCP

Target type(대상 유형)

대상 그룹을 생성할 때는 대상 유형을 지정하며, 이 대상 유형은 해당 대상을 지정하는 방법을 결정합니다. 대상 그룹을 생성한 후에는 대상 유형을 변경할 수 없습니다.

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

instance

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

ip

대상이 IP 주소에 의해 지정됩니다.

alb

대상이 Application Load Balancer입니다.

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

  • 대상 그룹에 대한 VPC의 서브넷

  • 10.0.0.0/8(RFC 1918)

  • 100.64.0.0/10(RFC 6598)

  • 172.16.0.0/12(RFC 1918)

  • 192.168.0.0/16(RFC 1918)

중요

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

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

  • AWS IP 주소 및 포트로 주소를 지정할 수 있는 리소스 (예: 데이터베이스).

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

대상 그룹에 대해 클라이언트 IP 보존이 비활성화되면 로드 밸런서는 Network Load Balancer IP 주소 및 고유 대상(IP 주소 및 포트)의 각 조합에 대해 분당 약 55,000건의 연결을 지원할 수 있습니다. 연결 건수가 이보다 더 많을 경우, 포트 할당 오류가 발생할 가능성이 증가합니다. 포트 할당 오류가 발생할 경우, 대상 그룹에 더 많은 대상들을 추가하세요.

공유 Amazon VPC(참가자로)에서 Network Load Balancer를 시작할 때 사용자와 공유된 서브넷에서만 대상을 등록할 수 있습니다.

대상 유형이 alb인 경우 단일 Application Load Balancer를 대상으로 등록할 수 있습니다. 자세한 정보는 대상으로의 Application Load Balancer을 참조하세요.

Network Load Balancer는 lambda 대상 유형을 지원하지 않습니다. Application Load Balancer는 lambda 대상 유형을 지원하는 유일한 로드 밸런서입니다. 자세한 내용은 Application Load Balancer 사용 설명서Lambda 함수를 대상으로를 참조하세요.

Network Load Balancer에 등록된 인스턴스에 마이크로서비스가 있는 경우 로드 밸런서가 인터넷에 연결되어 있거나 인스턴스가 IP 주소로 등록되어 있지 않으면 로드 밸런서를 사용하여 이들 간에 통신을 제공할 수 없습니다. 자세한 정보는 대상에서 로드 밸런서로의 요청에서 연결 시간이 초과됨을 참조하세요.

라우팅 및 IP 주소 요청

인스턴스 ID를 사용하여 대상을 지정하면 해당 인스턴스의 기본 네트워크 인터페이스에 지정된 기본 프라이빗 IP 주소를 사용하여 트래픽이 인스턴스로 라우팅됩니다. 로드 밸런서는 데이터 패킷의 목적지 IP 주소를 대상 인스턴스로 전송하기 전에 다시 작성합니다.

IP 주소를 사용하여 대상을 지정하면 하나 이상의 네트워크 인터페이스에서 프라이빗 IP 주소를 사용하여 트래픽을 인스턴스로 라우팅할 수 있습니다. 그러면 한 인스턴스의 여러 애플리케이션이 동일한 포트를 사용할 수 있습니다. 각 네트워크 인터페이스에는 자체 보안 그룹이 있을 수 있습니다. 로드 밸런서는 목적지 IP 주소를 대상 인스턴스로 전송하기 전에 다시 작성합니다.

트래픽을 인스턴스에 허용하는 방법에 대한 자세한 내용은 대상 보안 그룹 섹션을 참조하세요.

대상으로서의 온프레미스 리소스

대상 유형이 다음과 같은 경우, AWS Direct Connect 또는 Site-to-Site VPN 연결을 통해 연결된 온프레미스 리소스가 대상 역할을 할 수 있습니다. ip

또는 를 사용하여 Network Load Balancer를 온프레미스 서버에 연결합니다. AWS Direct Connect AWS Site-to-Site VPN

온프레미스 리소스를 사용하는 경우 이러한 대상의 IP 주소는 여전히 다음 CIDR 블록 중 하나를 출처로 한 주소여야 합니다.

  • 10.0.0.0/8(RFC 1918)

  • 100.64.0.0/10(RFC 6598)

  • 172.16.0.0/12(RFC 1918)

  • 192.168.0.0/16(RFC 1918)

에 대한 자세한 내용은 AWS Direct Connect무엇입니까를 참조하십시오. AWS Direct Connect

에 대한 AWS Site-to-Site VPN자세한 내용은 AWS Site-to-Site VPN무엇입니까를 참조하십시오.

IP 주소 유형

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

네트워크 로드 밸런서는 IPv4 및 IPv6 대상 그룹을 모두 지원합니다. 기본 선택값은 IPv4입니다. IPv6 대상 그룹은 듀얼스택 네트워크 로드 밸런서에만 연결할 수 있습니다.

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

  • IPv6 대상 그룹은 TCP 또는 TLS 리스너가 있는 dualstack 로드 밸런서와 함께만 사용할 수 있습니다.

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

등록된 대상

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

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

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

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

요구 사항 및 고려 사항
  • C1, CC1, CC2, CG1, CG2, CR1, G1, G2, HI1, HS1, M1, M2, M3 또는 T1 인스턴스 유형 중 하나를 사용하는 경우 인스턴스 ID로 인스턴스를 등록할 수 없습니다.

  • IPv6 대상 그룹의 인스턴스 ID로 대상을 등록하는 경우 대상에 할당된 기본 IPv6 주소가 있어야 합니다. 자세한 내용은 Amazon EC2 사용 설명서의 IPv6 주소를 참조하십시오.

  • 인스턴스 ID로 대상을 등록하는 경우 인스턴스는 Network Load Balancer와 동일한 Amazon VPC에 있어야 합니다. 로드 밸런서 VPC(동일한 리전 또는 다른 리전)로 피어링된 VPC의 인스턴스는 인스턴스 ID로 등록할 수 없습니다. 이러한 인스턴스는 IP 주소로 등록할 수 있습니다.

  • IP 주소로 대상을 등록하고 IP 주소가 로드 밸런서와 동일한 VPC에 있는 경우 로드 밸런서는 해당 주소가 연결할 수 있는 서브넷에서 온 것인지 확인합니다.

  • 로드 밸런서는 활성화된 가용 영역 내에서만 트래픽을 대상으로 라우팅합니다. 활성화되지 않은 영역에 있는 대상은 사용되지 않습니다.

  • UDP 및 TCP_UDP 대상 그룹의 경우 인스턴스가 로드 밸런서 VPC 외부에 있거나 C1, CC1, CC2, CG1, CG2, CR1, G1, G2, HI1, HS1, M1, M2, M3, 또는 T1 인스턴스 유형 중 하나를 사용하는 경우에는 IP 주소로 인스턴스를 등록하지 마세요. 로드 밸런서 VPC 외부에 있거나 지원되지 않는 인스턴스 유형을 사용하는 대상은 로드 밸런서로부터 트래픽을 수신할 수 있지만 응답할 수는 없습니다.

대상 그룹 속성

다음은 대상 그룹 속성이 지원됩니다. 대상 그룹 유형이 instance 또는 ip인 경우에만 이러한 속성을 수정할 수 있습니다. 대상 그룹 유형이 alb인 경우 이러한 속성은 항상 기본값을 사용합니다.

deregistration_delay.timeout_seconds

Elastic Load Balancing이 대상의 등록 취소 상태를 draining에서 unused로 변경하기 전에 대기하는 시간입니다. 범위는 0~3600초입니다. 기본 값은 300초입니다.

deregistration_delay.connection_termination.enabled

등록 취소 시간 제한이 끝날 때 로드 밸런서가 연결을 종료하는지 여부를 나타냅니다. 값은 true 또는 false입니다. 새 UDP/TCP_UDP 대상 그룹의 경우 기본값은 true입니다. 그렇지 않은 경우 기본값은 false입니다.

load_balancing.cross_zone.enabled

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

preserve_client_ip.enabled

클라이언트 IP 보존이 활성화되었는지를 나타냅니다. 값은 true 또는 false입니다. 대상 그룹 유형이 IP 주소이고 대상 그룹 프로토콜이 TCP 또는 TLS이면 기본값이 비활성화됩니다. 그렇지 않으면, 기본값이 활성화됩니다. UDP 및 TCP_UDP 대상 그룹에 대해 클라이언트 IP 보존을 비활성화할 수 없습니다.

proxy_protocol_v2.enabled

프록시 프로토콜 버전 2의 활성화 여부를 나타냅니다. 기본적으로 프록시 프로토콜은 비활성화되어 있습니다.

stickiness.enabled

고정 세션을 활성화할지 여부를 나타냅니다.

stickiness.type

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

target_group_health.dns_failover.minimum_healthy_targets.count

정상 상태로 유지되어야 하는 최소 대상 수. 정상 대상 수가 이 값보다 낮으면 DNS에서 영역을 비정상으로 표시하여 트래픽이 정상 영역으로만 라우팅되도록 합니다. 가능한 값은 off 또는 1부터 최대 대상 수까지의 정수입니다. off, DNS 페일 어웨이가 비활성화되면 각 대상 그룹이 독립적으로 DNS 페일 오버에 기여합니다. 기본 값은 1입니다.

target_group_health.dns_failover.minimum_healthy_targets.percentage

정상 상태로 유지되어야 하는 대상의 최소 백분율. 정상 대상 백분율이 이 값보다 낮으면 DNS에서 영역을 비정상으로 표시하여 트래픽이 정상 영역으로만 라우팅되도록 합니다. 가능한 값은 off, 또는 1부터 100까지의 정수입니다. off, DNS 페일 어웨이가 비활성화되면 각 대상 그룹이 독립적으로 DNS 페일 오버에 기여합니다. 기본 값은 1입니다.

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입니다.

target_health_state.unhealthy.connection_termination.enabled

로드 밸런서가 비정상 대상과의 연결을 종료하는지 여부를 나타냅니다. 값은 true 또는 false입니다. 기본값은 true입니다.

target_health_state.unhealthy.draining_interval_seconds

Elastic Load Balancing이 비정상 대상의 상태를 에서 로 변경하기 전에 unhealthy.draining 대기하는 unhealthy 시간입니다. 범위는 0-360000초입니다. 기본값은 0초입니다.

참고: 이 속성은 인 경우에만 구성할 수 있습니다. target_health_state.unhealthy.connection_termination.enabled false

클라이언트 IP 보존

네트워크 로드 밸런서는 요청을 백엔드 대상으로 라우팅할 때 클라이언트의 소스 IP 주소를 보존할 수 있습니다. 클라이언트 IP 보존을 비활성화하면 소스 IP 주소는 Network Load Balancer의 사설 IP 주소입니다.

기본적으로, 클라이언트 IP 보존은 UDP 및 TCP_UDP 프로토콜을 사용하는 인스턴스와 IP 유형 대상 그룹에 대해 활성화되며, 비활성화할 수 없습니다. 그러나 preserve_client_ip.enabled 대상 그룹 속성을 사용하여 TCP 및 TLS 대상 그룹에 대한 클라이언트 IP 보존을 활성화하거나 비활성화할 수 있습니다.

기본 설정
  • 인스턴스 유형 대상 그룹: 활성화됨

  • IP 유형 대상 그룹(UDP, TCP_UDP): 활성화됨

  • IP 유형 대상 그룹(TCP, TLS): 비활성화됨

요구 사항 및 고려 사항
  • 클라이언트 IP 보존이 활성화된 경우 트래픽은 Network Load Balancer에서 타겟으로 직접 전달되어야 합니다. 대상은 Network Load Balancer와 동일한 VPC에 있거나 동일한 지역의 피어링된 VPC에 위치해야 합니다.

  • 대상이 Network Load Balancer와 동일한 Amazon VPC에 있더라도 Gateway Load Balancer 엔드포인트를 통해 Network Load Balancer와 대상(인스턴스 또는 IP) 사이의 트래픽을 검사하면 클라이언트 IP 보존이 지원되지 않습니다.

  • 다음 인스턴스 유형, C1, CC1, CC2, CG1, CG2, CR1, G1, G2, HI1, HS1, M1, M2, M3, T1은 클라이언트 IP 보존을 지원하지 않습니다. 이러한 인스턴스 유형은 클라이언트 IP 보존이 비활성화된 IP 주소로 등록하는 것이 좋습니다.

  • 클라이언트 IP 보존은 들어오는 인바운드 트래픽에는 영향을 주지 않습니다. AWS PrivateLink AWS PrivateLink 트래픽의 소스 IP는 항상 Network Load Balancer의 사설 IP 주소입니다.

  • 대상 그룹에 AWS PrivateLink ENI나 다른 Network Load Balancer ENI가 포함된 경우에는 클라이언트 IP 보존이 지원되지 않습니다. 이로 인해 해당 대상과의 통신이 중단됩니다.

  • 클라이언트 IP 보존은 IPv6에서 IPv4로 변환된 트래픽에 영향을 주지 않습니다. 이 트래픽 유형의 소스 IP는 항상 Network Load Balancer의 프라이빗 IP 주소입니다.

  • Application Load Balancer 유형별로 대상을 지정하면 수신되는 모든 트래픽의 클라이언트 IP가 Network Load Balancer에 의해 보존되고 Application Load Balancer에 전송됩니다. 그런 다음 Application Load Balancer는 클라이언트 IP를 대상으로 보내기 전에 X-Forwarded-For 요청 헤더에 첨부합니다.

  • 클라이언트 IP 보존의 변경 사항은 새 TCP 연결에만 적용됩니다.

  • 헤어피닝이라고도 하는 NAT 루프백은 클라이언트 IP 보존이 활성화된 경우 지원되지 않습니다. 사용하도록 설정한 경우 대상에서 관찰된 소켓 재사용과 관련된 TCP/IP 연결 제한이 발생할 수 있습니다. 이러한 연결 제한은 여러 로드 밸런서 노드에 동시에 연결할 때 클라이언트 또는 클라이언트 앞에 있는 NAT 디바이스가 동일한 소스 IP 주소와 소스 포트를 사용하는 경우에 발생할 수 있습니다. 로드 밸런서가 이러한 연결을 동일한 대상으로 라우팅하는 경우 이 연결은 동일한 소스 소켓에서 온 것처럼 대상에 나타나므로 연결 오류가 발생합니다. 이 경우 (연결이 실패하면) 클라이언트가 다시 시도하거나 (연결이 중단되면) 다시 연결할 수 있습니다. 소스 휘발성 포트 수를 늘리거나 로드 밸런서에 대한 대상 수를 늘려 이러한 유형의 연결 오류를 줄일 수 있습니다. 클라이언트 IP 보존 혹은 교차 영역 로드 밸런싱을 비활성화하여 이러한 유형의 연결 오류를 방지할 수 있습니다.

  • 클라이언트 IP 보존이 비활성화된 경우 Network Load Balancer는 각각의 고유 대상(IP 주소 및 포트)에 대해 55,000건의 동시 연결 또는 분당 약 55,000건의 연결을 지원합니다. 연결 횟수가 이를 초과할 경우, 포트 할당 오류가 발생할 가능성이 증가하고, 새 연결 구축에 실패할 수 있습니다. 포트 할당 오류는 PortAllocationErrorCount 지표를 사용하여 추적할 수 있습니다. 포트 할당 오류를 해결하려면 대상 그룹에 더 많은 대상을 추가하세요. 자세한 정보는 CloudWatch Network Load Balancer의 측정치을 참조하세요.

콘솔을 사용하여 클라이언트 IP 보존을 구성하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

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

  4. 속성성(Attributes) 탭에서 편집(Edit)을 선택합니다.

  5. 클라이언트 IP 보존을 활성화하려면 Preserve client IP addresses(클라이언트 IP 주소 보존)를 선택합니다. 클라이언트 IP 보존을 비활성화하려면 Preserve client IP addresses(클라이언트 IP 주소 보존)를 선택 취소합니다.

  6. 변경 사항 저장을 선택합니다.

를 사용하여 클라이언트 IP 보존을 활성화 또는 비활성화하려면 AWS CLI

modify-target-group-attributes명령을 preserve_client_ip.enabled 속성과 함께 사용하십시오.

예를 들어, 다음 명령을 사용하여 클라이언트 IP 보존을 비활성화합니다.

aws elbv2 modify-target-group-attributes --attributes Key=preserve_client_ip.enabled,Value=false --target-group-arn ARN

다음 예와 유사하게 출력되어야 합니다.

{ "Attributes": [ { "Key": "proxy_protocol_v2.enabled", "Value": "false" }, { "Key": "preserve_client_ip.enabled", "Value": "false" }, { "Key": "deregistration_delay.timeout_seconds", "Value": "300" } ] }

등록 취소 지연

대상 등록을 취소하면 로드 밸런서가 대상에 대한 새 연결 생성을 중지합니다. 로드 밸런서는 Connection Draining을 사용하여 기존 연결에서 인플라이트 트래픽이 완료되도록합니다. 등록 취소된 대상이 정상 상태를 유지하고 기존 연결이 유휴 상태가 아닌 경우 로드 밸런서는 트래픽을 대상으로 계속 전송할 수 있습니다. 기존 연결을 닫으려면 연결 종료에 대한 대상 그룹 속성을 활성화하거나, 등록 취소하기 전에 인스턴스가 비정상 상태인지 확인하거나, 클라이언트 연결을 주기적으로 닫으면 됩니다.

등록 취소하는 대상의 초기 상태는 draining입니다. 기본적으로 로드 밸런서는 300초 후에 등록 취소된 대상의 상태를 unused로 변경합니다. 등록 취소 대상의 상태를 unused로 변경하기 전에 로드 밸런서가 대기하는 시간을 변경하려면 등록 취소 지연 값을 업데이트하세요. 요청이 완료될 수 있도록 120초 이상의 값을 지정하는 것이 좋습니다.

연결 종료에 대해 대상 그룹 속성을 활성화하면 등록 취소된 대상에 대한 연결이 등록 취소 시간 제한이 끝나는 즉시 닫힙니다.

콘솔을 사용하여 등록 취소 속성을 업데이트하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

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

  4. 속성(Attributes) 탭에서 편집(Edit)을 선택합니다.

  5. 등록 취소 시간 제한을 변경하려면 등록 취소 지연에 새 값을 입력합니다. 대상을 등록 취소한 후 기존 연결이 닫히게 하려면 Terminate connections on deregistration(등록 취소 시 연결 종료)을 선택합니다.

  6. 변경 사항 저장을 선택합니다.

를 사용하여 등록 취소 속성을 업데이트하려면 AWS CLI

modify-target-group-attributes 명령을 사용합니다.

프록시 프로토콜

Network Load Balancer는 프록시 프로토콜 버전 2를 사용하여 소스 및 대상과 같은 추가 연결 정보를 보냅니다. 프록시 프로토콜 버전 2는 프록시 프로토콜 헤더의 이진 인코딩을 제공합니다. TCP리스너와 함께 로드 밸런서는 TCP 데이터에 프록시 프로토콜 헤더를 추가합니다. 로드 밸런서는 클라이언트에서 전송한 모든 수신 프록시 프로토콜 헤더 또는 네트워크 경로에 있는 그 밖의 모든 프록시, 로드 밸런서 또는 서버를 포함해 기존 데이터를 폐기하거나 덮어쓰지 않습니다. 따라서 하나 이상의 프록시 프로토콜 헤더를 수신할 수 있습니다. 또한 Network Load Balancer 외부에 대상에 대한 다른 네트워크 경로가 있는 경우 첫 번째 프록시 프로토콜 헤더가 Network Load Balancer의 프록시 프로토콜 헤더가 아닐 수 있습니다.

IP 주소로 대상을 지정하는 경우 애플리케이션에 제공되는 소스 IP 주소는 다음과 같이 대상 그룹의 프로토콜에 따라 달라집니다.

  • TCP 및 TLS: 기본적으로 클라이언트 IP 보존은 비활성화되며 애플리케이션에 제공되는 소스 IP 주소는 로드 밸런서 노드의 사설 IP 주소입니다. 클라이언트의 IP 주소를 보존하려면 대상이 동일한 VPC 또는 피어링된 VPC 내에 있는지 확인하고 클라이언트 IP 보존을 활성화하십시오. 클라이언트의 IP 주소가 필요한데 이러한 조건이 충족되지 않는 경우 프록시 프로토콜을 활성화하고 프록시 프로토콜 헤더에서 클라이언트 IP 주소를 가져오십시오.

  • UDP 및 TCP_UDP: 소스 IP 주소는 클라이언트의 IP 주소입니다. 이러한 프로토콜에서는 클라이언트 IP 보존이 기본적으로 활성화되며 비활성화할 수 없기 때문입니다. 인스턴스 ID로 대상을 지정하는 경우 애플리케이션에 제공되는 원본 IP 주소는 클라이언트 IP 주소입니다. 하지만 원하는 경우 프록시 프로토콜을 활성화하고 프록시 프로토콜 헤더에서 클라이언트 IP 주소를 가져올 수 있습니다.

인스턴스 ID로 대상을 지정하는 경우 애플리케이션에 제공되는 원본 IP 주소는 클라이언트 IP 주소입니다. 하지만 원하는 경우 프록시 프로토콜을 활성화하고 프록시 프로토콜 헤더에서 클라이언트 IP 주소를 가져올 수 있습니다.

참고

TLS 리스너는 클라이언트나 다른 프록시가 전송한 프록시 프로토콜 헤더를 통한 수신 연결을 지원하지 않습니다.

상태 확인 연결

프록시 프로토콜을 활성화한 이후 프록시 프로토콜 헤더는 또한 로드 밸런서의 상태 확인 연결에 포함됩니다. 하지만 상태 확인 연결을 통해 클라이언트 연결 정보는 프록시 프로토콜 헤더에 전송되지 않습니다.

VPC 엔드포인트 서비스

서비스 소비자에서 VPC 엔드포인트 서비스를 통해 오는 트래픽의 경우 애플리케이션에 제공된 원본 IP 주소는 로드 밸런서 노드의 프라이빗 IP 주소입니다. 애플리케이션에 서비스 소비자의 IP 주소가 필요한 경우, 프록시 프로토콜을 활성화하고 프록시 프로토콜 헤더에서 서비스 소비자 IP 주소를 가져옵니다.

프록시 프로토콜 헤더에는 엔드포인트의 ID도 포함됩니다. 이 정보는 다음과 같은 사용자 지정 TLV(유형-길이-값) 벡터를 사용하여 인코딩됩니다.

필드 길이(자리) 설명

형식

1

PP2_TYPE_AWS(0xEA)

길이

2

값의 길이

1

PP2_SUBTYPE_AWS_VPCE_ID(0x01)

변수(값 길이 -1) 엔드포인트의 ID

TLV 유형 0xEA를 구문 분석하는 예는 https://github.com/aws/ /tree/master/prot를 참조하십시오. elastic-load-balancing-tools

프록시 프로토콜 활성화

대상 그룹에 프록시 프로토콜을 활성화하기 전에 애플리케이션이 프록시 프로토콜 v2 헤더를 구문 분석할 수 있도록 해야 합니다. 그렇지 않은 경우 실패할 수 있습니다. 자세한 내용은 프록시 프로토콜 버전 1 및 2를 참조하세요.

콘솔을 사용하여 프록시 프로토콜 v2를 활성화하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

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

  4. 속성(Attributes) 탭에서 편집(Edit)을 선택합니다.

  5. 속성 편집(Edit attributes) 페이지에서 프록시 프로토콜 v2(Proxy protocol v2)를 선택합니다.

  6. [Save changes]를 선택합니다.

다음을 사용하여 프록시 프로토콜 v2를 활성화하려면 AWS CLI

modify-target-group-attributes 명령을 사용합니다.

고정 세션

고정 세션은 대상 그룹의 동일한 대상으로 클라이언트 트래픽을 라우팅하는 메커니즘입니다. 이는 클라이언트에게 지속적인 경험을 제공하기 위해 상태 정보를 유지하는 서버에 유용합니다.

고려 사항
  • 고정 세션을 사용하면 연결 및 흐름이 고르지 않게 분포되어 대상의 가용성에 영향을 줄 수 있습니다. 예를 들어 동일한 NAT 디바이스 뒤에 있는 모든 클라이언트는 동일한 소스 IP 주소를 가집니다. 따라서 이러한 클라이언트의 모든 트래픽은 동일한 대상으로 라우팅됩니다.

  • 로드 밸런서는 대상의 상태가 변경되거나 대상 그룹에 대상을 등록 또는 등록 취소하는 경우 대상 그룹에 대한 고정 세션을 재설정할 수 있습니다.

  • 대상 그룹에 대해 stickiness 속성이 켜져 있는 경우 수동 상태 확인이 지원되지 않습니다. 자세한 내용은 대상 그룹의 건강 검진을 참조하십시오.

  • 스티키 세션은 TLS 리스너에 대해서는 지원되지 않습니다.

콘솔을 사용하여 고정 세션을 활성화하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

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

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

  4. 속성성(Attributes) 탭에서 편집(Edit)을 선택합니다.

  5. Target selection configuration(대상 선택 구성)에서 Stickiness(고정)를 켭니다.

  6. 변경 사항 저장을 선택합니다.

고정 세션을 활성화하려면 다음을 사용하십시오. AWS CLI

modify-target-group-attributes명령을 stickiness.enabled 속성과 함께 사용하십시오.