AWS 로드 밸런서&WAF

송성우·2024년 10월 4일

캐시 서버를 리팩토링하며 클라우드를 사용해보기로 했다.
팀원과 정한 요구사항:
1. 로드 밸런서 단에서 서버의 상태체크(서버에 문제가 있다면 요청 가지고 있기)
2. 다량의 요청이 한번에 오는 것을 막자.

-> 이러한 부분을 해결하기 위해 aws 클라우드에서 로드 밸런서와 WAF를 사용해 보았다.


  • 구성도

1. 인스턴스 생성

먼저 EC2는 ubuntu로 생성했다.

2. 대상그룹 설정

먼저 대상그룹이란 AWS ELB(Elastic Load Balancing)의 구성 요소이다.
로드 밸런서가 트래픽을 전달할 대상(EC2 인스턴스, IP 주소, Lambda 함수 등)을 정의
대상의 상태를 주기적으로 확인하는 헬스 체크 기능을 제공

  • 기본 구성

EC2와 연결하기 때문에 인스턴스를 선택

  • 상태 검사 설정

3. 로드밸런서 생성

로드 밸런서는 서버에 트래픽을 분산 시켜주는 역할을 한다. 동일한 애플리케이션이 구동되는 둘 이상의 서버를 묶어 사용자로부터 들어오는 요청을 중간에서 관리해준다.

  • Application Load Balancer (ALB)
    작동 계층: OSI 7계층 (애플리케이션 계층)
    특징:
    HTTP/HTTPS 트래픽에 최적화
    고급 라우팅 기능 (경로 기반, 호스트 기반)
    WebSocket 및 HTTP/2 지원

사용 사례: 마이크로서비스, 컨테이너 기반 애플리케이션

  • Network Load Balancer (NLB)

작동 계층: OSI 4계층 (전송 계층)
특징:
초저지연, 고성능 처리
고정 IP 지원
TCP, UDP, TLS 트래픽 처리

사용 사례: 고성능이 필요한 TCP/UDP 기반 애플리케이션

  • Classic Load Balancer (CLB)
    레거시 로드 밸런서 (새로운 구현에는 권장되지 않음)
    HTTP, HTTPS, TCP, SSL 지원

여기서는 ALB를 사용하였다.

4. WAF 설정

간단하게 1. 특정시간 당 전체 트래픽에 대하여 제한, 2. 특정 트래픽이 특정 시간동안 얼마나 오냐에 따라 제한

  • 업로드중..

Reference

AWS WAF 운영에 대한 이야기

profile
소통을 지향하며 성장하는 것이 목표입니다.

0개의 댓글