[SAA] 04. ELB & ASG

KIM Jongwan·2023년 8월 25일
0

AWS

목록 보기
2/2

Scalability & High Availabilty

  • Scalability(확장성)란 어플리케이션 혹은 시스템에게 주어지는 대량의 부하를 적응형으로 처리할 수 있음을 의미
  • AWS에는 두 가지 방식의 확장성 방식이 존재
    • Vertical Scalability (수직 확장)
    • Horizontal Scalability (수평 확장)
  • 확장성은 고가용성과 관련되어있지만, 같은 개념은 아님

Vertical Scalability

  • 수직 확장은 인스턴스의 용량을 증가시키는 것을 의미
  • 예) t2.micro 스펙으로 생성된 인스턴스를 t2.large 스펙으로 확장 시키는 경우
  • 데이터베이스와 같은 분산되지 않은 시스템에 일반적으로 사용하는 스케일 방식
  • RDS, ElastiCache 와 같은 서비스는 수직 확장을 제공
  • 사용자는 스케일의 하드웨어적 한계점을 지정할 수 있음

Horizontal Scalability

  • 수평 확장은 인스턴스의 수를 증가시키는 것을 의미
  • 수평 확장이 적용되는 시스템은 분산 시스템임을 암시
  • 웹 어플리케이션 또는 현대적인 어플리케이션에서 일반적으로 적용할 수 있는 확장 방식
  • Cloud 컴퓨팅 기술이 발전함에 따라 어플리케이션의 수평 확장이 용이해졌음

High Availability

  • 고가용성은 일반적으로 수평 확장과 함께 사용된다.
  • 고가용성은 어플리케이션 혹은 시스템을 최소한 2개 이상의 데이터 센터에서 운영하는 것을 의미한다.
  • 고가용성의 목적은 데이터센터 유실에서부터 어플리케이션 혹은 시스템을 보호하는 것이다.

Load Balancing

Load Balancing 이란

  • 여러 대의 서버 앞단에서 트래픽을 관리해주는 별도의 서버
  • 사용자는 로드 밸런서로의 Request/Response 교환, Serving을 담당하는 다운스트림 서버의 위치는 확인할 필요가 없음

Load Banalcer 사용 이유

  • 여러 대의 다운스트림 인스턴스에 트래픽을 분산하여 처리
  • 어플리케이션에 접근 할 수 있는 지점을 하나로 통합
  • 특정 다운스트림 서버에 문제가 발생하더라도 서비스 제공에는 문제가 발생하지 않음
  • public 트래픽을 분산된 private 트래픽으로 처리

Elestic Load Balancer

  • ELB는 AWS에 의하여 관리되고 있는 로드밸런서 서비스이다.
  • 자체적으로 로드밸런서를 도입할 경우 ELB 서비스 사용에 비하여 경제적으로 유리할 수도 있지만, 많은 노력이 필요함
  • ELB는 AWS에서 제공하는 다양한 서비스들(EC2, ECS, ACM, Route53 등)과 함께 사용할 수 있다.
  • Load Balancer에 대한 전문적인 지식이 없는 개발자라도 AWS가 제공하는 설정값들을 사용하여 Load Balancing 할 수 있음

Health Checks

  • Health Check란 쉽게 말해 어플리케이션의 동작 유무를 확인하는 작업이다.
  • Load Balancer는 수시로 어플리케이션의 Health Check를 진행하여 동작 여부를 확인하고, 사용 가능한 서버들을 대상으로 트래픽을 분산한다.

Application Load Balancer(ALB)

  • Application Load Balancer(ALB)는 OSI7 Layer의 7계층에서 동작하는 로드벨런서이다. (HTTP)
  • 아래 2경우의 로드밸런싱 적용 가능
    • target group으로 지정된 다중 HTTP 어플리케이션
    • 동일한 서버에서 동작중인 다중 어플리케이션
  • HTTP/2와 웹 소켓을 지원
  • 리다이렉트 기능 지원

  • Routing Table
    • URL 경로 라우팅: example.com/users || example.com/posts 등으로 설정 후 각 경로별로 라우팅
    • URL 호스트네임 라우팅: sample1.example.com || sample2.example.com 등으로 설정 후 각 호스트네임별로 라우팅
    • URL 쿼리 스트링, 헤더 라우팅

  • ALB는 micro service 또는 container 기반의 어플리케이션에 적합하다.
profile
2년차 백앤드 개발자입니다.

0개의 댓글