본문 바로가기

IT 엔지니어/CLOUD

AWS - Auto Scaling Group

AWS Auto Scaling은 애플리케이션의 가용성과 비용 효율성을 높이기 위해, 사용자의 설정 조건에 따라 EC2 인스턴스 수를 자동으로 조절하는 기능입니다.

주요 개념

개념설명
Auto Scaling Group(ASG) 자동으로 EC2 인스턴스를 시작/중지/종료하는 단위 그룹입니다. 최소, 최대, 원하는 인스턴스 수 등을 설정합니다.
Scaling Policy 트래픽, CPU 사용률 등 지표를 기준으로 인스턴스를 늘리거나 줄이는 조건을 정의합니다.
Launch Template/Configuration 새 인스턴스를 만들 때 사용할 AMI, 인스턴스 타입, 키페어, 보안 그룹 등 설정을 정의합니다.
Health Check 비정상 인스턴스를 감지하고 자동으로 교체합니다. (EC2, ELB 기반 헬스체크 가능)
Lifecycle Hook 인스턴스가 시작되거나 종료될 때 특정 작업(예: 로그 저장, 알림 등)을 수행할 수 있게 해줍니다.

 

 

  1. 로드 밸런싱 - 대상 그룹 생성 - 추후 그룹 추가
  2. 로드 밸런서 생성
    1. 인터넷 경계
    2. VPC
    3. 가용영역 - 퍼블릭
    4. 보안 그룹
    5. 대상 그룹 선택
    6. 리스너 태그 추가
      1. NAME - MYALBlistenr

EC2 - 시작 템플릿

  1. 네트워크 설정 - 서브넷 포함하지 않음
  2. 메타데이터
    1. 활성 / 토큰 1,2 / 2 / 활성
  3. 사용자 데이터
#!/bin/bash

# EC2 인스턴스 ID 가져오기
export INSTANCE_ID=$(curl -s <http://169.254.169.254/latest/meta-data/instance-id>)

# 루트 비밀번호 설정 (Amazon Linux 2023에서는 chpasswd 사용)
echo "root:aws1234!" | chpasswd

# SSH 설정 변경
sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i 's/^#PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
systemctl restart sshd

# Apache 설치
dnf -y install httpd

# index.html에 인스턴스 ID 출력
echo "<h1>${INSTANCE_ID} (AUTO SCALING) Welcome to AWS WEB Server</h1>" > /var/www/html/index.html

# Apache 실행 및 부팅 시 자동 실행
systemctl enable httpd
systemctl start httpd

  1. AUTO-sacle-group
    1. 가용영역 - 프라이빗 선택
    2. 기존 밸런서 연결

 

 

 

 

[인스턴스 삭제 및 중지 시 인스턴스 개수 자동 조정]

 

 

 

 

dnf -y install stress
stres -c 2 / CPU 과부하로 인스턴스 생성 유도 

Auto Scaliing Poliicy
동적/크기 정책 설정 
축소 활성

 

동적 정책 적용으로 인스턴스 자동 생성

'IT 엔지니어 > CLOUD' 카테고리의 다른 글

AWS - NLB  (0) 2025.06.10
AWS - CloudFormation  (0) 2025.06.10
AWS - RDS / VPC -  (0) 2025.06.08
AWS - RDS  (0) 2025.06.08
AWS - Public INSTANCE  (2) 2025.06.07