AWS Auto Scaling은 애플리케이션의 가용성과 비용 효율성을 높이기 위해, 사용자의 설정 조건에 따라 EC2 인스턴스 수를 자동으로 조절하는 기능입니다.
주요 개념
개념설명
Auto Scaling Group(ASG) | 자동으로 EC2 인스턴스를 시작/중지/종료하는 단위 그룹입니다. 최소, 최대, 원하는 인스턴스 수 등을 설정합니다. |
Scaling Policy | 트래픽, CPU 사용률 등 지표를 기준으로 인스턴스를 늘리거나 줄이는 조건을 정의합니다. |
Launch Template/Configuration | 새 인스턴스를 만들 때 사용할 AMI, 인스턴스 타입, 키페어, 보안 그룹 등 설정을 정의합니다. |
Health Check | 비정상 인스턴스를 감지하고 자동으로 교체합니다. (EC2, ELB 기반 헬스체크 가능) |
Lifecycle Hook | 인스턴스가 시작되거나 종료될 때 특정 작업(예: 로그 저장, 알림 등)을 수행할 수 있게 해줍니다. |
- 로드 밸런싱 - 대상 그룹 생성 - 추후 그룹 추가
- 로드 밸런서 생성
- 인터넷 경계
- VPC
- 가용영역 - 퍼블릭
- 보안 그룹
- 대상 그룹 선택
- 리스너 태그 추가
- NAME - MYALBlistenr
EC2 - 시작 템플릿
- 네트워크 설정 - 서브넷 포함하지 않음
- 메타데이터
- 활성 / 토큰 1,2 / 2 / 활성
- 사용자 데이터
#!/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
- AUTO-sacle-group
- 가용영역 - 프라이빗 선택
- 기존 밸런서 연결
[인스턴스 삭제 및 중지 시 인스턴스 개수 자동 조정]
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 |