1. 개요
AWS에서 EC2 인스턴스를 운영할 때 트래픽 증가에 대비하여 로드 밸런서(ALB)를 설정하면 안정적으로 서비스를 제공할 수 있습니다. 이 글에서는 ALB를 설정하고, 기존 EC2를 복제하여 확장하는 방법과 비용 절감을 위해 ALB를 삭제하는 방법까지 다룹니다.
2. AWS ALB(Application Load Balancer)란?
ALB는 애플리케이션 계층(L7)에서 트래픽을 분산하는 AWS의 로드 밸런서 서비스입니다.
주요 기능은 다음과 같습니다.
✅ 여러 개의 EC2 인스턴스 간 트래픽 자동 분산
✅ Auto Scaling Group(ASG)과 연동하여 트래픽 변화에 맞춰 인스턴스 확장
✅ HTTPS/SSL 지원을 통해 보안 강화
✅ Health Check 기능으로 정상적인 인스턴스로만 트래픽 전달
3. ALB를 활용한 EC2 로드 밸런싱 설정 방법
EC2 인스턴스 2개를 ALB를 통해 로드 밸런싱하도록 설정하는 방법을 단계별로 정리하겠습니다.
3.1 EC2 인스턴스 2개 생성
- AWS 콘솔에서 EC2 서비스 이동
- Amazon Linux 2 또는 Ubuntu 선택 후 t2.micro 인스턴스 생성
- 보안 그룹에서 포트 80(HTTP) 및 22(SSH) 허용
- 인스턴스 2개를 생성 후, 각각 SSH 접속하여 웹 서버 실행

🔹 3.2 ALB 생성 및 설정
- AWS 콘솔 → EC2 → Load Balancers 이동 → "로드 밸런서 생성" 클릭
- "Application Load Balancer" 선택
- 인터넷 연결형 ALB 생성
- VPC 및 서브넷 선택 (최소 2개 서브넷 필요)
- 보안 그룹 설정 (포트 80 허용)
- Target Group 생성 후 EC2 2개 추가
✅ ALB의 DNS 주소를 확인하여 웹 페이지가 정상적으로 로드되는지 테스트!
4. EC2 인스턴스를 복제하여 동일한 환경 만들기
기존 EC2를 복제하려면 AMI(Amazon Machine Image)를 생성한 후, 이를 기반으로 새로운 EC2를 시작하면 됩니다.
🔹 EC2 복제 방법
- AWS 콘솔 → EC2 → 기존 인스턴스 선택 → "이미지 생성" 클릭
- AMI 생성 완료 후, AMI를 기반으로 새로운 EC2 생성
- 생성된 인스턴스에서 웹 서버가 정상적으로 실행되는지 확인
✅ 기존 환경 그대로 유지하면서 새로운 EC2를 쉽게 추가 가능!
5. ALB Health Check 문제 해결
ALB의 Target Group에서 EC2 상태가 비정상(Unhealthy)으로 표시되는 경우 해결 방법을 정리합니다.
🔹 해결 방법
- ALB의 Health Check Path 확인
- 기본 / 경로가 아니라 /health 등으로 설정되어 있으면 정상 응답이 오지 않을 수 있음
- EC2에서 직접 확인
curl -I http://localhost/
- EC2 보안 그룹 확인
- ALB의 보안 그룹이 EC2의 포트 80에 접근할 수 있도록 허용
aws ec2 authorize-security-group-ingress --group-id <EC2 보안 그룹> --protocol tcp --port 80 --source-group <ALB 보안 그룹> - 웹 서버 정상 동작 여부 확인
systemctl status httpd # Apache
systemctl status nginx # Nginx
✅ Health Check 설정을 조정하여 더 빠르게 상태 복구 가능!
- Healthy Threshold: 5 → 2
- Interval: 30초 → 10초
- Timeout: 5초 → 2초
6. 비용 절감을 위한 ALB 삭제
🔹 ALB를 삭제하는 방법
ALB는 사용하는 동안 지속적으로 비용이 발생하므로, 필요 없을 경우 삭제하는 것이 좋습니다.
aws elbv2 delete-load-balancer --load-balancer-arn <ALB-ARN>
✅ EC2도 중지(Stop)하면 추가 비용 발생 방지 가능
aws ec2 stop-instances --instance-ids <EC2-ID>
7. ALB 설정 백업 및 복구 (CloudFormation 사용)
ALB는 스냅샷으로 백업할 수 없지만, CloudFormation을 사용하면 JSON/YAML로 설정을 저장하고 나중에 복구 가능합니다.
🔹 ALB 설정 백업
- AWS 콘솔 → CloudFormation 이동
- 기존 ALB 선택 → "리소스에서 생성" → JSON 저장
- 필요할 때 CloudFormation을 통해 복원 가능
또는 AWS CLI를 이용해 JSON 파일로 백업 후 재생성 가능:
✅ JSON 파일을 기반으로 새로운 ALB를 CLI로 다시 생성 가능!
. alb-backup.sh : 삭제 할 ALB 정보 json파일 백업
. alb-delete.sh : 백업 완료된 ALB 삭제
. alb-rebuild.sh : json 파일 백업된 ALB 재생성 작업
8. 결론
AWS에서 EC2와 ALB를 활용하여 트래픽을 분산하고, 부하 증가에 대응하는 방법을 배웠습니다.
🔹 핵심 요약
- ✅ ALB를 생성하여 EC2 트래픽 로드 밸런싱
- ✅ EC2 인스턴스를 AMI로 복제하여 확장
- ✅ Health Check 문제 해결
- ✅ 비용 절감을 위해 ALB 삭제 및 EC2 중지
- ✅ CloudFormation을 사용한 ALB 설정 백업 및 복구
이제 AWS에서 안정적인 서비스를 운영할 수 있습니다!
이 글을 블로그에 올리면 AWS ALB를 활용하는 실전 가이드가 될 수 있을 거예요!
필요한 내용 추가 또는 수정할 부분이 있으면 알려주세요.
'AWS-ALB' 카테고리의 다른 글
8.8. ALB(Application Load Balancer)와 Auto Scaling 활용한 실전 AWS 서비스 구성 방법 (0) | 2025.02.23 |
---|