끄적끄적 아무기록

Elastic Load Balancing(ELB)

by 현생사는갓생지망생
반응형

Elastic Load Balancing



접근을 여러 대의 EC2 인스턴스로 분산하는 역할을 담당한다.


접근 분산 기능을 사용하는 목적


1. 부하 분산

대량의 접근을 여러 개의 인스턴스로 처리를 부하 분산한다.


2. 가용성 보장

1대의 인스턴스가 장애가 발생해도 다른 인스턴스로 서비스 제공을 지속할 수 있도록 한다.



ELB의 가용성


ELB는 접속 부하에 맞게 자동적으로 리소스의 확장/축소를 수행한다. 따라서 ELB는 요청 처리 능력을 항상 감시한다.

대량의 요청이 발생해도 ELB로 인해 병목 현상이 발생하는 상황은 거의 일어나지 않는다.

ELB의 확장/축소는 스케일업/스케일다운과 스케일아웃/스케일인이라는 2가지 방식이 상황에 맞게 이루어진다.

모두 ELB 접근 IP가 변경되므로, ELB에 접근하는 경우 도메인 이름(DNS)을 사용하여 접근하도록 구성해야 한다.


ELB에 등록된 EC2 인스턴스가 여러 개의 AZ에 존재하면 ELB 생성 때에 생성된 도메인 이름에 각 AZ에 있는

ELB의 글로벌 IP 주소가 등록된다. 그리고 ELB에 요청이 들어오면 DNS 라운드 로빈 방식으로 각각의 AZ의 ELB에 요청이 분산된다.

이때 주의할 점은 각 AZ 내부의 EC2 인스턴스의 수를 동일하게 두어야

특정 인스턴스로 부하가 많이 걸리는 현상을 방지할 수 있다.

이러한 문제를 해결하기 위해 Cross-Zone Load Balancing이 등장하였다.

각각의 AZ에 있는 ELB는 모든 AZ의 EC2 인스턴스에 요청을 분산할 수 있다.



External-ELB

External-ELB는 인터넷으로부터 요청을 받아야하므로, VPC의 퍼블릿 서브넷 내부에 생성해야 한다.


Internal-ELB

Internal-ELB는 글로벌 IP 주소가 부여되지 않으므로, 퍼블릿 서브넷을 만들어도 인터넷으로 접근할 수 없다.



헬스 체크


감시 중에 비정상적인 상태가 발견된 인스턴스에는 요청을 분산하지 않는다.

포트 감시, 서비스 감시 2가지의 방법이 있다.



SSL 터미네이션


HTTPS 통신에서 사용하는 SSL 증명서를 인증한다. 그러면 SSL 증명서를 인스턴스에 따로 설정할 필요가 없다.

따라서 인스턴스의 부하를 낮출 수 있다.



스티키 세션


같은 사용자의 요청을 같은 인스턴스에서 처리하게 만드는 기능이다.

하지만 최근에는 ELB 아래에 있는 인스턴스들의 세션 정보를 공유하는 시스템을 사용하는 것이 권장된다.

내결함성과 확장성을 고려하면 이러한 방법으로 인스턴스끼리의 세션 정보를 공유하는 것이 좋다.


                                                              

반응형

'AWS 공부기록 > Compute' 카테고리의 다른 글

Amazon Elastic Compute Cloud  (0) 2019.01.22
Amazon Elastic Block Store(EBS)  (0) 2019.01.22
AWS Elastic Beanstalk  (0) 2019.01.22
Elastic Beanstalk_실습  (0) 2019.01.14
AWS Service - Lightsail  (0) 2019.01.10

블로그의 정보

현생이네

현생사는갓생지망생

활동하기