[실습] Amazon EC2 오토 스케일링 구성

탬늬·2025년 3월 1일

AWS 교과서

목록 보기
17/21
post-thumbnail

실습 목표

EC2 오토 스케일링을 구성하고 특정 상황을 가져오는 이벤트를 발생시켜보면서 동적 조정으로 인스턴스를 자동으로 확장하고 축소하는 오토 스케일링 기능 알아보는 것이다.

  • 목표 구성도

실습 단계

  1. Cloudformation으로 배포
  2. 기본 인프라 검증
  3. EC2 인스턴스 템플렛 구성
  4. 오토 스케일링 그룹 생성 및 조정 옵션 구성
  5. 인스턴스에 CPU 부하를 발생하고 동작 확인

CloudFormation으로 기본 인프라 배포

기본 인프라 환경 검증

ApacheBench 툴이 설치되어 있다. MYEC2에 접속하여 ALB와 통신되는지, 해당 툴들이 설치되어 있는지 확인

  • ApacheBench 툴 버전 확인

ALB 확인

  • alb dns로 통신 테스트

    ALB에서 전달되는 타겟이 없어 HTTP 503 에러

EC2 인스턴스 시작 템플릿 생성

  • 보안 그룹 cloudformation으로 만들었던걸로 선택

  • Cloudwatch 모니터링 활성화
  • 메타데이터 활성화
  • 사용자 데이터
  • AWS EC2 인스턴스를 웹 서버(Apache, PHP)로 설정합니다.
    인스턴스의 정보를 웹 페이지로 표시합니다.
    S3에서 PHP 파일을 다운로드하여 실행 환경을 구성합니다
  • 생성완료

EC2 오토 스케일링 그룹 생성

  1. 그룹 이름 , 시작 템플릿( 생성했던거)
  2. VPC , 가용 영역 및 서브넷
  3. 로드밸런싱 연결
  4. 원하는 용량 1 , 최소 용량 1, 최대 용량 4 로 조정 , 대상 추적 크기 조정 정책
  5. 생성 완료
  6. 최소 용량에 맞게 1개 생성이 됨

인스턴스 종료 정책 수립

이 사진으로 통해 인스턴스 축소 정책으로 삭제되는 인스턴스는 최신 인스턴스에 해당!!

인스턴스 축소 정책 수립

  1. 동적 크기 조정 정책 생성
  • 일단 CLoudwatch로 지표 및 조건 지정
  • 생성 완료

Cloud Watch 대시보드 구성

  1. 대시보드에 추가
  2. 오토 스케이링 그룹의 인스턴스 수 확인하는 지표 추가
  • 옵셥으로 최소 0-4로 y축 값 정함
  • 대시보드에 추가 완료

    경보와 지표를 통해 인스턴스 스케일 인 , 스케일 아웃 경보랑 생성된 인스턴스 수 알수있다

MYEC2에 접속하여 인스턴스에 CPU 부하 발생시키기

부하 시키면 오토 스케일링이 어떻게 동작하는지 확인

  1. MYEC2에 ALB 부하분산 확인
  • ALB DNS 주소로 반복적으로 접근하면 한 ip로만 통신함 => 인스턴스 1대이니까
  1. curl 명령어로 ALB DNS 주소 반복해서 통신하는 상태 유지 , 계속해서 WebServers 인스턴스의 터미널 생성하여 CPU 부하 확인
htop

  • CPU 나 메모리 사용률 확인가능
  1. CPU 확인하는 상태면서 두번쨰 터미널로 CPU 강제 부하
  • ApacheBench 명령어로 load.php에 CPU 부하 발생 일으키기( 500번)
  • 총 웹서버가 3개 늘어남
  • MYEC2에 접속해서 봤더니 2개의 인스턴스에 분산하고있는걸 알수있다( 스케일 아웃)
  • 스케일 인 확인하기

  • 한대의 인스턴스가 종료된다.
    cpu 봤을때 다시 내려간걸 알수있음.
profile
공부하면서 기록하기..

0개의 댓글