Auto Scaling 적용 후 아키텍처 도식도
Auto Scaling이 필요한 이유
오토스케일링(Auto Scaling)은 클라우드의 유연성을 돋보이게 하는 핵심기술로 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭(Metric) 값을 모니터링하여 서버 사이즈를 자동으로 조절한다. 이를 통해 사용자는 예상치 못한 서비스 부하에 효과적으로 대응하고 비용 절감 효과를 볼 수 있다.
Auto Scaling 적용
Auto Scaling 서비스는 Launch Configuration을 생성하고, Auto Scaling Group을 생성한 후에 이용할 수 있다.
Launch Configuration 생성
1. Launch Configuration 생성
2. 서버 이미지 설정
나는 centos-7.8-64로 선택하였다.
3. 서버 설정
서버 이미지를 설정 하고 서버를 설정한다.
서버 타입을 설정하고, 서버에 init Script가 설정 되어 있는 서버에서만 SourceDeploy 서비스를 이용할 수 있다.
init Script는 다음과 같다.
참고: 링크
4. 서버 이름 설정
서버의 이름을 설정한다.
5. 서버 인증키 설정
인증키를 설정한다. NCP에서 발급 받은 .pem 파일로 인증을 한다. Auto Scaling이 생성 해내는 인스턴스에 접근할 때 사용된다.
이 설정이 마치면 Auto Scaling Launcher가 생성된다.
Auto Scaling Group 생성
1. Auto Scaling Group 생성
2. Launch Configuration 선택
Launch Configuration을 선택한다.
3. Auto Scaling Group 설정
오토스케일링을 생성하기 전에 오토스케일링 전용 Subnet을 만들어서 적용시켜준다.
입력사항 | 설명 |
---|---|
최소 용량 | 그룹의 최소 서버 수 |
최대 용량 | 그룹에서 생성 가능한 최대 서버 수 |
기대 용량 | 서버의 수는 기대 용량값에 따라서 조정된다. 이 값은 최소 용량 이상, 최대 용량 이하여야 한다. |
쿨다운 기본값(초) | 실제 Scaling이 수행 중이거나 수행 완료된 이후에 모니터링 이벤트 알람이 발생하더라도 반응하지 않고 무시하도록 설정한 기간이다. 기본값은 300초이다. |
헬스 체크 보류 기간 | 서버 인스턴스가 생성되어 상태가 ‘운영 중’으로 변했더라도, 서버의 업데이트 설치 등 작업에 의해서 헬스 체크에 정상 응답하지 못하는 경우가 생길 수 있다. 이런 경우 헬스 체크 보류 기간을 지정하면 해당 기간 동안에는 헬스 체크에 실패하더라도 서버 헬스에 이상이 있다고 판단하지 않는다. |
헬스 체크 유형 | 헬스체크 유형이다. 서버, 로드벨런서가 있다. |
4. 네트워크 접근 설정
ACG를 생성하여 적용시킨다.
5. 정책 설정
Scaling 정책은 3가지 방식으로 설정할 수 있다.
(1) 증감변경: 현재 그룹 크기와 상관없이 지정한 서버 대수를 직접 추가 또는 삭제하는 방법
(2) 비율변경: 현재 그룹 크기 대비 일정한 비율(%)로 서버를 증감시키는 방법.
(3) 고정값: 그룹 크기를 지정한 값으로 고정시키는 방법.
쿨다운(cooldown)이란 일단 Scaling이 수행되면 추가적인 알람이 발생하더라도 이에 반응하지 않도록 설정된 시간이다. 쿨다운 시간 동안은 Scaling의 수행이나 완료 여부에 상관없이 추가로 발생한 이벤트에 대해서 아무 동작을 하지 않게 된다.
그 다음에는 오토스케일링 작동 시 문자, 이메일 발송하는 설정을 하고 생성이 완료된다.
Auto Scaling 적용 결과
'난중(개발)일기 > 삽질기록' 카테고리의 다른 글
[NCP] Pinpoint 적용기 (1) | 2023.02.02 |
---|---|
[NCP] Load Balancer 적용기 (0) | 2023.01.30 |
[NCP] CI/CD 적용 (0) | 2023.01.29 |
[Mybatis] Cause: java.lang.NumberFormatException: For input string: "t” (0) | 2022.10.06 |
github actions CI 테스트 자동화 도입하며.. (0) | 2022.09.25 |