🎯 목적
- 약 20개의 워드프레스 사이트 보관 및 관리
- 새로운 워드프레스 개발 작업용 서버
- 클라우드패널을 통한 웹 기반 관리
- 비정기적 사용 (월 평균 100시간)
💻 추천 인스턴스 구성
EC2 인스턴스
- 인스턴스 타입: t3.xlarge
- CPU: 4 vCPU (버스트 가능)
- 메모리: 16GB RAM
- 리전: ap-northeast-2 (서울)
스토리지
- EBS GP3: 100GB
- 용도: 워드프레스 파일, 데이터베이스, 클라우드패널
- 예상 사용량: 사이트 20개 (40GB) + OS/패널 (15GB) + 여유 공간 (45GB)
네트워크
- 탄력적 IP: 고정 IP 할당
- 보안 그룹: HTTP(80), HTTPS(443), SSH(22), 클라우드패널 포트
🔄 자동 스케줄링 설정
매일 새벽 3시 자동 종료 (Lambda + EventBridge)
1. Lambda 함수 생성
import boto3
def lambda_handler(event, context):
ec2 = boto3.client('ec2', region_name='ap-northeast-2')
# 인스턴스 ID 설정 (실제 ID로 변경 필요)
instance_id = 'i-your-instance-id'
try:
# 인스턴스 상태 확인
response = ec2.describe_instances(InstanceIds=[instance_id])
state = response['Reservations'][0]['Instances'][0]['State']['Name']
# 실행 중이면 종료
if state == 'running':
ec2.stop_instances(InstanceIds=[instance_id])
return f'인스턴스 {instance_id} 종료 실행'
else:
return f'인스턴스 {instance_id}는 이미 {state} 상태'
except Exception as e:
return f'에러: {str(e)}'
2. EventBridge 규칙 설정
- 스케줄 표현식:
cron(0 18 * * ? *)
(한국시간 새벽 3시 = UTC 18시) - 대상: 위에서 생성한 Lambda 함수
3. Lambda 실행 권한 설정
Lambda 함수에 다음 IAM 정책 연결:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:StopInstances"
],
"Resource": "*"
}
]
}
수동 시작 방법
- AWS 콘솔: EC2 대시보드에서 인스턴스 시작
- AWS CLI:
aws ec2 start-instances --instance-ids i-your-instance-id
- AWS 모바일 앱: 외출 중에도 시작 가능
💰 월 예상 비용 (100시간 기준)
항목 | 비용 (USD) | 비용 (KRW) |
---|---|---|
t3.xlarge (100시간) | $18.56 | ₩24,800 |
EBS GP3 100GB | $8.00 | ₩10,700 |
탄력적 IP | $3.60 | ₩4,800 |
데이터 전송 | $2-5 | ₩2,700-6,700 |
총 비용 | $32.16-39.16 | ₩43,000-52,400 |
비용 구성 비율
- 인스턴스 사용료: 58%
- 스토리지: 25%
- 탄력적 IP: 11%
- 기타: 6%
✅ 설정 체크리스트
초기 설정
- [ ] EC2 인스턴스 생성 (t3.xlarge)
- [ ] EBS GP3 100GB 볼륨 연결
- [ ] 탄력적 IP 할당
- [ ] 보안 그룹 설정
- [ ] 클라우드패널 설치 및 설정
자동화 설정
- [ ] Lambda 함수 생성
- [ ] IAM 역할 및 정책 설정
- [ ] EventBridge 규칙 생성
- [ ] 테스트 실행 확인
운영 준비
- [ ] 워드프레스 사이트들 마이그레이션
- [ ] 정기 백업 설정 (EBS 스냅샷)
- [ ] 모니터링 설정 (CloudWatch)
- [ ] 비용 알림 설정
🔧 추가 최적화 팁
성능 최적화
- CloudWatch 모니터링: CPU 크레딧 사용량 체크
- 스냅샷 백업: 주요 데이터 정기 백업
- 부팅 시 자동 실행: 필수 서비스들 자동 시작 설정
- 스토리지 확장: 용량 부족 시 EBS 볼륨 확장 가능 (다운타임 없음)
비용 최적화
- 예약 인스턴스: 장기 사용 시 최대 40% 절약
- 스팟 인스턴스: 개발용이므로 중단 허용 시 최대 90% 절약
- 사용하지 않는 리소스 정리: 불필요한 스냅샷, 볼륨 삭제
⚠️ 주의사항
보안
- SSH 키 안전하게 관리
- 보안 그룹에서 필요한 포트만 개방
- 정기적인 보안 업데이트
데이터 보호
- 중요한 사이트는 정기 백업 필수
- 개발 중인 사이트도 중간 저장 권장
- 스냅샷을 다른 리전에도 복사 고려
모니터링
- 예상 비용 초과 시 알림 설정
- 인스턴스 상태 모니터링
- 디스크 사용량 정기 확인 (100GB 기준이므로 용량 관리 중요)
- 80% 사용 시 확장 검토 권장
📞 문의 및 지원
이 가이드로 설정하면 월 ₩43,000-52,000 정도의 비용으로 안정적인 워드프레스 개발 환경을 구축할 수 있습니다. 비정기적 사용 + 자동 종료로 비용을 최적화하면서도 충분한 성능을 확보할 수 있는 구성입니다.