Book/서비스운영이 쉬워지는 AWS 인프라 구축 가이드

3. 다중 서버 환경 구성

쟈누이 2021. 3. 14. 16:00
반응형

대부분의 운영 환경에서는 한대의 서버 인스턴스가 아닌 여러대의 서버 인스턴스로 서비스함 

--> 많은 트래픽에 대응하고 서버에 장애가 생겨도 서비스가 안전하게 돌아갈 수 있게 하기 위함

 

* Auto Scaling

--> 트래픽에 따라 서버의 수를 자동으로 늘리고 줄이는 방식

 

 

 

3.1 AWS Auto Scaling 그룹을 이용한 다중 서버 구성


아래 이미지는 2장에서 공부한 서버 단위의 로드 밸런서를 둔 서버 아키텍처의 모습이다.

 

 

3.1.1 AWS Auto Scaling 그룹


  • AWS Auto Scaling 그룹은 AWS 에서 제공하는 자동 다중 서버 서비스
  • 같은 사양, 같은 환경, 같은 코드를 가지고 있는 똑같은 EC2 인스턴스들의 묶음
  • AMI 를 이용해서 만들어졌기 때문에 같은 인스턴스들이 여러대 존재 가능
  • 인스턴스들의 수를 자동으로 늘리고 줄여줌
  • 실시간 트래픽 등의 변수를 반영해서 인스턴스 수를 조정하기에 안적적인 서버 운용 가능

 

 

3.1.2 AWS Auto Scaling 그룹 응용 예시


1) 자원 사용량을 기준으로 한 조정

평소 상황 (가운데 클라이언트는 로드밸런서)
Auto Scaling 통해 EC2 인스턴스 추가된 상황 (가운데 클라이언트는 로드밸런서)

그룹 내 모든 인스턴스들의 CPU 사용량에 대한 조정 정책을 걸어두었을 경우, 클라이언트의 요청이 많아질 경우에는 Auto Scaling 그룹은 똑같은 인스턴스를 하나 더 생성한다. 그러면 기존 2대에서 처리하던 요청을 3대가 나누어 처리하게 되므로 CPU 사용량은 정상범위를 회복한다. 

 

 

2) 시간을 기준으로한 자동 조정

- 실시간 자원사용량 외에도 시간으로 Auto Scaling 조정 정책을 생성할 수 있음

 

 

특정 시간에 사람이 몰릴 경우, 몰리는 시간에만 서버를 여러대 실행하면 된다. 이럴 때 Auto Scaling 그룹에 예약작업을 실시하면 된다.  그러면 관리자는 서버수를 늘려서 유지할 필요가 없이 자동적으로 특정 시간되 되면 늘어나는 서버를 갖게 되므로 비용, 시간적 측면 관리를 효율적으로 할 수 있다.

 

예를 들어 매일 23시에 서버 수를  3대에서 5대로 늘린다면, Auto Scaling 그룹은 시간에 맞추어 서버를 늘리는 작업을 한다. 그리고 특정 시간이 끝나면 서버를 줄인다. 이런 식으로 트래픽 관리를 효율적으로 할 수 있다. 

반응형