본문 바로가기

AWS

210205_11_AWS_고가용성아키텍처

고가용성이란?

상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질, 가동률이 높은 아키텍처

가동룔

 

고가용성 아키텍처

> 서버와 데이터베이스만으로는 고가용성 아키텍처를 구축할 수 없다.

   : 모든 기능은 장애가 발생할 가능성을 품고 있기 때문

> 중복성을 구현하여 단일 장애로는 전체 시스템이 중단되지 않도록 해야한다.

   : 서로 다른 가용영역에 시스템을 중복하여 설계하여 놓으면 한 쪽이 지능 장애로 중단되었을 때, 자동으로 반대편이 작동된다.

 

고가용성 아키텍처의 사례 1

더보기
사용자는 게이트웨이를 통하여 ALB (Application Load Balancer)의 엔드 포인트로 접근을 한다.
로드 밸런서는 헬스 체크를 하고 정상적으로 작동하고 있는 WAS 로 넘겨준다.

※헬스 체크(Health Check)란?
서버가 정상적으로 작동하고 있는지, 에러가 나서 죽지는 않았는지 판단하는 작업

오토 스케일링(Auto Scaling)이란?
CPU의 사용량이나 트래픽이 증가/감소하였을 경우, 인스턴스를 거기에 맞추어 늘리거나 줄여주는 기능

 

 

고가용성 아키텍처의 사례 2

더보기
라우터를 리전의 외부에 둠으로써 하나의 리전이 죽었을 때, 다른 리전에 중복하여 만들어 놓은 인스턴스로 자동으로 넘김으로 고가용성을 유지한다.

AWS 기반 로드 밸런싱

 

ELB (Elastic Load Balancing)

 

ELB의 기능

  • HTTP, HTTPS, TCP, SSL(보안 TCP, UDP) 프로토콜 사용
  • 외부/ 내부에 위치 > 외부에서 들어오는 요청 뿐만 아니라 내부에 위치할 시 내부에서 발생한 트래픽도 부하 분산시킬 수 있다.
  • 각 로드 밸런서에 DNS 이름 부여
  • 비정상 인스턴스를 인식하고 이에 대응 > 한 쪽 서버가 죽었을 경우 정상측 서버로 요청을 넘겨준다.

ELB 사용 이유

 고가용성

    : 트래픽을 가용 영역의 여러 대상에게 자동으로 분산

 상태 확인

    : 인스턴스에 주기적으로 핑을 보내 인스턴스를 테스트하여 연결 상태를 확인

 보안 기능

 

 전송 계층 보안 종료

 

⊙ 로드 밸런싱

 

ELB 종류

ALB (Application Load Balancer)

  • 7계층(App 계층) 로드 밸런싱
  • 7계층 운영 > 클라이언트가 보낸 모든 요청을 볼 수 있음
  • 유연한 App 관리
  • HTTP/HTTPS 트래픽의 로드 밸런싱

NLB (Network Load Balancer)

  • 4계층(Transport 계층) 로드 밸런싱
  • 4계층 운영 > IP 주소, Port 번호 볼 수 있음
  • TCP, UDP 트래픽의 로드 밸런싱

Auto Scaling

EC2 용량을 자동으로 조정해주는 기능

 

 

희망 용량 (desired capacity) : 처음 시작시 인스턴스 개수

 

최소 용량 (minimum size) : 사용량이 줄어들어서 Scale in 했을 때, 줄어들수 있는 최소 인스턴스 개수

 

최대 용량 (maximum size) : 사용량이 증가하여 Scale out 했을 때, 늘어날 수 있는 최대 인스턴스 개수

 

※ Scale 용어 조정

  서버의 사용량이 변하여 Scale 조정을 할 때,
  Scale In : 서버의 개수 감소
  Scale out : 서버의 개수 증가
  Scale down : 기존 서버의 용량 감소
  Scale up : 기존 서버의 용량 증가

 

'AWS' 카테고리의 다른 글

210217_17_Lambda_01  (0) 2021.02.17
210216_16_IAM_01  (0) 2021.02.16
210128_10_AWS_NetworkLayer_02_실습  (0) 2021.01.28
210127_09_AWS_NetworkLayer_01  (0) 2021.01.27
210126_08_AWS_RDS_실습  (0) 2021.01.26