본문 바로가기
JAVA/서버작업

AWS EC2 Auto Scaling으로 서버부하 관리하기

by 2세1의 행복한 개발 2021. 9. 6.
반응형

웹서버나 api서버를 사용하다 보면 예상하지 못한 부하가 발생한다면

해당 서버는 과부하가 발생하여 정상적으로 동작하지 못하는 경우가 발생합니다

그런 경우를 방지하기 위하여 개발자가 항상 서버를 확인하는 게 아니라

Auto Scaling 기능을 사용하여 해당 부분을 처리하는 방법을 소개하겠습니다.

 

우선 Auto Scaling할 EC2를 선택하여 AMI를 생성해줍니다

시작 템플릿 추가

방금 만든 AMI를 내 AMI에서 찾아서 등록해줍니다

나머지 정보는 EC2를 생성할때랑 동일한 정보라 생략하겠습니다

 

ELB(로드밸런서) 추가

이름만 추가하고 다음다음을 클릭하여 생성해줍니다

 

Auto Scaling 생성

이전에 생성한 시작 템플릿 등록

시작템플릿에 등록된 버전 선택

AMI를 수정한 후에 해당 버전을 update 하고 싶다면 AutoScaling 쪽에 버전을 올려줘야 합니다

생성해둔 ELB를 연결해줍니다

원하는 용량과 최소용량은 크게 부하가 없을 때이며

최대 용량은 넉넉히 해두는 게 좋습니다

 

나머지는 크게 어렵지 않아 알아서 설정하시면 됩니다

 

생성 후 조정 기준을 설정해줍니다

평균 사용률에 따라 서버를 늘려줍니다

 

로드밸런서를 확인해보면

자동으로 인스턴스가 추가된 걸 확인할 수 있습니다

 

용량을 수정해보겠습니다

인스턴스가 추가되고 있음

자동으로 elb에 추가

 

Auto Scaling을 삭제 시 모든 인스턴스가 종료된다고 합니다

해당 부분을 꼭 주의해야 합니다

삭제 중으로 상태가 변하며

체크박스가 전부 비활성화됩니다

인스턴스들이 전부 종료로 상태가 변경 중입니다

 

시작 템플릿과 로드밸런서는 따로 생성했기 때문에 그대로 있습니다

댓글