ALB(Application Load Balacner)
- Layer 7 의 HTTP 전용 로드 밸런서로 머신 간 다수 HTTP 애플리케이션의 라우팅에 사용된다.
- 머신들은 대상 그룹이라는 그룹으로 묶익 된다.
- 동일 EC2 인스턴스 상의 여러 애플리케이션에 부하를 분산한다 (컨테이너와 ECS를 사용)
- 리다이렉트를 지원하며 HTTP 또는 HTTPS 로 트래픽을 자동 리다이렉트 하려는 경우 로드 밸런서 레벨에서 가능하다는 의미. ->> URL 경로에 기반한 라우팅이 가능하다. ->>> 다른 경로의 URL 을 다른 대상 그룹에 리다이렉트할 수 있다.
- + 쿼리 문자열과 헤더에 기반한 라우팅도 가능하다.
- 결론적으로 micro services 와 container 기반 애플리케이션에 가장 좋은 로드 밸런서로 도커와 ECS 경우에는 ALB ㅏ가장 적합한 로드 밸런서가 된다. -->>>> 포트 매핑 기능이 있기 때문. 즉, EC2 인스턴승,; 동적 포트로의 리다이렉션을 가능하게 해준다.
NLB(Network Load Balancer)
- NLB 는 Layer 4 계층의 로드밸런서 -> TCP 와 UDP 트래픽을 다룰 수 있다. -> HTTP 를 다루는 L7보다 하위 계층.
- NLB 는 초당 수백만 건의 요청을 처리할 수 있을 정도로 성능이 매우 높다. + ALB 에 비해 지연시간도 짧다(ALB = 400 ms, NLB = 100 ms)
- 가용 영역별로 하나의 고정 IP를 갖는다. ->>> Elastic IP 를 각 가용영역에 할당할 수 있다.
- 즉, NLB 는 고성능, TCP, UDP, 정적 IP
- 작동 방식은 ALB 와 유사하다.
1. 대상 그룹 생성
2. NLB 가 대상 그룹을 리다이렉트
3. 백엔드, 프론트엔드 모드 TCP 트래픽을 사용하거나, 백엔드에서는 HTTTP, 프론트엔드에서는 TCP 를 사용할 수 있다.
- NLB 의 대상그룹(중요)
1. NLB 가 TCP 또는 UDP 트래픽을 EC2 인스턴스로 리다이렉트할 수 있다는 뜻
--> IP 주소를 등록할 수도 있는데, IP 주소는 반드시 하드코딩되어야하고, Private IP 여야 한다.
------> 이유: 자체 EC2 인스턴스의 Private IP 를 보낼 수도 있지만 자체 데이터 센터 서버의 프라이빗 IP를 사용할 수도 있다. 즉, 둘 다 같은 NLB 를 앞에 사용할 수 있다.
2. ALB 앞에 NLB 를 사용할 수도 있다.
-> 왜? : NLB 덕분에 고정 IP 주소를 얻을 수 있고, ALB 덕분에 HTTP 유형의 트래픽을 처리하는 규칙을 얻을 수 있다. 즉, 유효한 설정 조합이다.
- NLB 는 대상 그룹이 수행하는 '상태 확인' 이다.
- 3가지 Protocols 를 지원 -> TCP, HTTP, HTTPS
GWLB(Gateway Load Balancer)
- 배포 및 확장과 AWS의 타사 네트워크 가상 어플라이언스의 fleet 관리에 사용된다.
- 네트워크의 모든 트래픽이 방화벽을 통과하게 하거나, 침입 탐지 및 방지 시스템에 사용한다.
-->> 그래서 IDPS 나 심층 패킷 분석 시스템 또는 일부 PayLoad를 수정할 수 있지만, Network 수준에서 가능하다. - 예를 들어 애플리케이션에 액세스하는 사용자가 있다고 가정 + 사용자는 ALB 를 사용하여 애플리케이션에 바로 액세스하고 트래픽은 사용자에서 ALB 와 애플리케이션으로 바로 이동한다.
-> 하지만 애플리케이션으로 이동하기 전에 모든 트래픽을 검사하려면, 어떻게 해야할까?
----->>>> 트래픽이 애플리케이션에 도달하기 전에 EC2 인스턴스와 같은 타사 가상 어플라이언스를 배포했고 트래픽의 애플리케이션에 도달 전에 트래픽을 통과하려면 원래는 많이 복잡했지만 GWLB 를 사용하면 매우 간단하다.
------>>>>> 1. GWLB 를 생성하면 이면에서는 VPC 에서 Routing Table 이 업데이트되고,
------>>>>> 2. 그러면 모든 사용자 트래픽은 GWLB 를 통과한다.
------>>>>> 3. 그리고 GWLB는 가상 어플라이언스의 대상 그룹 전반으로 트래픽을 확산한다.
------>>>>> 4. 그래서 모든 트래픽은 어플라이언스에 도달하고 어플라이언스는 트래픽을 분석하고 처리한다.
이것의 예는 방화벽이나 침입 탐지와 같은 것
------>>>>> 5. 이상이 없으면 다시 GWLB 로 보내고, 이상이 있으면, 트래픽을 드롭한다.
- GWLB 의 대상 그룹
1. EC2 인스턴스 이거나, 인스턴스 ID로 타사 어플라이언스를 등록하게 된 IP 주소는 Private IP 여야 한다.
->> 예를 들어, 자체 네트워크나 자체 데이터 센터에서 이런 가상 어플라이언스를 실행하면, IP 로 수동 등록할 수 있다. - GWLB 는 모든 로드 밸런서보다 낮은 수준에서 실행된다. (IP 패킷의 네트워크 계층인 Layer 3)
'AWS' 카테고리의 다른 글
RDS란? , RDS 읽기 전용 복제본과 다중 AZ 의 차이 (1) | 2024.10.15 |
---|---|
Cross-zone Load Balancing, SSL, Connection Draing (1) | 2024.10.14 |
EFS 의 개념과 EBS Volume 과의 차이점, Elastic Load Balancer (3) | 2024.10.11 |
EC2 Instance 의 Storage 옵션들 (0) | 2024.10.11 |
What is EC2? (보안그룹, IP, 배치그룹) (0) | 2024.10.09 |