본문 바로가기

Cloud/NCP(Naver Cloud Platform)

(이론2)HA/Load Balancer/Autoscaling

[HA(High Availability) 고가용성]
- 시스템이 연속적으로 가동되어야 하는 서비스나 애플리케이션의 중요성을 고려할 때 중요한 요소
- 고가용성은 시스템이 장애나 오류가 발생해도 사용 가능한 상태를 유지하는 능력
- 중단 없는 access 보장되도록 설계된 시스템

즉, 서비스 가동 중지 시간을 최소화하고 응용 프로그램이나 서비스에 계속 access 서비스를 보장하도록 설계된 시스템 또는 인프라를 이야기함

- 클라우드 컴퓨팅에서 HA는 일반적으로 중복 하드웨어를 사용하는데 보통 이중화라고 이야기하며, 서버나 네트워크 구성 요소 또는 데이터 스토리지가 여기에 포함되고 시스템 장애가 발생했을 경우 맨 처음 운영중인 운영서버 즉 액티스 서버나 액티브 장비에서 백업서버나 스탠바이 서버 또는 스탠바이 장비로 서비스가 이전되면서 장애가 발생하지 않도록 하여 서비스를 계속 운영하는 방식으로 설계가 되어 있어 HA는 노드 밸런서나 서버 이중화, 하드웨어 이중화를 사용 또는 여러 위치에 걸친 데이터 복제(데이터 리플리케이션) 기술을 사용할 수도 있음

- 멀티존을 사용하거나 멀티 리전을 사용해서 A,B라고 할 경우 A존에 문제가 발생했을 때 B존에서 서비스를 할 수 있도록 데이터를 지속적으로 복제하는 기술 들을 가진 소프트웨어나 어플리케이션을 사용할 수도 있고, 다른 리전으로 데이터를 복제하여 운영을 할 수 있음

 

[데이터 리플리케이션(Data Replication)]
- 데이터의 복사본을 여러 위치 또는 서버에 동기화하여 데이터의 가용성과 안정성을 향상시키는 프로세스를 의미
- 데이터의 손실을 방지하고 장애 발생 시에도 데이터를 복구할 수 있는 방법으로 사용
- 클라우드 환경에서는 클라우드 서비스 제공 업체가 데이터 리플리케이션을 자동으로 처리하는 서비스를 제공하기도 하며, 사용자는 데이터 리플리케이션을 구성하여 데이터의 안정성과 가용성을 보장할 수 있음

 

[이중화]

- 이중화는 HA기능이 있는 어플리케이션 또는 서드파티 제품 마켓플레이스나 별도로 구입하여 설치하여 사용하는 제품들에서 DB 서버의 액티브-스탠바이 지원이 대표적임
- 백업 서버로 데이터 트래픽을 보낼 때 보통 사용하는게 버추얼IP(가상IP)를 통하여 액티브 스탠바이를 규정, 아니면 내부 규정에 따라 act-stanby 서버로 데이터 전환하는 것을 동작하게 함

 

[HA를 구성하는 다른 방법]
- 클러스터링은 여러 서버 또는 커퓨팅 자원을 그룹화해 하나의 논리 단위로 함께 작동하도록 만드는 것임
- 목적은 성능 향상, 확장성, 워크로드 분산에 중점을 둠 로드 밸런싱과 유사하나 클러스터링은 서버를 하나의 단일 시스템으로 그룹화하여 고가용성과 장애 허용성을 향상시키는 것이고, 로드 밸런싱은 트래픽을 분산하여 시스템의 성능을 향상시키고 과부하를 방지하는 것

 

[로드 밸런싱]

- 트래픽 분산: 클라우드 로드 밸런서는 들어오는 트래픽을 여러 대의 서버로 분산하여 각 서버의 부하를 분산 가능하여 이를 통해 서버의 가용성을 높이고 성능을 향상

  >> Round Robin 방식: 가장 간단한 방식으로, 들어오는 요청을 순차적으로 여러 서버에 분배하여 각 요청은 다음 순서의 서버로 이동하며, 모든 서버에 고르게 분산가능하므로 서버의 부하가 비슷하거나 모든 서버가 동일한 성능을 갖을 때 적합
 >> Least Connections 방식: 현재 연결 수가 가장 적은 서버에 요청을 전달하는 방식으로 서버의 현재 부하를 고려하여 트래픽을 분산하므로, 각 서버의 부하를 균형있게 유지 가능
 >> IP Hash 방식: 클라이언트의 IP 주소를 해싱하여 특정 서버에 고정된 요청을 보내는 방식으로 동일한 클라이언트가 항상 동일한 서버로 연결되도록 보장하여 세션을 유지해야 할 때 유용

- 고가용성: 클라우드 로드 밸런서는 여러 위치에 배포되어 있으며, 장애가 발생한 경우 자동으로 다른 위치로 트래픽을 전환하여 서비스의 가용성을 유지

- 스케일링: 클라우드 로드 밸런서는 필요에 따라 서버 인스턴스를 자동으로 추가하거나 제거하여 트래픽에 대응 가능하여 이를 통해 서비스의 확장성을 높임

- SSL 종료: 일부 클라우드 로드 밸런서는 SSL/TLS 연결을 종료하여 서버로 보내기 전에 암호화된 트래픽을 해독하여 서버의 부담을 줄여 성능을 향상

 

[Auto scaling(부하 분산 장치)]
- 설정한 요구사항 및 정책에 따라 컴퓨팅 리소스의 수를 탄력적으로 조정하는 서비스
- 부하가 증가하면 오토 스케일링이 자동으로 VM인스턴스를 추가(Scale-Out)해서 충분한 컴퓨팅을 보장, 부하가 감소하면 오토스케일링이 VM자동으로 제거(Scale-In)하여 비용 절감 가능
- 비즈니스 부하가 변동하거나 안정적인 어플리케이션에 적합
- 로드밸런스에 추가되는 VM이 자동으로 등록되기 때문에 다 부하분산으로 트래픽을 받을 수 있게 만들수도 있음

 

간단하게 이론 작성한 부분으로 더 자세한 사항은 구글링 해보시길..

이제 LB(Load Balancer) 실습 후 Auto Scaling 실습을 진행할 예정..