728x90
728x90
Network Load Balancer 네트워크 로드 밸런서는 TCP 기반의 로드 밸런서이다. 즉, 4계층 로드 밸런서로 TCP 나 UDP 트래픽을 받아서 인스턴스로 라우팅한다. 초당 수백만개의 요청을 처리할 수 있고, ALB 보다 레이턴시(대기시간)가 짧다. NLB 는 가용 영역 당 하나의 고정 IP 를 가지며, 탄력적 IP 할당을 지원한다. 즉 애플리케이션을 위한 전용 IP 구성을 할 수 있다는 뜻이다. NLB 를 사용할 때는 진짜 엄청난 성능을 원할 경우 사용한다. 즉, TCP 나 UDP 레벨의 트래픽을 원할 경우 NLB 는 프리티어를 지원하지 않는다. 네트워크 로드 밸런서는 4계층 즉, TCP 기반의 트래픽을 분산시킨다. ALB 처럼 타겟 그룹을 가질 수 있고, 특정 타겟 그룹으로 리다이렉션하는 ..
Application Load Balancer 실습 HTTP 와 HTTPS 유형의 Application Load Balancer 를 만들어보자. Application Load Balancer 가 어떻게 작동하는지 볼 수 있는 AWS 서비스가 있다. EC2 서비스로 들어와서 로드 밸런서 콘솔창으로 이동, 로드 밸런서를 생성해보자 Application Load Balancer 를 클릭하고 Create 버튼을 클릭한다. 이름과 스키마 IP address type 을 정하고 network mapping 을 지정하는 등 각종 설정을 할 수 있다. 이름은 DemoALB 로 짓는다. Schema 스키마에서는 Internet-facing 과 Internal 을 설정할 수 있는데, Internet-facing 로드 밸런..
Application Load Balancer 7계층 (HTTP) 로드 밸런서이다. 여러 가상 머신에서 여러 HTTP 애플리케이션으로 로드 밸런싱이 가능하다. (target groups) 동일한 가상 머신의 여러 애플리케이션으로 로드 밸런싱이 가능하다. (ex: ECS) HTTP/2 와 Websocket 을 지원한다. HTTP 에서 HTTPS 로 리다이렉션을 할 수 있다. 루트 라우팅을 지원한다. URL 기반의 라우팅이 가능, 예를 들어 example.com/users 와 example.com/posts 가 있을 때 /users 와 /posts 는 서로 다른 경로를 가진다. 그래서 이 둘을 다른 타겟 그룹으로 리다이렉션할 수 있다. URL 호스트명 기반의 라우팅이 가능, 에를 들어 로드 밸런서가 one...
HTTPS (HTTP Secure) HTTP 프로토콜의 암호화된 버전 클라이언트와 서버 간의 모든 커뮤니케이션을 암호화 하기 위하여 SSL 이나 TLS 를 사용한다. SSL (Secure Socket Layer) 넷스케이프사에서 개발한 인터넷 보안 프로토콜 TLS (Transport Layer Security) SSL 이 표준화 되면서 바뀐 이름 HTTPS 암호화 방식 클라이언트 → 서버로 랜덤 데이터와 사용 가능한 암호화 방식을 보낸다. 서버 → 클라이언트로 랜덤 데이터, 사용할 암호화 방식과 SSL 인증서를 보낸다. 클라이언트는 서버에게 받은 인증서의 CA 가 자신이 들고 있는 CA 리스트에 있는지 확인하고, 있다면 CA 의 공개키로 복호화한다. 이는 곧 CA 비밀키에 의해 암호화됐다는 것이므로 인증..
Classic Load Balancer(CLB) CLB 는 TCP (4 계층), HTTP & HTTPS (7 계층) 프로토콜을 지원한다. 헬스 체크 또한 TCP 또는 HTTP 프로토콜 기반이다. 클래식 로드 밸런서는 호스트명이 고정되어 있다는 것이다. ex) XXX.region.elb.amazonaws.com HTTP listener 로 클래식 로드 밸런서에 연결하는 클라이언트와 CLB 를 통해 인스턴스에 트래픽을 리다이렉션하는 작업을 진행할 것이다. 클래식 로드 밸런서를 만들기 전에 인스턴스를 생성한다. 사용자 데이터에는 아래 처럼 작성한다. #!/bin/bash sudo yum update -y sudo yum install -y httpd sudo systemctl start httpd sudo s..
Elastic Load Balancing 로드 밸런싱이 도대체 뭘까? 로드 밸런서는 여러 백엔드 서버나 다운 스트림된 EC2 인스턴스나 수신된 트래픽을 전달하는 서버가 하나로 묶여서 ELB 에 연결된다. 그러면 Elastic Load Balancer 는 사용자가 몰려서 트래픽이 엄청나게 많이 발생할 경우 하나의 인스턴스에 트래픽이 몰리지 않게 각각의 인스턴스로 트래픽을 균형있게 분산시켜 준다. 이게 로드 밸런서가 하는 역할이다!!! 로드 밸런서는 여러 다운 스트림 인스턴스들에 대해 트래픽을 분산시켜 주고, DNS 를 앱(인스턴스)과 연결시켜 로드밸런서와 연결시켜준다. 또한, SSL 인증서를 제공해줘서 HTTPS 를 사용중인 웹 사이트와 연결할 수 있다. 여러 가용 영역에 걸쳐서 사용되기 때문에 고가용성을..