[AWS] Auto Scaling #5

­박찬영·2025년 2월 13일

AWS

목록 보기
5/15
post-thumbnail

📌 Auto Scaling


Auto Scaling이란?

  • Auto Scaling : 트래픽에 따라 자동으로 서버(EC2 인스턴스)의 개수를 조절해주는 기능(Scale out)

    • 트래픽 양은 예측 불가능함 (서버 장애 vs 낭비되는 자원)

    • 서비스를 안정적으로 제공하면서도 낭비되는 자원이 없도록 효율적으로 서버를 운영

    • ELB와 함께 사용함

  • Auto Scaling 기본 구조

    • 클라이언트 요청 → ELB → ASG(Auto Scaling Group)으로 부하 분산

    • ASG는 AMI(Amazon Maching Image)를 필요로 함

    • ASG는 CloudWatch(클라우드 모니터링 서비스)를 사용해 서버의 용량을 늘릴지 줄일지 결정함

  • Auto Scaling 관련 용어

    • ASG(Auto Scaling Group) : Auto Scaling되는 EC2 인스턴스들의 집합 (사전에 설정한 값에 따라 EC2 인스턴스를 늘렸다 줄였다 하게 됨)

    • CloudWatch : AWS 서비스들을 모니터링하는 서비스, ASG는 CloudWatch와 연동하여 다양한 지표에 따라 인스턴스 개수 조절 가능

    • Launch Configuration(시작 구성) : Auto Scaling을 위한 EC2 인스턴스의 사전 설정 정보 (AMI, 인스턴스 유형, 스토리지, 보안 그룹 등을 선택)

      • 시작 템플릿 사용 가능


📌 Auto Scaling 사용해보기


AMI 생성하기

  • 이전 실습에서 WordPress 인스턴스 1개 종료

  • AMI 생성

    • 인스턴스 재부팅 : 인스턴스가 잠시라도 중단되면 안 될 경우 비활성화, 대신 파일 시스템의 무결성을 보장하지 않음

    • 이미지 생성 후 사용 가능 상태로 바뀌면 사용할 수 있음


Auto Scaling Group 생성하기

  • ELB의 대상 그룹(Target Group)의 가용 영역과 동일하게 가용 영역을 설정해야 Auto Scaling으로 생성된 EC2 인스턴스가 대상 그룹에 속하여 트래픽을 전달받을 수 있음


Auto Scaling 작동 테스트하기

  • 시작 템플릿에서 설정한 대로 EC2 인스턴스가 생성됨

  • 퍼블릭 IPv4 주소를 복사하여 ssh로 접속

    • WordPress 이미지의 기본 사용자 이름은 bitnami

    • 터미널 사용 접속 시에는 ssh -i ~/Downloads/<키_이름>.pem bitnami@<IPv4_주소>

  • stress 프로그램을 통해 CPU에 부하 주기

    • sudo apt-get install stressstress --cpu 4


  • 새로운 인스턴스 생성 완료


  • WordPress 블로그에 글을 작성하기

    • <Auto Scaling 생성 인스턴스의 퍼블릭 IPv4 주소>/admin 접속

    • ssh 접속 터미널에서 cat bitnami_credentials로 사용자 이름과 비밀번호 확인 가능

  • 이후 ELB의 DNS 이름으로 접속하면 작성한 글이 나오기도, 나오지 않기도 함

    • 서로 다른 인스턴스로 부하를 분산시킴

    • 각 EC2 인스턴스가 각각 로컬에 따로 설치된 MySQL 서버를 사용 중

  • 별도의 DB 인스턴스를 만들고, 모든 EC2 인스턴스들이 해당 DB를 바라보도록 해야 함



📢 세 줄로 정리해보기!

1️⃣ Auto Scaling이란 트래픽에 따라 자동으로 서버(EC2 인스턴스)의 개수를 조절해주는 기능으로, 서비스의 안정적 제공과 효율적인 서버 운영을 위한 것이다.

2️⃣ Auto Scaling이 생성하는 EC2 인스턴스의 사전 정보는 시작 템플릿으로 설정하며, 이 과정에서 AMI를 사용할 수 있다.

3️⃣ Auto Scaling Group(ASG)의 가용 영역은 ELB의 대상 그룹(Target group)과 동일하게 설정한다. 이를 통해 ELB는 Auto Scaling으로 생성된 EC2 인스턴스에 부하를 분산시킬 수 있다.


참고 자료
소플의 처음 만난 AWS
Auto Scaling 개념 원리 & 사용 세팅

profile
Develop하는 개발자

0개의 댓글