Elastic Load Balancing
Application Load Balancer

Application Load Balancer란 무엇입니까?

Elastic Load Balancing은 Application Load Balancer, Network Load Balancer, Classic Load Balancer의 세 가지 유형의 로드 밸런서를 지원합니다. 이 안내서에서는 Application Load Balancer에 대해 설명합니다. Network Load Balancer에 대한 자세한 내용은 Network Load Balancer 사용 설명서 단원을 참조하십시오. Classic Load Balancer에 대한 자세한 내용은 Classic Load Balancer 사용 설명서 단원을 참조하십시오.

Application Load Balancer 구성 요소

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

리스너는 사용자가 구성한 프로토콜 및 포트를 사용하여 클라이언트의 연결 요청을 확인하고, 사용자가 정의한 규칙에 따라 하나 이상의 대상 그룹에 요청을 전달합니다. 각 규칙은 대상 그룹, 조건 및 우선 순위를 지정합니다. 조건이 충족되면 대상 그룹으로 트래픽이 전달됩니다. 각 리스너에 대한 기본 규칙을 정의해야 하며 요청 콘텐츠를 기반으로 다른 대상 그룹을 지정하는 규칙을 추가할 수 있습니다(콘텐츠 기반 라우팅이라고도 함).

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

다음 다이어그램은 기본 구성 요소를 보여 줍니다. 각 리스너에는 기본 규칙이 포함되어 있고 하나의 리스너에는 요청을 다른 대상 그룹으로 라우팅하는 다른 규칙이 포함되어 있습니다. 하나의 대상은 두 개의 대상 그룹에 등록됩니다.


                기본 Application Load Balancer의 구성 요소

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

Application Load Balancer 개요

Application Load Balancer는 개방형 시스템 간 상호 연결(OSI) 모델의 일곱 번째 계층인 애플리케이션 계층에서 작동합니다. 로드 밸런서는 요청을 받으면 우선 순위에 따라 리스너 규칙을 평가하여 적용할 규칙을 결정한 다음, 규칙 작업의 대상 그룹에서 대상을 선택합니다. 애플리케이션 트래픽의 콘텐츠를 기반으로 다른 대상 그룹에 요청을 라우팅하도록 리스너 규칙을 구성할 수 있습니다. 대상이 여러 개의 대상 그룹에 등록이 된 경우에도 각 대상 그룹에 대해 독립적으로 라우팅이 수행됩니다.

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

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

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

Classic Load Balancer에서 마이그레이션하는 것의 장점

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

  • 경로 기반 라우팅을 지원합니다. 요청의 URL을 기반으로 요청을 전달하는 리스너에 대한 규칙을 구성할 수 있습니다. 이를 통해 애플리케이션을 규모가 더욱 작은 서비스로 구성하고, URL 콘텐츠를 기반으로 요청을 올바른 서비스로 라우팅할 수 있습니다.

  • 호스트 기반 라우팅을 지원합니다. HTTP 헤더의 호스트 필드를 기반으로 요청을 전달하는 리스너에 대한 규칙을 구성할 수 있습니다. 따라서 단일 로드 밸런서를 사용하여 여러 개의 도메인에 요청을 라우팅할 수 있습니다.

  • 표준 또는 사용자 지정 HTTP 헤더 및 메서드, 쿼리 파라미터, 소스 IP 주소 같은 요청의 필드를 기반으로 하는 라우팅을 지원합니다.

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

  • 한 URL에서 다른 URL로 요청을 리디렉션하는 작업을 지원합니다.

  • 사용자 지정 HTTP 응답 회신을 지원합니다.

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

  • Lambda 함수를 대상으로 등록하는 작업을 지원합니다.

  • 요청을 라우팅하기 전에 기업 또는 소셜 자격 증명을 통해 애플리케이션의 사용자를 인증할 수 있도록 로드 밸런서를 지원합니다.

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

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

  • 액세스 로그는 추가 정보를 포함하며 압축된 형식으로 저장됩니다.

  • 로드 밸런서 성능을 개선합니다.

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

시작하는 방법

Application Load Balancer를 생성하려면 다음 자습서 중 하나를 시도해 보십시오.

Elastic Load Balancing은 다음 서비스를 통해 애플리케이션의 가용성 및 확장성을 개선합니다.

  • Amazon EC2 — 클라우드에서 애플리케이션을 실행하는 가상 서버입니다. 로드 밸런서를 구성하여 EC2 인스턴스에 트래픽을 라우팅할 수 있습니다.

  • Amazon EC2 Auto Scaling — 인스턴스에 장애가 발생하더라도 원하는 수의 인스턴스를 실행하고 인스턴스의 수요가 변경되면 자동으로 인스턴스 수를 늘리거나 줄일 수 있게 해 줍니다. Elastic Load Balancing,과 함께 Auto Scaling을 활성화하는 경우, Auto Scaling이 시작한 인스턴스는 자동으로 로드 밸런서에 등록되고 Auto Scaling이 종료하는 인스턴스는 자동으로 로드 밸런서에서 등록 취소됩니다.

  • AWS Certificate Manager — HTTPS 리스너를 생성할 때 ACM에서 제공한 인증서를 지정할 수 있습니다. 로드 밸런서는 인증서를 사용하여 연결을 종료하고 클라이언트의 요청을 암호화 해제합니다. 자세한 내용은 SSL 인증서 단원을 참조하십시오.

  • Amazon CloudWatch — 로드 밸런서를 모니터링하고 필요에 따라 조치를 취할 수 있게 해 줍니다. 자세한 내용은 Application Load Balancer를 위한 CloudWatch 지표 단원을 참조하십시오.

  • Amazon ECS — EC2 인스턴스 클러스터에서 Docker 컨테이너를 실행, 중단 및 관리 가능합니다. 로드 밸런서를 구성하여 컨테이너에 트래픽을 라우팅할 수 있습니다. 자세한 내용은 Amazon Elastic Container Service Developer Guide에서 서비스 로드 밸런싱을 참조하십시오.

  • Route 53 — 도메인 이름(예: www.example.com)을 컴퓨터를 사용하여 서로 연결해주는 숫자로 된 IP 주소(예: 192.0.2.1)로 변환하여 방문자를 안정적이며 비용 효율적으로 웹 사이트로 라우팅하도록 합니다. AWS는 로드 밸런서와 같은 사용자의 AWS 리소스에 URL을 배정합니다. 그러나 기억하기 쉬운 URL이 필요한 경우도 있습니다. 예를 들어 도메인 이름을 로드 밸런서로 매핑할 수 있습니다.

  • AWS WAF — Application Load Balancer와 함께 AWS WAF를 사용하여 웹 ACL(웹 액세스 제어 목록)의 규칙에 따라 요청을 허용하거나 차단할 수 있습니다. 자세한 내용은 Application Load Balancer 및 AWS WAF 단원을 참조하십시오.

로드 밸런서와 통합된 서비스에 대한 정보를 보려면 AWS Management 콘솔에서 로드 밸런서를 선택하고 Integrated services(통합 서비스) 탭을 선택합니다.

요금

로드 밸런서에서는 사용한 만큼만 지불하면 됩니다. 자세한 내용은 Elastic Load Balancing 요금을 참조하십시오.