[AWS] Elastic Load Balancer (ELB) 로드 밸런서 생성

·2023년 5월 16일
0

AWS

목록 보기
7/11
post-thumbnail

1. 로드 밸런서(Load Balancer)이란?

  • 로드 밸런싱은 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법이다.
  • 서버에 가해지는 부하(=로드)분산(=밸런싱)해 주는 장치 또는 기술을 말한다.
  • L4 로드밸런서L7 로드 밸런서가 존재한다.

📌 L4 로드 밸런서와 L7 로드밸런서 비교

L4 로드 밸런서L7 로드 밸런서
네트워크 계층Layer 4 전송 계층Layer 7 응용 계층
특징TCP/UDP 포트 정보를 바탕으로 함TCP/UDP 정보는 물론 HTTP의 URL, FTP의 파일명, 쿠키 정보 등을 바탕으로 함
장점- 데이터 안을 들여다보지 않고 패킷 레벨에서만 로드를 분산해서 속도가 빠르고 효율이 높음
- 데이터 내용을 복호화할 필요가 없기 때문에 안전함
- 가격이 저렴함
- 상위 계층에서 로드를 분산하기 때문에 훨씬 더 섬세한 라우팅이 가능함
- 캐싱 기능을 제공함
- 비정상적인 트래픽을 사전에 필터링 할 수 있어 서비스의 안정성이 높음
단점- 패킷의 내용을 살펴볼 수 없어 섬세한 라우팅이 불가능함
- 사용자의 IP가 수시로 바뀌는 경우라면 연속적 서비스 제공 불가
- 패킷의 내용을 복호화해야 하기 때문에 더 높은 비용을 지불해야 함
- 클라이언트가 로드밸런서와 인증서를 공유해야 하기 때문에 공격자가 로드밸런서를 통해 클라이언트의 데이터에 접근할 보안 상의 위험 존재


2. 로드 밸런서 생성하기

1) 대상 그룹 생성

  • 로드 밸런서를 사용하기 위해서는 먼저 대상 그룹을 설정해 주어야 한다.
  • 로드 밸런서대상 그룹에 대해 지정한 프로토콜과 포트 번호를 사용해 등록된 대상으로 요청을 전송하거나 대상 그룹에 각 대상을 등록할 때 포트를 재정의할 수 있다.
  • 먼저 EC2의 목록에서 로드 밸런싱->대상 그룹으로 이동한다.
  • 그러면 다음과 같이 대상 그룹의 목록과 대상 그룹을 생성할 수 있는 버튼이 나오게 된다.
  • 대상 그룹은 타깃의 타입을 선택할 수 있는데 인스턴스, IP Address, Application Load Balancer를 선택할 경우 VPC를 기준으로 타깃을 입력하며 포트 번호와 프로토콜 방식을 입력 및 선택해 주어야 한다.
  • 타깃을 입력한 후 대상 그룹 생성을 버튼을 누르면 다음과 같이 타깃들을 선택한 대상 그룹이 생성되어 목록에 뜨게 된다.

2) 로드 밸런서 유형 선택

  • 로드 밸런서 생성으로 가게 되면 세 가지의 로드 밸런서 유형이 뜨게 되고 그 중 생성을 원하는 로드 밸런서 유형을 선택해야 한다.
  • 애플리케이션 계층에서의 라우팅이 필요했기 때문에 Application Load Balancer를 선택해 주었다.

📌 로드 밸런서 유형


1) Network Load Balancer

  • IP 대역에서 Load Balancer를 하기 위해서는 Network Load Balancer를 사용한다.
  • 전송 계층 (TCP/SSL)에서 라우팅을 결정한다. (4 Layer)
  • 유동적인 IP(Elastic IP)만 있는 서비스를 고정 IP(Static IP)로 사용이 가능하다.


    2) Application Load Balancer
  • 애플리케이션 계층 (HTTP/HTTPS)에서 라우팅을 결정한다. (7 Layer)
  • 경로 기반 라우팅을 지원한다.
  • 단순 부하 분산뿐만 아니라 HTTP의 헤더 정보를 이용해 부하 분산을 실시한다. HTTP의 헤더 값을 보고 이 요청을 어느 대상 그룹에 보낼지를 판단할 수 있다.
  • SSL 인증서를 탑재할 수 있어 대상 그룹의 EC2를 대신해 SSL 암호화와 복호화를 대신 진행할 수 있다.


    3) Gateway Load Balancer
  • 방화벽, 침입 탐지 및 방지 시스템, 심층 패킷 검사 시스템과 같은 가상 어플라이언스를 배포, 확장 및 관리할 수 있다.
  • 투명한 네트워크 게이트웨이를 결합하고, 수요에 따라 가상 어플라이언스를 조정하면서 트래픽을 분산한다.
  • 오픈 시스템 상호 연결(OSI) 모델의 세 번째 계층인 네트워크 계층에서 작동한다.


    참고: https://aws-hyoh.tistory.com/128

3) 기본 구성 선택

  • 먼저 Load Balancer의 이름을 설정해 주어야 한다.
  • 인터넷 내부에서 사용할 로드 밸런서라면 내부(Internal)을 외부와 연결되는 로드 밸런서라면 인터넷 내부가 아닌 인터넷 경계(Internet-facing)을 선택해 주면 된다.

4) 가용 영역 선택

  • VPC를 입력해 주어야 한다.
  • VPC를 입력해 주어야 어디에 ELB를 연결할지 지정되기 때문이다.

5) 리스너 선택

  • HTTPHTTPSSL 인증서가 있어 HTTPS를 인증한다면 HTTPS를 선택하면 된다.
  • 이 과정에서 저 Default action에 이전에 생성해 두었던 대상 그룹을 추가해 주면 된다. 다만 대상 그룹을 새로 생성하기를 원한다면 하단에 대상 그룹 생성을 누르면 된다.
  • HTTPS를 선택하면 다음과 같이 인증서를 입력하는 항목이 생기게 되고, ACM을 통해서 발급받은 SSL/TLS 인증서를 등록해 주어야 한다.

6) 로드 밸런서 생성

  • 이후 로드 밸런서 생성을 누르면 로드 밸런서가 생성된다.
profile
송의 개발 LOG

0개의 댓글