Quantcast
Channel: Good mind
Viewing all articles
Browse latest Browse all 511

Elastic Load Balancing 제품 세부 정보

$
0
0

요청 수준(계층 7)에서 작동하는 Application Load Balancer는 요청의 콘텐츠에 따라 EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수 등의 대상으로 트래픽을 라우팅합니다. 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 인증서 관리도 제공합니다.

SNI(서버 이름 표시)
SNI(서버 이름 표시)는 TLS 핸드쉐이크 시작 시 클라이언트가 연결할 호스트 이름을 표시하는 TLS 프로토콜에 대한 확장 프로그램입니다. 로드 밸런서는 같은 보안 리스너를 통해 여러 개의 인증서를 제시할 수 있으므로 단일 보안 리스너를 사용하여 여러 개의 보안 웹 사이트를 지원하도록 할 수 있습니다. 또한, Application Load Balancer가 SNI를 사용한 스마트 인증서 선택 알고리즘을 지원합니다. 클라이언트가 표시하는 호스트 이름이 여러 인증서와 일치할 경우 로드 밸런서가 클라이언트의 기능을 포함한 여러 요소를 기반으로 사용할 최적의 인증서를 결정합니다.

IP 주소를 대상으로 사용
애플리케이션 백엔드의 IP 주소를 대상으로 사용하여 AWS 또는 온프레미스에 호스팅된 애플리케이션을 로드 밸런싱할 수 있습니다. 이를 통해 인스턴스의 모든 IP 주소 및 인터페이스에 호스팅된 애플리케이션 백엔드로 로드 밸런싱할 수 있습니다. 같은 인스턴스에 호스팅된 각 애플리케이션은 연결된 보안 그룹을 가질 수 있고 같은 포트를 사용할 수 있습니다. 또한, IP 주소를 대상으로 사용하여 온프레미스 위치(Direct Connect 또는 VPN 연결을 통해), 피어링된 VPC 및 EC2-Classic(ClassicLink 사용)에 호스팅된 애플리케이션을 로드 밸런싱할 수도 있습니다. AWS와 온프레미스 리소스에 걸쳐 로드 밸런싱할 수 있는 기능은 클라우드로 마이그레이션, 클라우드로 버스팅 또는 클라우드로 장애 조치하는 데 도움이 됩니다.

Lambda 함수를 대상으로 사용
Application Load Balancer에서 HTTP 요청을 처리하는 Lambda 함수를 호출하여 웹 브라우저를 포함한 모든 HTTP 클라이언트에서 서버리스 애플리케이션에 대한 사용자 액세스를 제공할 수 있습니다. Lambda 함수를 로드 밸런서의 대상으로 등록하고 콘텐츠 기반 라우팅 규칙에 대한 지원을 활용하여 요청을 다른 Lambda 함수로 라우팅할 수 있습니다. 서버 및 서버리스 컴퓨팅을 사용하는 애플리케이션에 대해 Application Load Balancer를 공통 HTTP 엔드포인트로 사용할 수 있습니다. Lambda 함수를 사용하여 전체 웹 사이트를 만들거나, EC2 인스턴스, 컨테이너, 온프레미스 서버 및 Lambda 함수를 결합하여 애플리케이션을 만들 수 있습니다.

고가용성
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 경로를 기반으로 클라이언트 요청을 라우팅할 수 있습니다.

HTTP 헤더 기반 라우팅
표준 또는 사용자 지정 HTTP 헤더의 값에 따라 클라이언트 요청을 라우팅할 수 있습니다.

HTTP 방법 기반 라우팅
표준 또는 사용자 지정 HTTP 방법에 따라 클라이언트 요청을 라우팅할 수 있습니다.

쿼리 문자열 파라미터 기반 라우팅
쿼리 문자열 또는 쿼리 파라미터를 기반으로 클라이언트 요청을 라우팅할 수 있습니다.

소스 IP 주소 CIDR 기반 라우팅
요청이 시작된 곳의 소스 IP 주소 CIDR을 기반으로 클라이언트 요청을 라우팅할 수 있습니다.

컨테이너식 애플리케이션 지원
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는 애플리케이션 가용성에 영향을 주거나, 보안을 위협하거나, 리소스를 과도하게 사용하는 흔한 웹 공격으로부터 웹 애플리케이션을 보호하는 데 도움이 되는 웹 애플리케이션 방화벽입니다.

로드 밸런싱 알고리즘을 사용한 느린 시작 모드
Application Load Balancer는 라운드 로빈 로드 밸런싱 알고리즘을 지원합니다. 또한, Application Load Balancer는 라운드 로빈 알고리즘을 사용한 느린 시작 모드를 지원하므로 밀려드는 요청으로 대상에 부담을 주지 않고 새로운 대상을 추가할 수 있습니다. 느린 시작 모드에서는 대상이 사용자가 지정한 램프업 기간에 따라 적절한 양의 요청을 수락하기 전에 워밍업을 수행하게 됩니다. 느린 시작은 최적의 성능으로 요청에 응답할 수 있으려면 워밍업 기간이 필요하며 캐시를 사용하는 애플리케이션에 매우 유용합니다.

사용자 인증
앱의 인증 기능을 Application Load Balancer로 오프로드할 수 있습니다. Application Load Balancer는 사용자가 클라우드 애플리케이션에 액세스할 때 안전하게 사용자를 인증합니다. Application Load Balancer는 Amazon Cognito와 원활하게 통합되므로 최종 사용자가 Google, Facebook 및 Amazon과 같은 소셜 자격 증명 공급자와 SAML을 지원하는 Microsoft Active Directory 또는 모든 OpenID Connect 호환 자격 증명 공급자(IdP)와 같은 엔터프라이즈 자격 증명 공급자를 통해 인증할 수 있습니다. OpenID Connect와 호환되는 사용자 지정 IdP 솔루션이 이미 있는 경우, Application Load Balancer가 고객의 자격 증명 공급자에 직접 연결하여 엔터프라이즈 사용자를 인증할 수도 있습니다.

리디렉션
Application Load Balancer는 하나의 URL에서 수신되는 요청을 다른 URL로 리디렉션할 수 있습니다. 여기에는 HTTP 요청을 HTTPS 요청으로 리디렉션하는 기능이 포함되어 있어, 안전한 브라우징의 규정 준수 목표를 충족하고, 사이트의 검색 순위와 SSL/TLS 점수를 높일 수 있습니다. 또한, 애플리케이션의 이전 버전에서 새로운 버전으로 리디렉션하는 등의 리디렉션 기능을 사용하여 사용자를 다른 웹 사이트로 보낼 수 있습니다.

정적 응답
Application Load Balancer는 애플리케이션에서 어떤 클라이언트 요청을 지원할지를 제어할 수 있습니다. 수신되는 요청을 애플리케이션으로 전달하지 않고도 HTTP 오류 응답 코드와 로드 밸런서 자체의 사용자 지정 오류 메시지로 해당 요청에 응답할 수 있습니다



https://aws.amazon.com/ko/elasticloadbalancing/features/#Details_for_Elastic_Load_Balancing_Products


Viewing all articles
Browse latest Browse all 511

Trending Articles