728x90
728x90
Elastic Load Balancer - SSL 인증서 SSL 인증은 클라이언트와 로드 밸런서 사이에 오가는 트래픽들이 암호화되어 전송되도록 한다. 즉, 데이터는 송신자와 수신자에 의해 해독될 수 있다는 뜻이다. SSL 은 Secure Sockets 계층을 나타내고 송신자와 수신자의 연결을 암호화하는데 사용한다. TLS 는 SSL 의 가장 최신 버전으로 전송 계층 보안이다. 요즘에는 SSL 보다 TLS 인증서를 주로 사용한다. 공공 SSL 인증서는 Comodo, Symantec, GoDaddy, GlobalSing 등 CA 에서 발급할 수 있다. 공공 SSL 인증서를 로드 밸런서에 연동하면 클라이언트와 로드 밸런서 사이의 데이터 통신을 암호화할 수 있게 된다. 트래픽이 암호화 되어 있지 않으면 신용 카..
Sticky Sessions (Session Affinity) 하나의 백엔드 서버 인스턴스를 복사하여 여러개의 인스턴스로 띄웠을 때 AWS 로드 밸런서는 traffic 에 따라서 인스턴스에 http request 를 분산하여 전달하기 때문에 A 서버는 session 정보를 가지고 있지만 B 서버는 가지고 있지 않을 수 있는 상황이 발생한다. 즉, 로그인을 하고 난 다음 새로고침을 했더니 로그아웃이 될 수도 있다는 뜻이다. 다중 서버 구성 시에 발생하는 문제로 AWS ELB 를 사용하고 있다면 Sticky Session 이라는 간단한 설정으로 해결할 수 있다. 다시 말해서 sticky 하게 해결한다는 것, A 라는 사용자가 X 라는 서버에서 응답을 받았다면 X 라는 서버에서 사용자에게 계속 응답을 주도록 ..
Gateway Load Balancer AWS 에서 서드 파티 제품이나 가상 어플라이언스를 관리할 때 사용한다. 예를 들어 방화벽을 설정할 때, 심층 패킷 검사 시스템이나, 페이로드를 수정해야 하는 경우에 게이트웨이 로드 밸런서를 사용한다. 사용자들이 있고 내 애플리케이션에서 접근을 하는 경우로 예를 들어보자. 사용자들이 ALB 나 CLB 같은 로드 밸런서를 통해 내 앱으로 접근을 할 수 있다. 로드 밸런서가 트래픽을 적절히 분산시키며 내 애플리케이션으로 트래픽을 보내준다. 하지만 내 애플리케이션으로 오기 전에 트래픽에 대해 어떤 검사나 중간 처리를 하고 싶은 경우가 있을 것이다. 이런 경우에는 외부에서 제공해주는 서드 파티 앱을 사용해야 하는데 게이트웨이 로드 밸런서가 없이 처리를 하려면 꽤나 복잡해진..
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 로드 밸런..