Network Load Balancer란 무엇인가요? - Elastic Load Balancing

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

Network Load Balancer란 무엇인가요?

Elastic Load Balancing은 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산합니다. 등록된 대상의 상태를 모니터링하면서 상태가 양호한 대상으로만 트래픽을 라우팅합니다. Elastic Load Balancing은 수신 트래픽이 시간이 지남에 따라 변경됨에 따라 로드 밸런서를 확장합니다. 대다수의 워크로드에 맞게 자동으로 조정할 수 있습니다.

Elastic Load Balancing은 다음 로드 밸런서를 지원합니다. Application Load Balancers, Network Load Balancers, Gateway Load Balancers 및 Classic Load Balancer 각자 필요에 따라 가장 적합한 로드 밸런서 유형을 선택할 수 있습니다. 이 안내서에서는 Network Load Balancer에 대해 설명합니다. 다른 로드 밸런서에 대한 자세한 내용은 Application Load Balancer 사용 설명서, Gateway Load Balancer 사용 설명서, Classic Load Balancer 사용 설명서를 참조하세요.

Network Load Balancer 구성 요소

로드 밸런서는 클라이언트에 대한 단일 접점 역할을 수행합니다. 로드 밸런서는 수신 트래픽을 Amazon EC2 인스턴스와 같은 여러 대상에 분산합니다. 이렇게 하면 애플리케이션의 가용성이 향상됩니다. 로드 밸런서에 하나 이상의 리스너를 추가할 수 있습니다.

리스너는 사용자가 구성한 프로토콜과 포트를 사용하여 클라이언트의 연결 요청을 확인하고, 요청을 대상 그룹으로 전달합니다.

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

자세한 내용은 다음 설명서를 참조하세요.

Network Load Balancer 개요

Network Load Balancer는 오픈 시스템 상호 연결(OSI) 모델의 네 번째 계층에서 작동합니다. 초당 수백만 개의 요청을 처리할 수 있습니다. 로드 밸런서가 연결 요청을 받으면 기본 규칙의 대상 그룹에서 대상을 선택합니다. 리스너 구성에 지정된 포트에서 선택한 대상에 대한 TCP 연결을 열려고 시도합니다.

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

애플리케이션의 내결함성을 향상하려면 로드 밸런서에 대해 여러 가용 영역을 활성화하고 각 활성화된 가용 영역에 대해 각 대상 그룹에 하나 이상의 대상이 있는지 확인할 수 있습니다. 예를 들어, 하나 이상의 대상 그룹이 가용성 영역에서 정상 대상이 없는 경우 DNS에서 해당 서브넷의 IP 주소를 제거하지만 다른 가용 영역의 로드 밸런서 노드는 여전히 트래픽을 라우팅할 수 있습니다. 클라이언트가 time-to-live (TTL) 을 준수하지 않고 DNS에서 제거된 IP 주소로 요청을 보내면 요청이 실패합니다.

TCP 트래픽의 경우, 로드 밸런서는 프로토콜, 원본 IP 주소, 원본 포트, 대상 IP 주소, 대상 포트, TCP 시퀀스 번호에 따라 흐름 해시 알고리즘을 사용하여 대상을 선택합니다. 클라이언트로부터의 TCP 연결은 소스 포트와 시퀀스 번호가 서로 다르므로 다른 대상에 라우팅될 수 있습니다. 각 TCP 연결은 연결 수명 동안 하나의 대상에 라우팅됩니다.

UDP 트래픽의 경우, 로드 밸런서는 프로토콜, 원본 IP 주소, 원본 포트, 대상 IP 주소, 대상 포트에 따라 흐름 해시 알고리즘을 사용하여 대상을 선택합니다. UDP 흐름은 소스와 목적지가 동일하기 때문에 수명이 다할 때까지 일관되게 단일 대상으로 라우트됩니다. 서로 다른 UDP 흐름에는 서로 다른 소스 IP 주소와 포트가 있으므로 다른 대상으로 라우팅될 수 있습니다.

Elastic Load Balancing은 활성화된 각 가용 영역에 대해 네트워크 인터페이스를 생성합니다. 가용 영역의 각 로드 밸런서 노드는 이 네트워크 인터페이스를 사용하여 고정 IP 주소를 가져옵니다. 인터넷 경계 로드 밸런서를 생성하는 경우 필요에 따라 서브넷당 하나의 탄력적 IP 주소를 연결할 수 있습니다.

대상 그룹을 생성할 때 대상 유형을 지정하며, 이 유형에 따라 대상을 등록하는 방법이 결정됩니다. 예를 들어 인스턴스 ID, IP 주소 또는 Application Load Balancer를 등록할 수 있습니다. 대상 유형은 클라이언트 IP 주소의 보존 여부에도 영향을 줍니다. 자세한 설명은 클라이언트 IP 보존 섹션을 참조하세요.

애플리케이션에 대한 요청의 전체적인 흐름을 방해하지 않고 필요에 따라 로드 밸런서에서 대상을 추가 및 제거할 수 있습니다. 애플리케이션에 대한 트래픽이 시간에 따라 변화하므로 Elastic Load Balancing은 로드 밸런서를 확장합니다. Elastic Load Balancing은 대다수의 워크로드에 맞게 자동으로 조정할 수 있습니다.

로드 밸런서가 정상적인 대상에만 요청을 보낼 수 있도록 등록된 대상의 상태를 모니터링하는 데 사용되는 상태 확인을 구성할 수 있습니다.

자세한 내용은 Elastic Load Balancing 사용 설명서Elastic Load Balancing 작동 방식을 참조하세요.

Classic Load Balancer에서 마이그레이션할 때의 이점

Classic Load Balancer 대신 Network Load Balancer를 사용하면 다음과 같은 이점이 있습니다.

  • 일시적 워크로드를 처리하고 초당 수백만 개의 요청으로 확장할 수 있습니다.

  • 로드 밸런서에 고정 IP 주소를 지원합니다. 또한 로드 밸런서에 대해 활성화된 서브넷당 하나의 탄력적 IP 주소를 할당할 수 있습니다.

  • 로드 밸런서의 VPC 외부 대상을 포함하여 IP 주소로 대상을 등록하는 것을 지원합니다.

  • 단일 EC2 인스턴스의 여러 애플리케이션으로 요청을 라우팅하는 것을 지원합니다. 여러 포트를 사용하여 각 인스턴스 또는 IP 주소를 동일한 대상 그룹에 등록할 수 있습니다.

  • 컨테이너화된 애플리케이션을 지원합니다. Amazon Elastic Container Service(Amazon ECS)는 태스크를 예약할 때 사용되지 않는 포트를 선택하고 이 포트를 사용하여 대상 그룹에 태스크를 등록할 수 있습니다. 이를 통해 클러스터를 효율적으로 사용할 수 있습니다.

  • 상태 확인이 대상 그룹 수준에서 정의되고 많은 Amazon CloudWatch 지표가 대상 그룹 수준에서 보고되므로 각 서비스의 상태를 독립적으로 모니터링할 수 있도록 지원합니다. Auto Scaling 그룹에 대상 그룹을 연결하면 필요에 따라 동적으로 각 서비스를 확장할 수 있습니다.

각 유형의 로드 밸런서가 지원하는 기능에 대한 자세한 내용은 Elastic Load Balancing 제품 비교를 참조하세요.

시작하는 방법

Network Load Balancer를 만들려면 다음 자습서 중 하나를 사용하세요.

일반적인 로드 밸런서 구성에 대한 데모는 Elastic Load Balancing 데모를 참조하세요.

요금

자세한 내용은 Network Load Balancer 가격 책정을 참조하세요.