로드 밸런싱
은 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법이다.부하(=로드)
를 분산(=밸런싱)
해 주는 장치 또는 기술을 말한다. L4 로드밸런서
와 L7 로드 밸런서
가 존재한다.📌 L4 로드 밸런서와 L7 로드밸런서 비교
L4 로드 밸런서 | L7 로드 밸런서 | |
---|---|---|
네트워크 계층 | Layer 4 전송 계층 | Layer 7 응용 계층 |
특징 | TCP/UDP 포트 정보를 바탕으로 함 | TCP/UDP 정보는 물론 HTTP의 URL, FTP의 파일명, 쿠키 정보 등을 바탕으로 함 |
장점 | - 데이터 안을 들여다보지 않고 패킷 레벨에서만 로드를 분산해서 속도가 빠르고 효율이 높음 - 데이터 내용을 복호화할 필요가 없기 때문에 안전함 - 가격이 저렴함 | - 상위 계층에서 로드를 분산하기 때문에 훨씬 더 섬세한 라우팅이 가능함 - 캐싱 기능을 제공함 - 비정상적인 트래픽을 사전에 필터링 할 수 있어 서비스의 안정성이 높음 |
단점 | - 패킷의 내용을 살펴볼 수 없어 섬세한 라우팅이 불가능함 - 사용자의 IP가 수시로 바뀌는 경우라면 연속적 서비스 제공 불가 | - 패킷의 내용을 복호화해야 하기 때문에 더 높은 비용을 지불해야 함 - 클라이언트가 로드밸런서와 인증서를 공유해야 하기 때문에 공격자가 로드밸런서를 통해 클라이언트의 데이터에 접근할 보안 상의 위험 존재 |
로드 밸런서
를 사용하기 위해서는 먼저 대상 그룹
을 설정해 주어야 한다.로드 밸런서
는 대상 그룹
에 대해 지정한 프로토콜과 포트 번호를 사용해 등록된 대상으로 요청을 전송하거나 대상 그룹에 각 대상을 등록할 때 포트를 재정의할 수 있다.EC2
의 목록에서 로드 밸런싱
->대상 그룹
으로 이동한다.인스턴스
, IP Address
, Application Load Balancer
를 선택할 경우 VPC
를 기준으로 타깃을 입력하며 포트 번호와 프로토콜 방식을 입력 및 선택해 주어야 한다.대상 그룹 생성
을 버튼을 누르면 다음과 같이 타깃들을 선택한 대상 그룹
이 생성되어 목록에 뜨게 된다.로드 밸런서 생성
으로 가게 되면 세 가지의 로드 밸런서 유형
이 뜨게 되고 그 중 생성을 원하는 로드 밸런서 유형을 선택해야 한다. 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
Load Balancer의 이름
을 설정해 주어야 한다.내부(Internal)
을 외부와 연결되는 로드 밸런서라면 인터넷 내부가 아닌 인터넷 경계(Internet-facing)
을 선택해 주면 된다.VPC
를 입력해 주어야 한다.VPC
를 입력해 주어야 어디에 ELB를 연결할지 지정되기 때문이다. HTTP
면 HTTP
로 SSL 인증서
가 있어 HTTPS
를 인증한다면 HTTPS
를 선택하면 된다.Default action
에 이전에 생성해 두었던 대상 그룹을 추가해 주면 된다. 다만 대상 그룹을 새로 생성하기를 원한다면 하단에 대상 그룹 생성을 누르면 된다.HTTPS
를 선택하면 다음과 같이 인증서를 입력하는 항목이 생기게 되고, ACM
을 통해서 발급받은 SSL/TLS 인증서
를 등록해 주어야 한다.