티스토리 뷰

로드 밸런서(Load Balancer)

서버에 가해지는 트래픽을 여러대의 서버에게 균등하게 분산시켜주는 역할을 함

로드밸런서를 이용해 여러대의 서버를 하나로 묶으면 하나의 EndPoint 네임서버로 접속할 수 있다.


web이라는 이름의 퍼블릭 인스턴스를 생성

보안그룹은 다음과 같다.

apt -y update && apt -y install nginx
systemctl enable --now nginx
echo web server 1 > index.html

서비스가 잘 되면 인스턴스 중지후 이미지화를 한다.

 

이름과 설명을 입력하고 생성하면 된다. 생성이 완료되면

 

web-1인스턴스는 pub-sub1서브넷 할당

web-2인스턴스는 pub-sub2서브넷 할당

보안정책이나 나머지는 동일

 

구별을 위해 web-2인스턴스의 html파일의 내용을 바꿔줄 것이다.

vi /var/www/html/index.html
# web-2에 접속해서 index파일의 내용을 web server 1 에서 web server 2로 수정

이러면 로드밸런서의 엔드포인트 접속시 web server 1, web server 2가 반복되며 나타날 것 이다.

 

로드밸런서 탭으로 이동해서 로드밸런서 생성을 클릭

이런식으로 뜬다.(만약 다르게 나온다면 탭에 New EC2 Experience부분을 ON 해주자.)

이렇게...

ALB와 NLB의 차이점은 다음과 같다.

ALB

  1. ALB는 L7단의 로드 밸런서를 지원한다.
  2. ALB는 HTTP/HTTPS 프로토콜의 헤더를 보고 적절한 패킷으로 전송한다.
  3. ALB는 IP주소 + 포트번호 + 패킷 내용을 보고 스위칭한다.
  4. ALB는 IP 주소가 변동되기 때문에 Client에서 Access 할 ELB의 DNS Name을 이용한다.
  5. ALB는 L7단을 지원하기 때문에 SSL 적용이 가능함.

NLB

  1. NLB는 L4단의 로드 밸런서를 지원한다.
  2. NLB는 TCP/IP 프로토콜의 헤더를 보고 적절한 패킷으로 전송한다.
  3. NLB는 IP + 포트번호를 보고 스위칭한다.
  4. NLB는 할당한 Elastic IP를 Static IP로 사용이 가능하여 DNS Name과 IP주소 모두 사용이 가능하다.
  5. NLB는 SSL 적용이 인프라 단에서 불가능하여 애플리케이션에서 따로 적용해 주어야 한다.

ALB는 주로 웹 애플리케이션을 연결할 때 사용된다. EC2 인스턴스(혹은 도커 이미지) 앞단에서 사용자의 HTTP(S) 요청에 대한 부하 분산을 처리한다.

NLB는 Private한 환경에서 부하 분산을 처리할 때 사용된다. VPC처럼 서버가 Private IP로 구성된 환경에서 트래픽을 분산처리할 목적으로 쓴다.. 

 

이 중에서 ALB방식으로 진행하겠다.(NLB도 동일하게 진행 가능)

 

 

public 인스턴스들을 로드밸런싱 하기 때문에 Internet-facing 선택

ap-northeast-2a에 있는 pub-sub1, ap-northeast-2c에 있는 pub-sub2 영역에서 로드밸런싱 할 것이다.

타겟그룹을 생성한다.

 

 

타겟그룹 생성 후 다시 로드밸런스 생성으로 돌아와서

 

 

 

 

 

# 번갈아가면서 웹페이지가 다르게 뜨면 맞게 구성한 것이다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함