Elastic Load Balancing
Network Load Balancer

Network Load Balancer

로드 밸런서는 클라이언트에 대한 단일 점점 역할을 수행합니다. 클라이언트는 로드 밸런서에 요청을 전송하고 로드 밸런서는 하나 이상의 가용 영역에 있는 EC2 인스턴스 같은 대상으로 이를 전송합니다.

로드 밸런서를 구성하려는 경우, 대상 그룹을 생성한 다음 대상을 해당 대상 그룹에 등록합니다. 활성화된 각 가용 영역에 등록된 대상이 하나 이상 있는지 확인하는 경우에 로드 밸런서가 가장 효과적입니다. 리스너를 생성하여 클라이언트의 연결 요청을 확인하고, 클라이언트에서 대상 그룹에 있는 대상으로 요청을 라우팅합니다.

Network Load Balancer는 VPC 피어링, AWS 관리형 VPN 및 타사 VPN 솔루션을 통해 클라이언트에서의 연결을 지원합니다.

로드 밸런서 상태

로드 밸런서는 다음 중 하나의 상태일 수 있습니다.

provisioning

로드 밸런서를 설정하는 중입니다.

active

로드 밸런서가 완전히 설정되어 트래픽을 라우팅할 준비가 되었습니다.

failed

로드 밸런서를 설정할 수 없습니다.

로드 밸런서 속성

다음은 로드 밸런서의 속성입니다.

deletion_protection.enabled

삭제 방지 기능의 활성화 여부를 나타냅니다. 기본값은 false입니다.

load_balancing.cross_zone.enabled

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

가용 영역

로드 밸런서를 생성할 때 하나 이상의 가용 영역을 활성화합니다. 생성한 후에는 Network Load Balancer의 가용 영역을 활성화하거나 비활성화할 수 없습니다. 로드 밸런서에서 가용 영역을 여러 개 활성화하면 애플리케이션의 내결함성이 높아집니다.

가용 영역을 활성화할 때 해당 가용 영역에서 서브넷을 하나 지정합니다. Elastic Load Balancing은 가용 영역에 로드 밸런서 노드를 생성하고 서브넷의 네트워크 인터페이스를 만듭니다(설명은 'ELB net'으로 시작하며 로드 밸런서의 이름을 포함함). 가용 영역의 각 로드 밸런서 노드는 이 네트워크 인터페이스를 사용하여 IPv4 주소를 가져옵니다. 이 네트워크 인터페이스를 볼 수 있으나 수정할 수는 없습니다.

인터넷 경계 로드 밸런서를 생성하는 경우 필요에 따라 서브넷당 하나의 탄력적 IP 주소를 지정할 수 있습니다. 그러면 로드 밸런서에 고정 IP 주소가 제공됩니다. 로드 밸런서를 생성한 후에는 서브넷의 탄력적 IP 주소를 추가하거나 변경할 수 없습니다.

요구 사항

  • 지정하는 서브넷에는 최소 8개의 사용 가능한 IP 주소가 있어야 합니다.

  • 다른 AWS 계정에 의해 사용자와 공유된 서브넷은 지정할 수 없습니다.

  • 제약된 가용 영역의 서브넷은 지정할 수 없습니다. 해당 오류 메시지는 "유형이 'network'인 로드 밸런서는 az_name에서 지원되지 않음"과 같습니다. 제약되지 않은 다른 가용 영역의 서브넷을 지정하고 교차 영역 로드 밸런싱을 사용하여 제약된 가용 영역의 대상에 트래픽을 분산할 수 있습니다.

교차 영역 로드 밸런싱

기본적으로 각 로드 밸런서 노드는 해당 가용 영역의 등록된 대상에만 트래픽을 분산합니다. 교차 영역 로드 밸런싱을 활성화하면 각 로드 밸런서 노드가 활성화된 모든 가용 영역에 있는 등록된 대상 간에 트래픽을 분산합니다. 자세한 내용은 Elastic Load Balancing 사용 설명서교차 영역 로드 밸런싱 단원을 참조하십시오.

콘솔을 사용하여 교차 영역 로드 밸런싱을 활성화하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 로드 밸런싱에서 로드 밸런서를 선택합니다.

  3. 로드 밸런서를 선택합니다.

  4. 설명, 속성 편집을 선택합니다.

  5. 로드 밸런서 속성 편집 페이지에서 교차 영역 로드 밸런싱에 대해 활성화를 선택하고 저장을 선택합니다.

AWS CLI를 사용하여 교차 영역 로드 밸런싱을 활성화하려면

load_balancing.cross_zone.enabled 속성과 함께 modify-load-balancer-attributes 명령을 사용합니다.

삭제 방지

로드 밸런서가 실수로 삭제되지 않도록 방지하려면, 삭제 방지 기능을 활성화할 수 있습니다. 기본 설정상 로드 밸런서에 대한 삭제 방지 기능은 비활성화되어 있습니다.

로드 밸런서용 삭제 방지 기능을 활성화하는 경우 로드 밸런서를 삭제하기 전에 이 기능을 먼저 비활성화해야 합니다.

콘솔을 사용하여 삭제 방지 기능을 활성화하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 로드 밸런싱에서 로드 밸런서를 선택합니다.

  3. 로드 밸런서를 선택합니다.

  4. 설명, 속성 편집을 선택합니다.

  5. 로드 밸런서 속성 편집 페이지에서 삭제 보호에 대해 활성화를 선택하고 저장을 선택합니다.

콘솔을 사용하여 삭제 방지 기능을 비활성화하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 로드 밸런싱에서 로드 밸런서를 선택합니다.

  3. 로드 밸런서를 선택합니다.

  4. 설명, 속성 편집을 선택합니다.

  5. 로드 밸런서 속성 편집 페이지에서 Enable delete protection(삭제 보호 사용)을 취소하고 저장을 선택합니다.

AWS CLI를 사용하여 삭제 방지 기능을 활성화 또는 비활성화하려면

deletion_protection.enabled 속성과 함께 modify-load-balancer-attributes 명령을 사용합니다.

유휴 연결 제한 시간

클라이언트가 Network Load Balancer를 통해 생성하는 각 TCP 요청에 대해 연결 상태는 추적됩니다. 유휴 제한 시간보다 오래 클라이언트 또는 대상에 의한 연결을 통해 데이터가 전송되지 않으면 연결이 닫힙니다. 유휴 제한 시간이 지난 후 클라이언트 또는 대상에서 데이터를 보내면 연결이 더 이상 유효하지 않음을 나타내는 TCP RST 패킷이 수신됩니다.

Elastic Load Balancing은 TCP 흐름의 유휴 제한 시간 값을 350초로 설정합니다. 이 값은 수정할 수 없습니다. TCP 리스너에 대한 클라이언트 및 대상은 TCP keepalive 패킷을 사용하여 유휴 제한 시간을 재설정할 수 있습니다. TCP keepalive 패킷은 TLS 리스너에 대해 지원되지 않습니다.

UDP가 연결이 없는 동안 로드 밸런서는 소스 및 대상 IP 주소와 포트를 기반으로 UDP 흐름 상태를 유지하므로 동일한 흐름에 속한 패킷이 일관되게 동일한 대상으로 전송됩니다. 유휴 시간 초과 기간이 지나면 로드 밸런서는 들어오는 UDP 패킷을 새 흐름으로 간주하여 새 대상으로 라우트합니다. Elastic Load Balancing는 UDP 흐름의 유휴 제한 시간 값을 120초로 설정합니다.