사전 준비
6회차 프로젝트를 참고하여 ALB(Application Load Balancer) 생성
시작 템플릿 생성
오토 스케일링 생성 ( ALB 이용, CPU 사용량에 따른 인스턴스 증설/감설 )
오토 스케일링 그룹 이름: VEC-PRD-VPC-NGINX-PUB-2A
생성한 시작 템플릿 지정
네트워크 설정: 생성해둔 VPC 선택 (vec-prd-vpc : 10.250.0.0/16)
서브넷: VEC-PRD-VPC-NGINX-PUB-2A
로드 밸런서(기존) 대상 그룹에서 선택: VEC-PRD-NGINX-GROUP
CloudWatch 내에서 그룹 지표 수집 활성화
그룹 크기를 설정합니다.
초기 인스턴스 수, 최소 인스턴스 수, 최대 인스턴스 수를 설정합니다.
스케일링 정책을 설정합니다.
"Target tracking scaling policy"를 선택하고, 예를 들어 CPU 사용률을 기준으로 정책을 설정합니다.
목표를 예를 들어 "50%"로 설정하여, 평균 CPU 사용률이 50%를 초과하면 인스턴스를 추가하고, 50% 이하로 떨어지면 인스턴스를 제거하는 방식으로 구성합니다.
인스턴스 워밍업 60초
인스턴스 일반적인 가이드라인
웹 서버: 보통 30초에서 2분.
데이터베이스 서버: 2분에서 5분.
캐싱 시스템: 1분에서 3분.
오토 스케일링 그룹을 생성할 때 "Elastic Load Balancer 상태 확인 켜기" 옵션은 특정 상황에서 매우 유용합니다. 이 옵션을 사용하면 오토 스케일링 그룹이 ELB와 통합되어 ELB 상태 확인을 기반으로 인스턴스의 상태를 모니터링하고 관리합니다
- 사용 사례:
웹 애플리케이션이나 API 서버와 같이 트래픽이 많고 부하가 가변적인 애플리케이션에서 유용합니다.- 사용 사례:
특정 시간대나 이벤트(예: 블랙 프라이데이 세일) 동안 트래픽이 급격히 증가하는 경우.
오토 스케일링 그룹의 동적 크기 정책을 CPU 사용량의 0.1%로 조정하여 인스턴스가 생성되는 것 확인


ALB 대상 그룹에 오토 스케일링으로 생성된 인스턴스가 추가되는 것을 확인하였고 ansible을 통해 호스팅된 웹 사이트를 새로고침 하면 번갈아가면서 트래픽을 분산시켜주는 것을 확인



오토 스케일링 그룹의 동적 크기 정책을 CPU 사용량의 50%로 조정하여 인스턴스가 종료되는 것 확인
사전 작업
"Create scheduled action" 버튼을 클릭합니다.
작업 이름을 입력합니다.
예약된 작업으로 인스턴스가 증설되는 것 확인

이후에 scale-down-evening을 통해 예약된 시간에 인스턴스가 종료되는 것을 확인 ( 약간의 시간 소요 )
__
사전 준비 sns 생성
7회차를 참고하여 생성
예제 설정
SNS 주제 생성
Type: Standard
Name: TerminateInstanceNotifications
구독 추가
Protocol: Email
Endpoint: your-email@example.com
구독 확인
SMS 프로토콜로 구독 생성
AWS CLI를 사용하여 SMS 프로토콜로 구독을 생성하는 예시는 다음과 같습니다:aws sns subscribe \ --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic \ --protocol sms \ --notification-endpoint +1234567890
"Configure actions" 섹션에서 알림을 받을 방법 (예: SNS 토픽)을 설정합니다.
기존 sns 주제 선택
예시) TerminateInstanceNotifications
scheduled action을 통해 종료된 인스턴스를 통해서 알람 확인
( Threshold value, 조정 필요( 상황에 맞춰서 ) )

