[AWS] 확장성과 로드 밸런싱

2024. 9. 24. 14:23· Django/인프라
목차
  1. 확장성
  2. 수직 확장
  3. 수평 확장
  4. 수직 확장 VS 수평 확장
  5. Elastic Load Balancer(ELB)
  6. 주요 기능
  7. 종류
반응형

확장성

확장성은 시스템이 증가하는 트래픽이나 데이터 처리 요구사항을 감당할 수 있도록 성능이나 자원의 양을 증가시키는 능력을 말한다. 확장성은 크게 수직 확장과 수평 확장으로 나뉘며, AWS와 같은 클라우드 환경에서는 이러한 확장작업을 자동으로 설정할 수 있는 기능을 제공하여, 확장이 쉬워진다.

 

수직 확장

수직확장, 스케일 업(Scale-Up)은 인스턴스 자체의 사양을 높이는 것을 의미한다. 서버의 CPU, 메모리, 스토리지 등의 자원을 업그레이드 하여 더 많은 트래픽이나 데이터를 처리할 수 있도록 합니다. 예를 들어, 기존의 EC2 인스턴스를 더 높은 성능의 인스턴스로 교체하는 것이다.

 

수직 확장은 일반적으로 데이터베이스와 같은 분산하기 어려운 시스템에 주로 사용된다. 자원을 줄이는 작업을 스케일 다운(Scale-Down)이라고 부른다.

 

수직 확장의 장점

  • 간단한 확장 - 서버의 사양만 업그레이드하면 되기 때문에 구현이 쉽다.

수직 확장의 단점

  • 확장의 한계 - 한 인스턴스의 성능을 무한히 높일 수는 없다. 물리적인 하드웨어 한계
  • 다운 타임 발생 가능성 - 확장 과정에서 일시적인 서비스 중단이 발생할 수 있다.
  • 가용성 문제 - 단일 인스턴스에 의존하면, 가용성이 낮아질 수 있다. 하나의 인스턴스에 문제가 발생하면 전체 서비스가 중단될 수 있다.

 

수평 확장

수평확장, 스케일 아웃(Scale-Out)은 인스턴스의 수를 늘리는 방식이다. 여러 인스턴스를 동시에 실행하여 부하를 분산시키고, 성능을 향상한다. AWS에서는 이를 탄력성이라고 부르며, 대표적으로 EC2와 같은 서버에서 수평확장을 자주 사용한다.

 

인스턴스를 줄이는 작업은 스케일 인(Scale-In)이라고 한다.

 

수평 확장의 장점

  • 고가용성 - 여러 인스턴스를 여러 가용 영역(AZ)에 분산하여 배치하여 가용성을 높일 수 있다. 한 인스턴스에 장애가 생겨도 서비스가 지속된다.
  • 무한한 확장 - 더 많은 인스턴스를 추가하여 이론적으로 무한한 확장이 가능하다.

수평 확장의 단점

  • 구현 복잡성 - 인스턴스를 분산시키고, 각 인스턴스 간의 데이터 동기화 및 부하 분산 설정이 필요해 복잡하다.

 

 

수직 확장 VS 수평 확장

  • 수직 확장이 상대적으로 더 쉬운 방법이다. 하나의 인스턴스만 업그레이드하면 되기 때문에 복잡한 설정이 필요 없다.
  • 수직 확장은 서버 사양의 한계로 인해 더 이상 확장할 수 없는 시점이 오지만, 수평확장은 추가 인스턴스를 통해 거의 무제한 확장이 가능하다.
  • 수직 확장은 확장 중에 일시적인 서비스 중단이 발생할 수 있지만, 수평 확장은 인스턴스를 추가하거나 제거해도 가동 중인 인스턴스가 서비스를 계속 유지할 수 있다.
  • 수직 확장은 하나의 인스턴스에 모든 트래픽이 집중되기 때문에, 해당 인스턴스가 문제가 발생하면 서비스 전체가 중단될 수 있다. 수평 확장은 여러 인스턴스를 분산시켜 가용성 문제를 해결할 수 있다.

 

 

Elastic Load Balancer(ELB)

