ALB(Application load Balancer)

은채의 성장통·2025년 2월 6일
0

AWS

목록 보기
26/79

Application Load Balancer (ALB) 개요

  • Application Load Balancer (ALB)는 AWS의 고급 로드 밸런싱 솔루션으로, OSI 모델의 7계층에서 작동하며 HTTP/HTTPS 트래픽을 효율적으로 처리합니다.

주요 특징

1. HTTP/HTTPS 트래픽 처리

  • ALB는 7계층에서 작동하여 웹 애플리케이션 트래픽을 세밀하게 관리합니다.

2. 다중 애플리케이션 지원

  • 동일한 EC2 인스턴스 상의 여러 애플리케이션에 트래픽을 분산시킬 수 있습니다.예시:

`text단일 EC2 인스턴스:

  • 포트 80: 웹 서버
  • 포트 8080: API 서버
  • 포트 9000: 관리 인터페이스`

3. 고급 라우팅 기능

URL 기반 라우팅

  • 요청의 URL 경로에 따라 다른 대상 그룹으로 트래픽을 라우팅합니다.예시:

text/api/* → API 서버 대상 그룹 /admin/* → 관리 서버 대상 그룹 /* → 기본 웹 서버 대상 그룹

호스트 기반 라우팅

  • HTTP 헤더의 호스트 필드를 기반으로 라우팅합니다.예시:

textapi.example.com → API 서버 대상 그룹 admin.example.com → 관리 서버 대상 그룹 www.example.com → 웹 서버 대상 그룹

쿼리 문자열 기반 라우팅

URL의 쿼리 파라미터를 기반으로 라우팅합니다.예시:

textexample.com?language=ko → 한국어 버전 대상 그룹 example.com?language=en → 영어 버전 대상 그룹

4. 포트 매핑

  • 인스턴스의 다른 포트로 트래픽을 전달할 수 있습니다.예시:

textALB 포트 80 → EC2 인스턴스 포트 8080

대상 그룹 (Target Group)

  • 대상 그룹은 ALB가 요청을 라우팅할 대상들의 논리적 그룹입니다.구성 요소:
  • EC2 인스턴스
  • ECS (Elastic Container Service) 태스크
  • Lambda 함수
  • IP 주소 (반드시 프라이빗 IP)

예시:

`text웹 서버 대상 그룹:

  • EC2 인스턴스 1 (10.0.1.10:80)
  • EC2 인스턴스 2 (10.0.1.11:80)

API 서버 대상 그룹:

  • ECS 태스크 1 (10.0.2.10:8080)
  • ECS 태스크 2 (10.0.2.11:8080)

백엔드 처리 대상 그룹:

  • Lambda 함수 "process-data"`

추가 개념

리스너

  • 지정된 프로토콜과 포트를 사용하여 연결 요청을 확인합니다.예시:

textHTTP:80 HTTPS:443

규칙

  • 리스너에 연결된 규칙은 요청을 어떤 대상 그룹으로 라우팅할지 결정합니다.예시:

text규칙 1: If path is /api/*, Then forward to API 서버 대상 그룹 규칙 2: If host is admin.example.com, Then forward to 관리 서버 대상 그룹 규칙 3: If true, Then forward to 기본 웹 서버 대상 그룹

상태 확인

  • ALB는 주기적으로 대상의 상태를 확인하여 트래픽을 정상 대상으로만 라우팅합니다.예시:

text프로토콜: HTTP 경로: /health 포트: 80 간격: 30초 임계값: 2

SSL/TLS 종료

  • ALB에서 SSL/TLS 암호화를 처리하고, 백엔드로는 암호화되지 않은 트래픽을 전송할 수 있습니다.예시:

text클라이언트 → ALB: HTTPS (443) ALB → 백엔드: HTTP (80)

profile
인생 별거 없어

0개의 댓글