AWS EC2 워드프레스 개발 서버 구축 가이드

🎯 목적

  • 약 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 정도의 비용으로 안정적인 워드프레스 개발 환경을 구축할 수 있습니다. 비정기적 사용 + 자동 종료로 비용을 최적화하면서도 충분한 성능을 확보할 수 있는 구성입니다.

공유하기

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다