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. 확장성(Scalability)

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

  (1) 수직 확장성(Vertical Scalability)

  • 인스턴스의 크기를 확장하는 것을 의미한다.
  • 데이터베이스와 같이 분산되지 않은 시스템에서 흔히 사용한다.
      : RDS나 ElastiCache 등의 데이터베이스에서 쉽게 찾아볼 수 있다.
  • 예시
      : EC2를 사용할 때 애플리케이션이 t2.micro로 구동된다면 이 애플리케이션을 확장해서 t2.large에서 구동하게끔 만들고자 하는 것
      : 신입 전화 상담원과 경력직 전화 상담원이 있으면, 신입 전화 상담원을 경력직 전화 상담원으로 바꾸는 것

  (2) 수평 확장성(= 탄력성)

  • 애플리케이션에서 인스턴스나 시스템의 또는 데이터베이스의 크기를 늘리는 것이다.
  • 분산 시스템에서 사용된다.
  • 예시
      : 과중한 업무를 소화하고 있는 전화 상담원이 있다. 그래서 상담원의 수를 더 고용해서 여러 배의 작업량을 처리하게 한다.

 

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

 

2. 고가용성(High  Availabilty)

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

 

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

  • 수직 확장성 : 인스턴스 크기 증가  "스케일 업" / 인스턴스 크기 감소 → "스케일 다운"
  • 수평 확장성 : 인스턴스의 숫자 증가 → "스케일 아웃" / 인스턴스의 숫자 감소  "스케일 인"
  • 고가용성
    : 동일 애플리케이션의 동일 인스턴스를 다수의 AZ에 걸쳐 실행하는 경우를 의미
    : 다중 AZ가 활성화된 자동(오토) 스케일러 그룹이나 로드 밸런서에서도 사용된다.

 

3. 민첩성

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