대용량 트래픽 개선을 위해 scale-out을 선택했고, ec2 서버를 여러대 사용하게 되었다. 하지만 다음과 같은 문제가 있었다.
이를 해결하기 위해 scale-out 또는 scale-up을 유연하게 자동으로 하기 위해서 aws에 지원하는 auto scaling을 도입하게 되었다.
ec2 인스턴스에서 이미지 생성을 클릭한다.
이미지 이름 및 설명을 입력하고 이미지를 생성한다.
재부팅안함 활성화시 현재 실행중인 ec2를 재부팅 하지 않고 이미지를 생성한다.
템플릿 이름 및 해당 버전의 설명을 입력한다.
위에서 생성한 이미지를 선택해 설정한다.
인스턴스 유형을 설정한다.
키페어를 설정한다.
생성되는 ec2의 보안그룹을 설정한다.
그룹 이름 설정하기
위에서 생성한 템플릿을 시작 템플릿으로 설정
네트워크 가용 영역 설정
위에서 생성한 로드밸런서에 연결
이 연결을 통해 auto scaling에서 ec2 생성시 로드밸런서의 대상그룹에 자동으로 등록된다.
ec2가 제대로 작동되고 있는지 확인여부를 체크한다.
ec2가 생성되고 처음 초기화될때에는 시간 소요가 제법 있기에 처음의 상태확인을 유예시킬수 있다.
auto scaling 생성하거나 수정시 현재 원하는 인스턴스 개수를 결정한다.
최소용량과 최대용량을 설정해서 scaling시 인스턴스의 최소, 최대 개수를 설정한다.
대상추적 크기조정 정책를 설정해 어떤 기준으로 인스턴의 개수를 scaling 할지 결정할 수 있다. 일반적으로 cpu 사용률을 기준으로 하는데 이건 배포하는 서비스에 맞게 설정한다.
scaling시 이벤트에 따라 이메일로 알림을 보내게 설정한다(선택)
다음과 같이 설정한 현재 용량인 2개의 ec2가 생성되었다.
로드밸런서의 대상그룹에도 정상적으로 등록된 것을 확인할 수 있다.