본문 바로가기
Programming 개발은 구글로/AWS

[AWS 기초] ELB(Elastic Load Balancer)

by 40대직장인 2023. 2. 2.

ELB(Elastic Load Balancer)

 

 

Elastic Load Balancing은 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수와 같은 여러 대상에 자동으로 분산시킵니다.

 

Elastic Load Balancing은 단일 가용 영역 또는 여러 가용 영역에서 다양한 애플리켕이션 부하를 처리할 수 있습니다.

 

ELB가 제공하는 세 가지 로드 밸런서는 모두 애플리케이션의 내결함성에 필요한 고가용성, 자동 확장/축소, 강력한 보안을 갖추고 있습니다.

 

  • 다수의 서비스에 트래픽을 분산시켜주는 서비스
  • Health Check: 직접 트래픽을 발생시켜 Instance가 살아있는지 확인 가능
  • Auto Scaling과 연동 가능
  • 여러 가용영역에 분산 가능
  • 지속적으로 IP 주소가 바뀌며 IP 고정 불가능: 항상 도메인 기반으로 사용

 

🟧 ELB 4가지 종류

  • ALB(Application Load Balancer): 트래픽을 모니터링하여 라우킹 가능 예) image.sample.com -> 이미지 서버로, web.sample.com -> 웹 서버로 트래픽 분산
  • NLB(Network Load Balancer): TCP 기반 빠른 트래픽 분산, Elastic IP(IP를 고정시켜주는 서비스) 할당 가능
  • CLB(Classic Load Balancer): 현재는 사용되지 않음. - 2022년 8월 15일부로 사용 중지
  • GLB(Gateway Load Balancer): 먼저 트래픽 체크, 가상 어플라이언스 배포/확장 관리를 위한 서비스

 

<GLB>

 

ALB는 라우팅 할 대상의 집합으로 Instance, IP(프라이빗 IP), Lambda, ALB(다른 ALB), 프로토콜(HTTP, HTTPS(보안), gRPC 등), 기타 설정(트래픽 분산 알고리즘, 고정 세션 등)으로 구성됩니다.

 

<ALB 대상 그룹>

 

<ALB 아키텍쳐>

 

🟦 ELB 동작 확인 방법

1. 아래의 사용자 데이터가 추가된 시작 템플릿을 새로 생성

#!/bin/bash
INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id) // 인스턴스 ID 가져오기
yum  install httpd -y                                                                                            // 웹 서버 설치
echo ""$INSTANCE_ID"" >> /var/www/html/index.html                                     // 웹 서버에 인스턴스 ID 보여주기
service httpd start                                                                                              // 웹 서버 실행

 

 

 

2. Auto Scaling  -시작 템플릿 편집에서 1번에서 생성된 시작 템플릿의 버전(버전 4 - 개인마다 다름)으로 설정 후 업데이트

 

3. Auto Scaling 그룹 크기 0-> 2로 변경

 

4. 로드 밸런싱 - 대상 그룹 생성

5. 대상 그룹 설정 

  • 대상 그룹 유형 - 인스턴스 설정
  • 대상 그룹 이름 작성 - MyWebTargetGroup
  • 프로토콜 버전 - HTTP1 설정

 

6. 대상 등록(인스턴스 2개 선택)

 

7. 로드 밸런서 유형에서 ALB로 생성

 

8. ALB 생성 관련 값 설정

 

 - 네트웨크 매핑 - 매핑에서 가용 영역 모두 선택

 

 - 보안 그룹은 defalut로 설정

 

 - 미리 생성해둔 대상 그룹으로 설정

 -  로드 밸런서 생성

 

9. 로드 밸런서 하단 정보란에서 DNS 이름을 복사

 

10. 웹 브라우저에서 복사한 DNS로 실행

 - F5 로 갱신할 때 마다 대상 그룹에 속해 있는 대상들의 인스턴스 ID가 계속 바뀌는 것을 확인할 수 있습니다.

 

 


출처: AWS 강의실

 

 

 

댓글