Hello World 웹서버에 Auto Scaling Group(ASG)을 추가하여 로드밸런싱과 자동 확장 기능을 연동하는 실습 시나리오
이번 실습에서는 기존에 설정한 Application Load Balancer(ALB)에 Auto Scaling Group(ASG)을 추가하여, 웹 서버의 트래픽 부하에 따라 자동으로 EC2 인스턴스를 확장하거나 축소하는 구성을 실습해보겠습니다.
Launch Template (시작 템플릿) 생성
먼저 Auto Scaling에 사용할 EC2 인스턴스 시작 템플릿을 만듭니다.
EC2 대시보드에서 왼쪽 메뉴의 Launch Templates로 이동합니다.
Create Launch Template을 클릭합니다.
Launch Template Name: WebServerTemplate
AMI: 기존의 Amazon Linux 2 AMI를 선택합니다.
Instance Type: t2.micro를 선택합니다.
Key Pair: 이미 설정한 키 페어를 선택하거나 새 키 페어를 지정합니다.
Security Group: HTTP(80)와 SSH(22)가 허용된 보안 그룹을 선택합니다.
User Data: 아래 스크립트를 User Data 섹션에 넣어 EC2 인스턴스가 자동으로 Apache 서버를 설치하고, "Hello World" 페이지를 생성하도록 설정합니다.
#!/bin/bash
sudo yum update -y
sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd
echo "Hello World from Auto Scaling Group" > /var/www/html/index.html
Create Launch Template을 클릭하여 템플릿을 만듭니다.
Auto Scaling Group (ASG) 생성
이제 Auto Scaling Group을 생성하여 EC2 인스턴스가 자동으로 확장 및 축소되도록 설정합니다.
WebServerASG
WebServerTemplate
을 선택합니다.로드밸런서(ALB)와 Auto Scaling Group 연동
MyALB
를 선택합니다.MyTargetGroup
을 선택합니다.ASG 용량 설정
Auto Scaling 정책 설정
확장 및 축소 정책을 설정하여, 트래픽 부하에 따라 EC2 인스턴스를 자동으로 확장하거나 축소합니다.
Average CPU utilization
을 선택합니다.ALB DNS 이름 확인:
http://MyALB-1234567890.us-east-1.elb.amazonaws.com
Auto Scaling 테스트:
sudo yum install stress -y
stress --cpu 2 --timeout 300
확장 확인:
이 실습에서는 다음을 배웠습니다:
1. Auto Scaling Group(ASG)을 사용해 자동으로 EC2 인스턴스를 확장하고 축소하는 기능을 설정.
2. Application Load Balancer(ALB)와 ASG를 연동하여, 트래픽 부하에 따라 자동으로 EC2 인스턴스를 조정하고 트래픽을 균등하게 분배.
3. 실시간으로 CPU 부하를 모니터링하고 확장 정책이 적용되는지 확인.
이 구성은 트래픽 변동에 따라 유연하게 서버 자원을 관리하고 자동 확장 기능을 통해 비용을 최적화할 수 있는 중요한 DevOps 기술을 실습할 수 있는 기회입니다.