해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

로드 밸런싱


스케일링 => 많은 인스턴스를 확보하고 고가용성 확보하는 서비스

Load Balancing

로드 밸런싱

  • 모든 인스턴스를 접속하기 위해서는 IP를 다 알고 있어야 됨.
    • 또 인스턴스가 죽고 다시 새로 생성되면 IP가 변동될 수 있음.
  • 인스턴스 관리 비용이 엄청 큼 => 부하 분산 서비스가 필요(ELB)
  • 통신 트래픽 알아서 분산, 부하를 분배해주는 서비스

ELB


Elastic Load Balancing은 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수와 같은 여러 대상에 자동으로 분산시킵니다. Elastic Load Balancing은 단일 가용 영역 또는 여러 가용영역에서 다양한 애플리케이션 부하를 처리할 수 있습니다. Elastic LoadBalancing이 제공하는 세가지 로드 밸런서는 모두 애플리케이션의 내결함성에 필요한 고가용성, 자동 확장/축소, 강력한 보안을 갖추고 있습니다.
-AWS-

Elastic Load Balancer

  • 다수의 서비스에 트래픽을 분산시켜주는 서비스
  • Health Check: 직접 트래픽을 발생시켜 Instance가 살아있는지 체크
  • Auto Scaling과 연동 가능
  • 여러 가용영역에 분산 가능
  • 지속적으로 IP 주소가 바뀌며 IP 고정 불가능: 항상 도메인 기반으로 사용
  • 총 네가지 종류
    • Application Load Balancer
      • 트래픽을 모니터링하여 라우팅
      • ex) image.sample.com -> 이미지 서버
        web.sample.com -> 웹 서버로 트래픽 분산(클라이언트가 접속한 주소에 맞게)
    • Network Load Balancer
      • TCP 기반 빠른 트래픽 분산
      • Elastic IP 할당 가능 => IP 고정 역할.
    • Classic Load Balancer
      • 예전에 사용되던 타입으로 현재는 잘 사용하지 않음.
    • Gateway Load Balancer
      • 먼저 트래픽을 체크
      • 가상 어플라이언스 배포/ 확장 관리를 위한 서비스

대상 그룹

대상그룹 1
대상그룹 2

  • ALB가 라우팅할 대상의 집합
  • 구성
    • 3+1가지의 종류
      • (instance + (private)IP + Lambda) + (ALB)
    • Protocol(HTTP, HTTPS, gRPC 등)
    • 기타 설정
      • 트래픽 분산 알고리즘, 고정 세션 등

실습


1. 시작 템플릿 변경

시작 템플릿 대시보드
웹서버 띄우기 description 작성

2. 유저 데이터 작성

  1. 사용자 스크립트를 통해서 미리 정의된 템플릿이 올라가게 됨.

#!/bin/bash
INSTANCE_ID=$(curl -s http:169.254.169.254/latest/meta-data/instance-id)
yum install httpd -y
echo ""$INSTANCE_ID"" >> /var/www/html/index.html
service httpd start

유저 데이터 작성
버전 latest로 작성
대상 그룹

3. 대상그룹 생성

대상그룹 생성
대상그룹 대시보드

4. 로드 밸런서 생성

5. 오토 스케일링 그룹 편집 -> 로드 밸런싱 편집

6. 오토 스케일링에서 생성되는 모든 인스턴스는 로드 밸런싱을 타게 됨.

7. ELB의 헬스 체크를 통해서 확인

 

8. MyWebALB-218739584.ap-northeast-2.elb.amazonaws.com 로 접근하면 두개의 인스턴스에 접근

'CICD > AWS' 카테고리의 다른 글

[AWS] 사설 IP, NAT, CIDR란  (0) 2024.07.25
[AWS] Elastic File System 개념 및 실습  (3) 2024.07.24
[AWS] EC2 Auto Scaling 개념 및 실습  (1) 2024.07.23
[AWS] EC2 라이프사이클  (2) 2024.07.23
[AWS] EBS, Snapshot, AMI  (3) 2024.07.22

+ Recent posts