고가용성

Elastic Load Balancing은 트래픽을 단일 가용 영역 또는 여러 가용 영역에 있는 여러 대상(Amazon EC2 인스턴스, 컨테이너, IP 주소)에 자동으로 분산합니다.

상태 확인

Elastic Load Balancing은 비정상 대상을 감지하고, 해당 대상으로 트래픽 전송을 중단한 다음, 나머지 정상 대상으로 로드를 분산할 수 있습니다.

보안 기능

Amazon Virtual Private Cloud(VPC)를 사용하면 로드 밸런서와 연결된 보안 그룹을 생성 및 관리하여 추가 네트워킹 및 보안 옵션을 제공할 수 있습니다. 또한, 내부(인터넷 사용 안 함) 로드 밸런서를 생성할 수도 있습니다.

TLS 종료

Elastic Load Balancing은 통합 인증서 관리 및 SSL/TLS 복호화를 지원하므로 유연하게 로드 밸런서의 SSL 설정을 중앙에서 관리하고 애플리케이션의 CPU 집약적인 작업을 줄일 수 있습니다.

계층 4 또는 계층 7 로드 밸런싱

계층 7 전용 기능에 대해 HTTP/HTTPS 애플리케이션을 로드 밸런싱하거나 TCP 프로토콜에만 의존하는 애플리케이션에 대해 엄격한 계층 4 로드 밸런싱을 사용할 수 있습니다.

운영 모니터링

Elastic Load Balancing은 애플리케이션 성능을 실시간으로 모니터링할 수 있도록 Amazon CloudWatch 지표 및 요청 추적과 통합을 제공합니다.

제품 비교

애플리케이션 요구 사항에 따라 적절한 로드 밸런서를 선택할 수 있습니다. 유연한 애플리케이션 관리가 필요한 경우 Application Load Balancer를 사용하는 것이 좋습니다. 애플리케이션에 탁월한 성능 및 고정 IP가 필요한 경우 Network Load Balancer를 사용하는 것이 좋습니다. 기존 애플리케이션이 EC2-Classic 네트워크 내에 구축되어 있는 경우 Classic Load Balancer를 사용해야 합니다.

기능

Application Load Balancer

Network Load Balancer

Classic Load Balancer

프로토콜

HTTP, HTTPS

TCP

TCP, SSL/TLS, HTTP, HTTPS

Platforms(플랫폼)

VPC

VPC

EC2-Classic, VPC

상태 확인

CloudWatch 지표

로깅

영역 장애 조치

Connection Draining(등록 취소 지원)

같은 인스턴스의 여러 포트로 로드 밸런싱

 

WebSocket

 

IP 주소를 대상으로 사용
 

로드 밸런서 삭제 탐지

 

경로 기반 라우팅

 

 

호스트 기반 라우팅

 

 

네이티브 HTTP/2

 

 

구성 가능한 유휴 연결 시간 초과
 

교차 영역 로드 밸런싱

SSL 오프로드

 

SNI(서버 이름 표시)    

고정 세션

 

백엔드 서버 암호화

 

정적 IP

 

 

탄력적 IP 주소

 

 

소스 IP 주소 유지

 

 

리소스 기반 IAM
권한
태그 기반 IAM 권한  
느린 시작
   
사용자 인증    
리디렉션    
고정 응답    

