[CI/CD] 이중화 기초 지식

컨테이너 이중화란?

AWS에서 컨테이너 이중화는 컨테이너 기반 애플리케이션을 고가용성으로 운영하기 위한 설정이다.

한 곳에서 문제가 발생해도 서비스가 중단되지 않도록 구성하는 것을 의미합니다.

  • ECS와 EKS를 활용해 컨테이너를 이중화 할 수 있다.

이중화 방식

Active - Active

다중화된 장비를 보두 사용한다. (부하분산을 목적으로 사용된다.)

  • 장점 : 처리 가능한 용량이 커진다.
  • 단점 : 높은 운영 비용, 장애 발생 시 처리 용량이 절반으로 줄어든다.

Active - Standby (HA)

다중화 된 장비 중 1대는 Active형태, 다른 1대는 Standby 형태로 사용한다. (장애가 발생할 경우 Standby 장비를 Active로 동작)

  • 장점 : 장애 발생 시 유연한 대비가 가능
  • 단점 : 자원의 비효율성

Ex). Auto Scaling

과부화, 장애 발생시 자동으로 서버를 복제하여 실행하는 EC2 인스턴스 수를 늘려준다.


Scale-Up VS Scale-Out

Scale-Up

기존 서버의 사양을 업그레이드하여 시스템을 확장하는 것이다.

CPU나 RAM 등을 추가하여 고성능의 부품으로 업그레이드 하는 것이다.

Scale-Out

서버를 여러 대 추가하여 시스템을 확장하는 것을 말한다.

서버가 여러대로 나뉘기 때문에 로드벨런싱이 필수적으로 동반된다.


이중화의 목적

  1. Fail-Over (장애 극복 기능) : 서버, 시스템등에 이상이 생겼을 때 예비 시스템으로 자동 전환 된다.
    • 장애 및 재해 시 빠른게 서비스를 재개 할 수 있다.
  2. Load Balancing (부하 분산) : 하나의 시스템으로 트래픽이 몰릴 경우 트래픽을 나누어 처리한다.
    • 트래픽이 감소 해서 원할한 서비스 제공이 가능하다.

HA와 DR

처음엔 똑같은 기능인 줄 알았다. 하지만 비슷한 컨셉이지만 다른 기능이다.

HA ( High Availability  : 고가용성)

운용이 가능하도록 상태를 유지하는 것을 고가용성이라고 한다.

DR ( Disaster Recovery : 재해 복구 )

예상치 못한 재해로부터 데이터 유실 최소화 및 빠른 복구를 중점에 두고 있다.


한마디로

HA는 일상적인 운영 중에 시스템 가용성을 유지하는 걸 목표로 하고 있고,

DR은 재해 상황이나 긴급한 상황에서 시스템을 복구하는걸 목표로 두고 있다.


 

'DevOps > CI & CD' 카테고리의 다른 글

[CI/CD] Git 기초 지식  (2) 2024.10.02
[CI/CD] GitLab 기초 지식  (0) 2024.09.30
[CI/CD] Storage 기초 지식  (0) 2024.09.23
[CI/CD] Gitlab Vs Github  (5) 2024.09.23
[CI/CD] Docker 기초 지식  (4) 2024.09.20