본문 바로가기
카테고리 없음

[새싹 금천 5기] AWS Cloud Watch, Auto Sclaling 활용 (이노그리드_기업맟춤형 클라우드 인재 양성 캠프)

by z00h 2025. 6. 9.

 

 


지난 포스팅에서 로드밸런싱으로 부하를 분산시키는 실습까지 진행하였다.

 

이번 포스팅에서는 인스턴스에 트래픽을 유입시키고 경보를 설정하여 부하 알림을 받고

오토스케일링을 활용하여 부하를 처리하는 것 까지 실습을 진행해보려고 한다.

 

Amazon SNS(Simple Notification Service)

  • 메시지 전달을 위한 완전관리형 서비스
  • 여러 시스템 또는 사용자에게 푸시 알림, SMS, 이메일, Lambda 호출 등을 통해 메시지를 빠르게 전달할 수 있다.
  • 퍼블리셔-구독자 모델을 기반으로 하며, 다양한 구독자에게 동시에 메시지를 전송하는 데 적합하다.

 

토픽(Topic)

  • Amazon SNS에서 메시지를 발행(publish)하고 구독자들에게 전달하는 중앙 허브
  • 발행자는 토픽에 메시지를 보내고, 구독자들은 해당 토픽을 구독하여 메시지를 수신한다.

 

구독(Subscription)

  • 특정 SNS 토픽에 연결되어 메시지를 수신하는 방식
  • 이메일, SMS, Lambda, HTTP 등 다양한 방식으로 토픽의 메시지를 받아볼 수 있다.

 

CloudWatch 경보

  • 지정한 메트릭(예: CPU 사용률)이 특정 임계값을 초과하거나 미달할 때 자동으로 알림을 전송하거나 조치를 실행하는 기능이다.
  • 경보 상태는 OK, 경고(ALARM), 데이터 부족(INSUFFICIENT_DATA)로 구분된다.
  • SNS를 통해 이메일, Lambda, Auto Scaling 등과 연동해 대응할 수 있다.

 

오토 스케일링(Auto Scaling)

  • EC2 인스턴스 수를 트래픽이나 부하에 따라 자동으로 늘리거나 줄이는 서비스이다.
  • Auto Scaling 그룹(ASG)을 만들고 최소/최대 인스턴스 수와 조건을 설정하면, CloudWatch 알람 등의 조건에 따라 자동 조정된다.
  • 트래픽 급증 시 인스턴스를 추가하고, 부하가 줄면 제거해 비용 효율성과 안정성을 동시에 확보할 수 있다.

 

 

주제(topic) 생성

 

 

 

이메일로 메세지를 수신받기 위해 표준유형 선택

 

 

 

 

나머지 설정을 그대로 유지한 상태로 주제 생성

구독 생성

주제 > mytopic > 구독 생성

 

 

 

프로토콜 : 이메일

엔드포인트 : 수신받을 메일 주소 입력

 

 

 

엔드포인트로 등록한 이메일 확인

 

 

 

 

Confirm subscription 클릭하여 구독 확인

 

 

 

 

webserver-a 인스턴스에 경보 설정

 

 

 

생성한 토픽 지정

 

 

 

 

경보 임계값 설정

webserver-a 인스턴스의 CPU 사용률이 30%이상일때 트리거가 발생하도록 설정

 

 

 

 

로드밸런서 DNS로 브라우저에 접속하여 부하테스트 클릭

→ 해당 인스턴스로 트래픽이 유입

 

 

 

 

CPU 사용률 30%이 초과되었다는 이메일 알림이 온것을 확인 할 수 있다.

 

 

 

 

CloudWatch 대시보드 확인

 

 

 

 

이제 오토 스케일링으로 애플리케이션의 부하를 처리하여 부하가 일어났을때

EC2 인스턴스를 자동으로 증가 시켜 보도록 할 예정이다.

 

 

대상그룹 등록된 대상 제거

my-tg의 등록된 대상을 취소한다.

 

 

 

 

오토스케일링을 위해 시작 템플릿을 생성한다.

오토스케일링 실행시 해당 템플릿의 인스턴스가 생성된다.

 

 

 

 

Auto Scaling 지침 활성화

 

 

 

my-ami로 이미지 등록

 

 

 

 

기존 보안그룹 선택하여 my-sg 선택

 

 

 

 

리소스 유형 (인스턴스, 볼륨) 추가 후 시작 템플릿 생성

 

 

 

 

오토 스케일링 그룹 생성

 

 

 

 

앞서 만든 시작템플릿 (my-lt)선택

 

 

 

 

네트워크 설정

  • VPC : my-vpc
  • 가용영역 및 서브넷 : public-subnet-a, public-subnet-c

 

 

 

 

기존 로드밸런서에 연결하고

로드밸런서 대상 그룹 선택

 

 

 

 

오토스케일링 크기 설정

 

 

 

 

지표유형

  • 평균 CPU 사용률 30

→ CPU 사용률이 30이상일 시 오토스케일링 실행

 

 

 

 

토픽+ 엔드포인트 설정

  • 시작, 종료, 시작실패, 종료실패시마다 이메일로 알림이 간다.

 

 

 

 

Name태그 추가 후 오토스케일링 그룹 생성

 

 

 

 

그룹을 생성하면서 인스턴스 두개가 새롭게 추가되었다.

 

 

 

 

로드밸런스 대상그룹 확인

→ ASG 그룹으로 생성한 인스턴스가 대상으로 등록이 되어있어야 한다.

 

 

 

 

웹 브라우저로 로드밸런서 DNS 주소로 요청

→ ASG를 통해 생성된 인스턴스 응답 확인

→ 메일함 확인시 토픽이 발행되었다.

 

 

 

 

부하테스트 클릭 → 5분 경과 후 인스턴스가 자동으로 증가한다.

만약 인스턴스가 추가되지 않았을때, 동적 크기 조정 정책 추가

 

 

 

 

오토스케일링으로 현재 총 4개의 인스턴스가 ASG에 추가된 것을 볼 수 있다.