AWS(Amazon Web Service)

[AWS] AWS의 Load Banlancer

yunseohhe 2024. 8. 29. 00:28

 ELB(Elastic Load Balancing)

  • 인터넷 트래픽을 다운스트림의 여러 서버로 전달하는 서버이다.(= 여러 다운스트림 인스턴스에 부하를 분산시킬 수 있다)
  • 다운스트림 인스턴스의 실패를 원활하게 처리할 수 있다. (= 실패가 있는 인스턴스에는 로드 밸런서가 트래픽을 보내지 않는다.)
  • 따라서, 로드 밸런서를 사용하여 EC2 인스턴스의 실패를 숨길 수 있고 웹사이트의 SSL 종료, 즉 HTTPS를 아주 쉽게 제공할 수 있다.
  • 관리형 로드 밸러서이므로 서버가 프로비저닝할 필요 없이 AWS가 처리한다.

ELB (출처 : ccp 강의)

 

 

종류

1. ALB( Application Load Balancer)

  • HTTP, HTTPS이기 때문에 "계층 7유형"의 로드 밸런서라고도 한다.
  • HTTP 라우팅 기능이 필요할 때마다 정적 DNS에도 요청된다.

ALB (출처 : ccp 강의)

 

2. NLB(Network Load Balancer)

  • 초고성능이다.
  • TCP와 UDP를 허용하며 "계층 4"이다.
  • 정적 IP를 제공한다.

NLB (출처 : ccp 강의)

3. GLB(Gateway Load Balancer)

  • 계층 3이다.
  • GENEVE 프로토콜을 사용한다.
  • 트래픽을 EC2인스턴스에서 관리하는 방화벽으로 라우팅하여 클래식 방화벽이나 침입 감지, 심층 패킷 검사 등을 실행할 수 있다.
  • 애플리케이션에 부하를 분산하지 않는다.

GLB (출처 : ccp 강의)

 

 

 


추가적으로 알아둬야 할 개념을 정리해두었습니다!

 

1. 탄력성(Scaling)

  • 오토 스케일링을 의미한다
  • 수신하는 로드에 따라 시스템이 자동으로 확장하는 것이다.

  (1) 수직 확장성

  • 인스턴스의 크기를 증가할 수 있다. 
  • 분산되지 않은 시스템에서 흔히 사용한다.

  (2) 수평 확장성

  • 데이터베이스의 크기를 늘리는 것이다.
  • 분산 시스템에서 사용된다.

 

 cf ) 애플리케이션이 스케일링한다 = 적응하여 더 큰 부하를 처리할 수 있다.

 

2. 고가용성(High  Availabilty)

  • 애플리케이션과 시스템을 AWS의 가용 영역 최소 두 군데에서 실행하는 것을 의미한다.(= 같은 애플리케이션의 인스턴스를 여러 가용 영역에서 실행하는 것)
  • 예시 : 뉴욕, 샌프란시스코 두 지역에 있는 콜센터를 예시로 들어보면, 뉴욕에 정전이 발생해도 샌프란시스코에서 전화를 처리할 수 있습니다. → "가용성이 높다"
  • 목적 : 데이터 센터의 손실과 같은 재앙 상황에서 살아남는 것이다.

 

EC2의 확장성과 고가용성을 요약

  • 수직 확장성 : 인스턴스 크기 증가  "스케일 업" / 인스턴스 크기 감소 → "스케일 다운"
  • 수평 확장성 : 인스턴스의 숫자 증가 → "스케일 아웃" / 인스턴스의 숫자 감소  "스케일 인"
  • 고가용성 : 오토 스케일링 그룹과 다중 AZ의 로드 밸런서에 의해 이용할 수 있다.

 

3. 민첩성

  • 확장성과 탄력성은 전혀 관계가 없다.
  • 새로운 IT 리소스로 클릭 한번으로 되는 것을 의미한다.(= 조직 좀 더 민첩하게 되고, 더 빨리 반복하고 더 빨리 수행 할 수 있다.)