Elastic Load Balancing 제품 세부 정보

  • Application Load Balancer
  • Network Load Balancer
  • Classic Load Balancer
  • Application Load Balancer
  • 요청 수준(계층 7)에서 작동하는 Application Load Balancer는 요청의 콘텐츠를 기반으로 Amazon Virtual Private Cloud(VPC) 내의 대상(EC2 인스턴스, 마이크로 서비스 및 컨테이너)으로 트래픽을 라우팅합니다. HTTP 및 HTTPS 트래픽의 고급 로드 밸런싱에 적합한 Application Load Balancer는 마이크로서비스와 컨테이너 기반 애플리케이션을 비롯한 최신 애플리케이션 아키텍처 전달을 위한 고급 요청 라우팅 기능을 제공합니다. Application Load Balancer는 항상 최신 SSL/TLS 암호 및 프로포콜이 사용되도록 하여 애플리케이션의 보안을 간소화하고 개선합니다.

    주요 기능

    계층 7 로드 밸런싱
    HTTP/HTTPS 애플리케이션을 로드 밸런싱하고 X-Forwarded-For 헤더와 같은 계층 7 전용 기능을 사용할 수 있습니다.

    HTTPS 지원
    Application Load Balancer는 클라이언트와 로드 밸런서 간 HTTPS 종료를 지원합니다. 또한, AWS Identity and Access Management(IAM) 및 AWS Certificate Manager의 사전 정의된 보안 정책을 통해 SSL 인증서 관리도 제공합니다.

    고가용성
    Application Load Balancer를 사용하려면 2개 이상의 가용 영역을 지정해야 합니다. 수신되는 트래픽을 여러 가용 영역의 대상으로 분산할 수 있습니다. Application Load Balancer는 수신되는 애플리케이션 트래픽에 대응하여 요청 처리 용량을 자동으로 확장합니다.

    보안 기능
    Amazon Virtual Private Cloud(VPC)를 사용할 경우 Elastic Load Balancing과 관련된 보안 그룹을 생성 및 관리하여 추가 네트워킹 및 보안 옵션을 제공할 수 있습니다. Application Load Balancer를 인터넷과 연결되도록 구성하거나 퍼블릭 IP 주소 없이 로드 밸런서를 생성하여 인터넷에 연결되지 않은 내부 로드 밸런서로 사용할 수 있습니다.

    콘텐츠 기반 라우팅
    애플리케이션이 몇 개의 개별 서비스로 구성된 경우 Application Load Balancer는 요청의 콘텐츠를 기반으로 요청을 서비스로 라우팅할 수 있습니다.

    호스트 기반 라우팅
    HTTP 헤더의 호스트 필드를 기반으로 클라이언트 요청을 라우팅하여 동일한 로드 밸런서로부터 여러 도메인으로 라우팅할 수 있습니다.

    경로 기반 라우팅
    HTTP 헤더의 URL 경로를 기반으로 클라이언트 요청을 라우팅할 수 있습니다.

    컨테이너식 애플리케이션 지원
    Application Load Balancer는 동일한 Amazon EC2 인스턴스의 여러 포트에 걸쳐 로드 밸런싱하여 향상된 컨테이너 지원을 제공합니다. Amazon EC2 Container Service(ECS)와의 긴밀히 통합되어 완전관리형 컨테이너 상품을 제공합니다. ECS를 사용하면 ECS 작업 정의에서 동적 포트를 지정하여 EC2 인스턴스에서 예약된 경우 컨테이너에 미사용 포트를 부여할 수 있습니다. ECS 스케줄러가 이 포트를 사용하여 자동으로 로드 밸런서에 작업을 추가합니다.

    HTTP/2 지원
    HTTP/2는 새로운 버전의 HyperText Transfer Protocol(HTTP)로, 하나의 다중 연결을 사용하여 동일한 연결에서 복수의 요청을 전송하도록 허용합니다. 또한 헤더 데이터를 전송 전에 이진 형식으로 압축하고 클라이언트와의 SSL 연결을 지원합니다.

    WebSocket 지원
    WebSocket을 사용하면 최종 사용자가 서버로 업데이트를 요청(또는 폴링)할 필요 없이 서버가 최종 사용자와 실시간 메시지를 교환할 수 있습니다. WebSocket 프로토콜은 장기 실행 TCP 연결을 통해 클라이언트와 서버 간 양방향 통신 채널을 제공합니다

    IPv6 기본 지원
    Application Load Balancer는 VPC에서 인터넷 프로토콜 버전 6(IPv6)을 기본적으로 지원합니다. 따라서 클라이언트가 IPv4 또는 IPv6를 통해 Application Load Balancer에 연결할 수 있습니다.

    고정 세션
    고정 세션은 요청을 동일한 클라이언트에서 동일한 대상으로 라우팅하는 메커니즘입니다. Application Load Balancer는 로드 밸런서 생성 쿠키를 사용하여 고정 세션을 지원합니다. 고정 세션을 활성화할 경우 동일한 대상이 요청을 수신하고 쿠키를 사용하여 세션 컨텍스트를 복구할 수 있습니다. 고정성은 대상 그룹 수준에서 정의됩니다.

    상태 확인
    Application Load Balancer는 정상 상태의 대상으로만 트래픽을 라우팅합니다. Application Load Balancer를 사용하면 두 가지 방식으로 애플리케이션 상태에 대한 통찰력을 개선할 수 있습니다. (1) 200~499까지 상세한 오류 코드를 구성할 수 있게 해주는 상태 확인 개선 사항. 상태 확인을 통해 로드 밸런서 뒤의 각 서비스의 상태를 모니터링할 수 있습니다. (2) EC2 인스턴스에서 실행되는 각 서비스의 트래픽을 파악할 수 있는 새로운 지표.

    운영 모니터링
    Amazon CloudWatch는 요청 횟수, 오류 횟수, 오류 유형, 요청 지연 시간과 같은 Application Load Balancer 지표를 보고합니다.

    로깅

    액세스 로그 기능을 사용하여 로드 밸런서로 전송된 요청을 모두 기록하고 이후 분석을 위해 Amazon S3에 로그를 저장할 수 있습니다. 로그는 압축되고 gzip 파일 확장자를 사용합니다. 압축된 로그는 스토리지 공간 및 전송 대역폭을 모두 저장하며 애플리케이션 오류를 진단하고 웹 트래픽을 분석하는 데 유용합니다.

    AWS CloudTrail을 사용하여 계정에 대한 Application Load Balancer API 호출을 기록하고 로그 파일을 전달할 수도 있습니다. API 호출 기록을 사용하면 보안 분석, 리소스 변경 사항 추적, 규정 준수 감사를 수행할 수 있습니다.

    삭제 보호
    Application Load Balancer에서 삭제 보호를 활성화하여 우발적 삭제를 방지할 수 있습니다.

    요청 추적
    Application Load Balancer는 로드 밸런서에 수신되는 모든 요청에 새로운 사용자 정의 식별자 "X-Amzn-Trace-Id" HTTP 헤더를 추가합니다. 요청 추적을 사용하면 웹 사이트와 분산 애플리케이션을 구성하는 다양한 서비스에서 요청이 사용됨에 따라 고유한 ID별로 요청을 추적할 수 있습니다. 고유한 추적 식별자를 사용하여 애플리케이션 스택에서 모든 성능 또는 타이밍 문제를 개별 요청별로 세분화하여 확인할 수 있습니다.

    웹 애플리케이션 방화벽
    AWS WAF를 사용해 Application Load Balancer의 웹 애플리케이션을 보호할 수 있습니다. AWS WAF는 애플리케이션 가용성에 영향을 주거나, 보안을 위협하거나, 리소스를 과도하게 사용하는 흔한 웹 공격으로부터 웹 애플리케이션을 보호하는 데 도움이 되는 웹 애플리케이션 방화벽입니다.

  • Network Load Balancer
  • 연결 수준(계층 4)에서 작동하는 Network Load Balancer는 IP 프로토콜 데이터를 기반으로 Amazon Virtual Private Cloud(VPC) 내의 대상(Amazon EC2 인스턴스, 마이크로 서비스 및 컨테이너)으로 연결을 라우팅합니다. TCP 트래픽의 로드 밸런싱에 적합한 Network Load Balancer는 매우 짧은 지연 시간을 유지하면서 초당 수백만 개의 요청을 처리할 수 있습니다. Network Load Balancer는 가용 영역당 하나의 정적 IP 주소를 사용하면서 갑작스럽고 변동이 심한 트래픽 패턴을 처리하는 데 최적화되었습니다. Auto Scaling, Amazon EC2 Container Service(ECS) 및 Amazon CloudFormation과 같은 다른 AWS 서비스와 통합됩니다.

    주요 기능

    연결 기반 로드 밸런싱
    TCP 트래픽을 로드 밸런싱하여 연결을 대상(Amazon EC2 인스턴스, 마이크로 서비스 및 컨테이너))으로 라우팅할 수 있습니다.

    고가용성
    Network Load Balancer는 가용성이 매우 뛰어납니다. 클라이언트로부터 수신되는 트래픽을 수락하고 동일한 가용 영역 내 대상 전체에 이 트래픽을 분산합니다. 또한, 로드 밸런서는 등록된 대상의 상태를 모니터링하고 정상 대상으로만 트래픽을 라우팅합니다. 로드 밸런서가 비정상 대상을 감지하면, 해당 대상으로 트래픽 라우팅을 중단하고 나머지 정상 대상으로 트래픽을 다시 라우팅합니다. 한 가용 영역의 모든 대상이 비정상이고 다른 가용 영역에 대상을 설정해둔 경우 Network Load Balancer는 자동으로 장애 조치하여 다른 가용 영역에 있는 정상 대상으로 트래픽을 라우팅합니다.

    높은 처리량
    Network Load Balancer는 트래픽 증가를 처리할 수 있도록 설계되었으며 초당 수백만 개의 요청을 로드 밸런싱할 수 있습니다. 또한, 갑작스럽고 변동이 심한 트래픽 패턴도 처리할 수 있습니다.

    짧은 지연 시간
    Network Load Balancer는 지연 시간에 민감한 애플리케이션을 위해 매우 짧은 지연 시간을 제공합니다.

    소스 IP 주소 유지
    Network Load Balancer는 클라이언트 측 소스 IP를 유지하므로 백엔드가 클라이언트의 IP 주소를 확인할 수 있습니다. 그런 다음 추가 처리를 위해 애플리케이션에서 이를 사용할 수 있습니다.

    정적 IP 지원
    Network Load Balancer는 애플리케이션이 로드 밸런서의 프런트 엔드 IP로 사용할 수 있는 가용 영역(서브넷)별로 정적 IP를 자동으로 제공합니다.

    탄력적 IP 지원
    Network Load Balancer를 사용하면 가용 영역(서브넷)별로 탄력적 IP를 지정하여 자체 고정 IP를 제공할 수 있는 옵션이 제공됩니다.

    상태 확인
    Network Load Balancer는 네트워크 및 애플리케이션 대상 둘 다에 대한 상태 확인을 지원합니다. 네트워크 수준 상태는 정상 트래픽에 대한 대상의 전반적인 응답을 기반으로 합니다. 대상이 새로운 연결에 응답할 수 없거나 너무 느린 경우 로드 밸런서가 대상을 사용 불가로 표시합니다. 애플리케이션 수준 상태 확인은 좀 더 세부적으로 사용할 수 있습니다. 해당 대상의 특정 URL을 주기적으로 조사하여 실제 애플리케이션의 상태를 통합할 수 있습니다. 빠른 진단과 강력한 디버깅을 위해 상태 확인에 대한 완전한 가시성과 장애가 발생하는 이유가 Network Load Balancer API의 ‘reason codes’와 대상 상태 확인에 연결된 Amazon CloudWatch 지표를 통해 제공됩니다.

    DNS 장애 조치
    Network Load Balancer에 등록된 정상 대상이 없거나 해당 영역의 Network Load Balancer 노드가 비정상인 경우, Amazon Route 53이 다른 가용 영역에 있는 로드 밸런서 노드로 트래픽을 보냅니다.

    Amazon Route 53과 통합
    Network Load Balancer가 응답하지 않는 경우, Route 53과의 통합이 서비스에서 사용할 수 없는 로드 밸런서 IP 주소를 제거하고 트래픽을 다른 리전에 있는 대체 Network Load Balancer로 보냅니다.

    AWS 서비스와 통합
    Network Load Balancer는 Auto Scaling, Elastic Container Service(ECS), CloudFormation, Elastic BeanStalk, CloudWatch, Config, CloudTrail 및 CodeDeploy와 같은 다른 AWS 서비스와 통합됩니다.

    수명이 긴 TCP 연결
    Network Load Balancer는 WebSocket 유형의 애플리케이션에 적합한 수명이 긴 TCP 연결을 지원합니다.

    중앙 API 지원
    Network Load Balancer는 Application Load Balancer와 동일한 API를 사용합니다. 따라서 동일한 Amazon EC2 인스턴스의 여러 포트에 걸쳐 대상 그룹, 상태 확인 및 로드 밸런싱을 수행하여 중앙 집중식 애플리케이션을 지원할 수 있습니다.

    강력한 모니터링 및 감사
    Amazon CloudWatch는 Network Load Balancer 지표를 보고합니다. CloudWatch는 활성 흐름 수, 정상 호스트 수, 새로운 흐름 수, 처리된 바이트 등과 같은 지표를 제공합니다. Network Load Balancer는 AWS CloudTrail과도 통합됩니다. CloudTrail은 Network Load Balancer에 수행되는 API 호출을 추적합니다.

    향상된 로깅
    흐름 로그 기능을 사용하여 로드 밸런서로 전송된 모든 요청을 기록할 수 있습니다. 흐름 로그는 VPC의 네트워크 인터페이스에서 송수신되는 IP 트래픽에 대한 정보를 캡처합니다. 흐름 로그 데이터는 Amazon CloudWatch Logs를 사용하여 저장됩니다.

    영역 격리
    Network Load Balancer는 단일 영역의 애플리케이션 아키텍처를 위해 설계되었습니다. 한 가용 영역에 있는 무언가에 장애가 발생하면 자동으로 다른 정상 가용 영역으로 장애 조치됩니다. 고객이 여러 AZ에 로드 밸런서와 대상을 구성하여 고가용성을 확보하도록 권장하지만, 단일 가용 영역에 Network Load Balancer를 활성화하여 영역 격리가 필요한 아키텍처를 지원할 수 있습니다.

  • Classic Load Balancer
  • Classic Load Balancer는 여러 Amazon EC2 인스턴스에서 기본적인 로드 밸런싱을 제공하며, 요청 수준 및 연결 수준에서 작동합니다. Classic Load Balancer는 EC2-Classic 네트워크 내에 구축된 애플리케이션용입니다. Virtual Private Cloud(VPC)를 사용할 때는 계층 7에는 Application Load Balancer 그리고 계층 4에는 Network Load Balancer를 사용하는 것이 좋습니다.

    주요 기능

    고가용성
    수신되는 트래픽을 단일 가용 영역 또는 여러 가용 영역의 Amazon EC2 인스턴스 전체에 걸쳐 배포할 수 있습니다. Classic Load Balancer는 수신되는 애플리케이션 트래픽에 대응하여 요청 처리 용량을 자동으로 조정합니다.

    상태 확인
    Classic Load Balancer는 Amazon EC2 인스턴스의 상태를 감지할 수 있습니다. 비정상 EC2 인스턴스를 감지한 경우, 더 이상 해당 인스턴스로 트래픽을 라우팅하지 않고 나머지 정상 인스턴스 전체로 로드를 분배합니다.

    보안 기능
    Amazon Virtual Private Cloud(VPC)를 사용할 경우 Classic Load Balancer와 연결된 보안 그룹을 생성 및 관리하여 추가 네트워킹 및 보안 옵션을 제공할 수 있습니다. 또한 퍼블릭 IP 주소 없이 Classic Load Balancer를 생성하여 인터넷에 연결되지 않은 내부 로드 밸런서로 사용할 수 있습니다.

    SSL 오프로드
    Classic Load Balancer는 애플리케이션 인스턴스의 SSL 복호화 오프로드, 중앙 집중식 SSL 인증서 관리, 퍼블릭 키 인증(선택 사항)을 사용한 백엔드 인스턴스 암호화 등 SSL 종료를 지원합니다. 유연한 암호 지원을 사용하면 로드 밸런서가 클라이언트에게 제공하는 암호 및 프로토콜을 제어할 수 있습니다.

    고정 세션
    Classic Load Balancer는 쿠키를 사용하여 사용자 세션을 특정 EC2 인스턴스에 고정시키는 기능을 지원합니다. 사용자가 애플리케이션에 액세스하는 동안 트래픽은 동일한 인스턴스로 라우팅됩니다.

    IPv6 지원
    Classic Load Balancer는 EC2-Classic 네트워크에서 인터넷 프로토콜 버전 4 및 6(IPv4 및 IPv6)을 모두 사용할 수 있도록 지원합니다.

    계층 4 또는 계층 7 로드 밸런싱
    HTTP/HTTPS 애플리케이션을 로드 밸런싱하고 X-Forwarded 및 고정 세션과 같은 계층 7 전용 기능을 사용할 수 있습니다. 또한 TCP 프로토콜만 사용하는 애플리케이션에 대해 엄격한 계층 4 로드 밸런싱을 사용할 수 있습니다.

    운영 모니터링
    요청 수 및 요청 지연 시간과 같은 Classic Load Balancer 지표는 Amazon CloudWatch에서 보고합니다.

    로깅
    액세스 로그 기능을 사용하여 로드 밸런서로 전송된 요청을 모두 기록하고 이후 분석을 위해 Amazon S3에 로그를 저장합니다. 로그는 애플리케이션 장애 진단 및 웹 트래픽 분석에 유용합니다. AWS CloudTrail을 사용하여 계정에 대한 Classic Load Balancer API 호출을 기록하고 로그 파일을 전달할 수 있습니다. API 호출 기록을 사용하면 보안 분석, 리소스 변경 사항 추적, 규정 준수 감사를 수행할 수 있습니다.

Product-Page_Standard-Icons_01_Product-Features_SqInk
시작하는 방법을 알아보기

시작 안내서와 동영상 리소스를 살펴봅니다.

자세히 알아보기 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다. 

가입하기 
Product-Page_Standard-Icons_03_Start-Building_SqInk
AWS 콘솔에서 구축 시작

AWS 콘솔에서 Elastic Load Balancing를 시작할 수 있습니다.

로그인