본문 바로가기
Cloud

[AWS] 확장성(Scalability) vs 고가용성(High Availability) 차이

by ganyga 2024. 2. 26.

확장성(Scalability)

  • 애플리케이션 시스템이 조정을 통해 더 많은 양을 처리할 수 있다는 의미

 

확장성의 종류

  1. 수직 확장성(Vertical Scalability)
  2. 수평 확장성(=탄력성)(Horizontal Scalability)(=elasticity)

 

수직 확장성(Vertical Scalability)

  • 수직 확장성이란 인스턴스의 크기를 확장하는 것을 의미
  • EC2를 쓸 때 애플리케이션이 t2.micro로 구동된다면, 이 애플리케이션을 확장해서 t2.large에서 구동하게 끔 만드는 것
  • 수직 확장성은 데이터베이스와 같이 분산되지 않은 시스템에서 흔히 사용됨
  • RDS나 ElasticCache 등의 데이터베이스에서 쉽게 찾아볼 수 있음
  • 하위 인스턴스의 유형을 업그레이드해 수직적으로 확장할 수 있는 시스템
  • 하지만, 일반적으로 확장할 수 있는 정도에는 한계가 있음 → 하드웨어 제한이 걸려 있기 때문

 

수평 확장성(Horizontal Scalability)

  • 수평 확장성이란 애플리케이션에서 인스턴스나 시스템의 수를 늘리는 방법
  • 수평 확장을 했다는 것은 분배 시스템이 있다는 것을 의미함
  • web이나 현대적 애플리케이션은 대부분 분배 시스템으로 이루어져 있음
  • Amazon EC2와 같은 클라우드 제공 업체 덕분에 수평적인 확장이 더욱 수월해짐

 

고가용성(High Availability)

  • 고가용성은 보통 수평 확장과 함께 사용되는 개념이지만, 늘 그런 것은 아님
  • 고가용성이란 애플리케이션 또는 시스템을 적어도 둘 이상의 AZ(Availability Zones)나 데이터 센터에서 가동 중이라는 것을 의미함
  • 고가용성의 목표는 데이터 센터에서의 손실에서 살아남는 것으로 센터 하나가 멈춰도 계속 작동이 가능하게끔 하는 것임
  • 고가용성도 수동적일 수 있음  예를 들어, RDS 다중 AZ를 갖추고 있다면 수동형 고가용성을 확보한 것임
  • 활성형도 될 수 있음  수평 확장을 하는 경우

 

EC2에서 확장성과 고가용성

  • 수직 확장 : 인스턴스의 크기를 늘리는 것, Scale up(확장), Scale down(축소)
  • 수평 확장 : 인스턴스의 를 늘리는 것, Scale out(늘리기), Scale in(줄이기)
  • 고가용성 : 동일 애플리케이션의 동일 인스턴스를 다수의 AZ에 걸쳐 실행하는 경우를 의미함

'Cloud' 카테고리의 다른 글

iterm에서 AWS EC2 인스턴스 SSH 접속 방법  (0) 2024.02.22