수평 확장을 위해 필요한 로드 밸런서이다. 완전 관리형 로드 밸런서 서비스로, 트래픽이 여러 인스턴스로 분산되어 시스템의 안정성과 성능을 향상할 수 있다.

 

주요 기능

자동 확장 - 트래픽에 따라 EC2 인스턴스를 자동으로 추가하거나 제거하여 탄력적으로 대응한다.

보안 강화 - ELB는 SSL/TLS 암호화를 통해 안전한 트래픽을 지원한다.

장애 조치 - 인스턴스에 문제가 발생하면, ELB가 자동으로 문제 인스턴스를 제외하고 트래픽을 정상적으로 라우팅 한다.

 

종류

클래식 로드 밸런서 / Clasic Load Balancer

  • 2009년 출시
  • HTTP, HTTPS, TCP 등 여러 프로토콜 지원
  • AWS에서 권장하지 않음

네트워크 로드 밸런서 / Network Load Balancer

  • 2017년 출시
  • TCP, UDP 등의 프로토콜을 지원
  • 높은 처리량이 필요한 네트워크 애플리케이션이나 게임서버에 사용

애플리케이션 로드 밸런서 / Application Load Balancer

  • 2016년 출시
  • HTTP, HTTPS, Websocket 프로토콜 지원
  • 웹 애플리케이션 라우팅에 주로 사용

게이트웨이 로드 밸런서 / Gateway Load Balancer

  • 2020년 출시
  • TCP, UDP, HTTP, HTTPS 등 여러 프로토콜 지원
  • VPC 간의 라우팅 VPC연결등에 사용
반응형
저작자표시 (새창열림)

'Django > 인프라' 카테고리의 다른 글

[AWS] Application Load Balancer 수평 확장  (0) 2024.09.25
[AWS] Application Load Balancer  (0) 2024.09.25
[AWS] NAT gateway 비용절감을 위한 NAT instance  (0) 2024.09.24
[AWS] Bastion Host 생성 및 프라이빗 서브넷으로 서버 이전  (0) 2024.09.23
[AWS] Bastion Host  (0) 2024.09.23
  1. 확장성
  2. 수직 확장
  3. 수평 확장
  4. 수직 확장 VS 수평 확장
  5. Elastic Load Balancer(ELB)
  6. 주요 기능
  7. 종류
'Django/인프라' 카테고리의 다른 글
  • [AWS] Application Load Balancer 수평 확장
  • [AWS] Application Load Balancer
  • [AWS] NAT gateway 비용절감을 위한 NAT instance
  • [AWS] Bastion Host 생성 및 프라이빗 서브넷으로 서버 이전
Jong_seoung
Jong_seoung
기록하자, 머리는 생각하는 곳이지 저장장치가 아니다.
반응형
Jong_seoung
Today_developStory
Jong_seoung
전체
오늘
어제

블로그 메뉴

  • Home
  • Git Hub
  • 분류 전체보기 (351)
    • Theory (16)
    • Java (3)
      • 알고리즘 (2)
      • 문법 (0)
    • Spring (7)
      • 스프링 입문 (6)
      • PickTalk (0)
      • 에러처리 (1)
    • Python (80)
      • 알고리즘 - 이론 (17)
      • 알고리즘 - 내장함수, 라이브러리 등등 (3)
      • 알고리즘 - 백준 (53)
      • 나도코딩 정리 (2)
      • 기타 (5)
    • Django (159)
      • DRF (105)
      • 인프라 (46)
      • DataBases (2)
      • API Docs (6)
    • FrontEnd (22)
      • htmx (2)
      • React (8)
      • 자바스크립트 (12)
    • GIT (16)
    • 기타 (8)
      • 정리 (2)
      • Flutter (1)
      • 마이크로프로세서 - ATmega128 (2)
      • 개발환경 세팅 (3)
    • 자격증 (37)
      • 정보처리기사 (19)
      • SQLD자격증 (18)

인기 글

최근 글

태그

  • alarm
  • BFS
  • CSRF
  • Django
  • django channels
  • django sse
  • django tutorial
  • django 배포
  • django 스웨거 적용
  • Django 이미지 저장

최근 댓글

hELLO · Designed By 정상우.v4.3.0
Jong_seoung
[AWS] 확장성과 로드 밸런싱
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.