AWS에서 WordPress 구축하기 – 도메인, 서버, HTTPS까지
복잡한 서버 설정 없이도, AWS에서 강력한 성능의 워드프레스 블로그를 구축할 수 있습니다. 도메인 연결부터 HTTPS 적용까지 실전 예제로 알려드립니다.
안녕하세요, ICT리더 리치입니다. 많은 분들이 워드프레스로 블로그나 웹사이트를 시작하시는데요, 성능과 확장성 면에서 AWS를 기반으로 워드프레스를 구축하면 장기적인 운영에도 유리합니다. 하지만 처음 접하시는 분들은 서버 설정, 도메인 연결, HTTPS 발급 등에서 어려움을 겪곤 하죠.
오늘은 AWS EC2, Route 53, Let's Encrypt를 활용하여 워드프레스를 설치하고, 실제로 운영 가능한 수준까지 설정하는 방법을 단계별로 소개드릴게요.
📌 바로가기 목차
| AWS EC2 기반 WordPress 설치를 작업 중인 전문가 여성의 대표 썸네일 |
1. EC2 인스턴스 생성 및 워드프레스 설치
AWS EC2(Elastic Compute Cloud)는 클라우드에서 가상 서버를 제공하는 핵심 인프라 서비스입니다. 워드프레스 구축을 위해선 먼저 EC2 인스턴스를 생성하고, 웹서버와 데이터베이스, PHP 환경을 구성해야 합니다. 가장 기본적인 환경은 Ubuntu 기반의 LAMP 스택 (Linux, Apache, MySQL, PHP)입니다.
초보자라면 Bitnami WordPress 이미지를 활용하면 서버 세팅, 데이터베이스 구성, 워드프레스 설치까지 모두 자동으로 구성됩니다. AWS Marketplace에서 Bitnami WordPress를 선택 후 EC2 인스턴스로 바로 실행하세요.
아래는 EC2에 LAMP 스택을 구성하고 워드프레스를 설치하는 전체 예시 코드입니다.
# 시스템 업데이트 및 필수 패키지 설치
sudo apt update
sudo apt upgrade -y
# Apache 웹 서버 설치
sudo apt install apache2 -y
# MySQL 서버 설치 및 보안 설정
sudo apt install mysql-server -y
sudo mysql_secure_installation
# PHP 및 확장 모듈 설치
sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-xmlrpc -y
# Apache 재시작
sudo systemctl restart apache2
# 워드프레스 다운로드 및 설정
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
sudo mkdir -p /var/www/html/wordpress
sudo cp -a wordpress/. /var/www/html/wordpress
# 디렉터리 권한 설정
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
# MySQL 접속 후 워드프레스용 DB 및 계정 생성
sudo mysql -u root -p
CREATE DATABASE wp_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY '비밀번호입력';
GRANT ALL PRIVILEGES ON wp_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
# Apache 설정 확인 및 테스트
sudo systemctl restart apache2
2. 도메인 구입 및 Route 53 설정
사이트에 도메인을 연결하기 위해서는 DNS 설정이 필요합니다. AWS에서는 Route 53이라는 고가용성 DNS 서비스를 제공합니다. GoDaddy, 카페24, 가비아 등에서 도메인을 구입한 후, NS 레코드를 Route 53에서 관리하거나 직접 A레코드 설정을 통해 EC2 퍼블릭 IP로 연결합니다.
Route 53에서 호스팅 영역(Hosted Zone)을 생성하고 아래와 같이 A 레코드를 설정하세요:
| 설정 항목 | 값 예시 |
|---|---|
| 레코드 타입 | A - IPv4 address |
| 호스트 이름 | example.com |
| 값 | 13.124.xxx.xxx (EC2 퍼블릭 IP) |
설정 후 반영까지 최대 24시간이 소요될 수 있으며, nslookup이나 dig 명령어로 확인 가능합니다.
Route 53은 AWS의 강력한 DNS 서비스입니다. 도메인을 AWS Route 53에 등록하거나 외부 도메인을 연결하고, A 레코드나 CNAME을 통해 EC2 인스턴스와 매핑합니다. 호스팅 영역(Hosted Zone)을 생성하고, IP 주소 또는 Load Balancer를 가리키도록 설정하면 됩니다.
# 예시: AWS Route 53에 도메인 등록 후 레코드 설정
# 1. 호스팅 영역 생성
# example.com이라는 도메인 기준
# AWS 콘솔에서 Route 53 > 호스팅 영역 > 생성 클릭
# 2. A 레코드 생성
# Name: example.com
# Type: A - IPv4 address
# Value: EC2 퍼블릭 IP (예: 13.124.xxx.xxx)
# 3. 외부 도메인 등록기관 (예: 가비아, 카페24)에 네임서버(NS) 입력
# AWS에서 생성된 NS 레코드 4개를 복사하여 입력
# 4. 테스트
# 도메인 접속 후 EC2의 아파치 화면 또는 워드프레스 설치화면이 뜨는지 확인
# 5. nslookup 또는 dig로 확인 (로컬 캐시 반영 여부 체크)
nslookup example.com
dig example.com
# 6. TTL(Time To Live) 설정 확인
# 빠른 전파를 원할 경우 TTL을 300(5분)으로 설정 가능
![]() |
| 도메인 + HTTPS 완전정복, 실전 AWS 설정 흐름을 시각화한 고퀄리티 인포그래픽 |
3. HTTPS 보안 인증서 설정하기
HTTPS는 사용자와 서버 간 통신을 암호화하여 보안성을 확보해주며, SEO(검색엔진 최적화)에도 매우 중요합니다. AWS에서는 ELB + ACM(유료) 방법도 있지만, EC2에서 Let’s Encrypt를 활용한 무료 SSL 설정이 실용적입니다.
Certbot은 Let’s Encrypt에서 인증서를 발급받고 자동 갱신을 지원하는 도구입니다. 다음 순서대로 설정하세요:
- 1단계: Certbot 설치 (예: snap 이용)
- 2단계:
sudo certbot --apache실행 - 3단계:
crontab -e로 자동 갱신 설정
모든 설정이 완료되면 브라우저에서 주소창 자물쇠 아이콘이 나타나는지 확인하세요.
Let’s Encrypt는 무료 SSL 인증서를 발급해주는 비영리 단체입니다. Certbot이라는 툴을 사용하면 자동으로 인증서 발급, 구성, 갱신까지 처리됩니다. HTTPS는 보안은 물론 검색 엔진 최적화(SEO)에도 긍정적인 영향을 줍니다.
# Certbot 설치 (Ubuntu 기준)
sudo apt update
sudo apt install snapd -y
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
# Apache용 플러그인 설치
sudo apt install python3-certbot-apache -y
# 인증서 발급 및 자동 적용
sudo certbot --apache -d example.com -d www.example.com
# 성공 메시지 확인 후 SSL 적용 완료
# 브라우저에서 https://example.com 접속 시 자물쇠 아이콘 확인
# 인증서 자동 갱신 테스트
sudo certbot renew --dry-run
# crontab 등록 여부 확인 (보통 자동 등록됨)
sudo crontab -l
# 만료 전 자동 갱신되며 이메일 알림 발송됨
4. 자주 발생하는 문제와 해결 방법
AWS 환경에서 워드프레스를 설치하면서 자주 발생하는 문제는 다음과 같습니다. 문제 발생 시 아래 해결 방법을 단계별로 확인하세요.
- 퍼미션 오류: 웹 루트 디렉터리 권한을
www-data로 설정해야 합니다.sudo chown -R www-data:www-data /var/www/html - HTTP/HTTPS 접속 불가: 보안 그룹(Security Group)에서 인바운드 규칙에 80/443 포트가 열려 있어야 합니다.
- SSL 인증서 오류: 도메인 DNS 반영이 완료되지 않은 경우 인증서 발급 실패.
dig example.com으로 IP 확인 후 진행하세요. - 워드프레스 설정 오류:
wp-config.php내 DB 접속 정보가 정확한지 확인하세요.
AWS로 워드프레스를 구축하면서 많이 발생하는 문제는 다음과 같습니다. 특히 HTTP 포트 미개방, 디렉토리 권한 오류, SSL 인증서 만료가 대표적입니다. 이러한 이슈들은 시스템 설정과 보안 정책을 정확히 이해하고 적용하면 해결할 수 있습니다.
# 1. 보안 그룹에서 HTTP/HTTPS 포트 열기
# AWS 콘솔 > EC2 > 보안 그룹 설정 > 인바운드 규칙 추가
# 아래는 CLI에서 추가하는 명령
aws ec2 authorize-security-group-ingress \
--group-id sg-xxxxxxxx \
--protocol tcp \
--port 80 \
--cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress \
--group-id sg-xxxxxxxx \
--protocol tcp \
--port 443 \
--cidr 0.0.0.0/0
# 2. 퍼미션 오류 해결 - 워드프레스 디렉토리 권한 설정
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;
# 3. SSL 인증서 갱신 자동화 설정 확인
sudo certbot renew --dry-run
# 4. Apache 로그 확인 (문제 진단용)
sudo tail -f /var/log/apache2/error.log
# 5. 웹브라우저 캐시 문제 해결 (클라이언트 측 문제)
Ctrl + Shift + R 또는 브라우저 캐시 삭제 후 재시도
![]() |
| EC2 서버 생성부터 HTTPS 인증까지, 워드프레스 구축 흐름을 안내하는 고품질 인포그래픽 |
5. AWS 비용 절감 팁
클라우드 비용 최적화는 워드프레스 운영의 중요한 전략입니다. 아래 방법들을 적극적으로 활용해 예산을 효율적으로 운영하세요.
| 전략 | 내용 |
|---|---|
| 스팟 인스턴스 | 비정기적 트래픽 또는 테스트 환경에 사용 시 최대 90% 비용 절감 |
| Reserved Instance | 1~3년 약정으로 장기 사용 시 최대 75% 비용 절약 |
| Auto Scaling | 사용량에 따라 서버 수 조정, 과금 최소화 |
| S3 정적 자산 분리 | 이미지, JS, CSS 등을 S3로 옮겨 EC2 트래픽 감소 |
클라우드를 장기적으로 운영하려면 비용 절감 전략이 매우 중요합니다. AWS는 다양한 요금제와 인스턴스 옵션을 제공하며, 다음과 같은 방법으로 최적화할 수 있습니다:
# 1. 프리티어 인스턴스 (t2.micro) 활용
# 신규 계정은 12개월 동안 무료
aws ec2 run-instances \
--image-id ami-xxxxxxxx \
--count 1 \
--instance-type t2.micro \
--key-name my-key \
--security-groups my-sg
# 2. 스팟 인스턴스 사용 (최대 90% 절감)
aws ec2 request-spot-instances \
--spot-price "0.005" \
--instance-count 1 \
--type "one-time" \
--launch-specification file://specification.json
# 3. 예약 인스턴스 구매
# 1년 또는 3년 약정으로 최대 75% 절약
aws ec2 describe-reserved-instances-offerings
# 4. 사용하지 않는 리소스 정리
aws ec2 describe-instances
aws ec2 terminate-instances --instance-ids i-xxxxxxxx
# 5. 비용 분석 리포트 활성화
aws ce get-cost-and-usage \
--time-period Start=2023-11-01,End=2023-12-01 \
--granularity MONTHLY \
--metrics "BlendedCost" "UnblendedCost"
6. 추천 플러그인 & 테마 구성
고성능 워드프레스를 운영하려면 최적화된 플러그인과 가볍고 SEO 친화적인 테마 구성이 필수입니다. 다음은 전문가들이 선호하는 조합입니다.
- Elementor: 강력한 시각적 페이지 빌더로 비개발자도 손쉽게 제작 가능
- Rank Math: SEO 최적화 및 구글 서치콘솔 연동 지원
- UpdraftPlus: 정기적 백업 설정 및 클라우드 백업 저장 가능
- LiteSpeed Cache: 서버 캐싱 및 이미지 최적화로 속도 개선
테마는 GeneratePress 또는 Astra 같이 가볍고 반응형 성능이 좋은 테마를 추천합니다.
워드프레스 사이트의 성능과 SEO를 향상시키기 위해 필수적으로 설치해야 하는 플러그인 목록입니다. 또한 반응형 및 SEO 최적화된 테마를 선택하는 것이 중요합니다.
# 1. 필수 플러그인 설치 명령어 예시 (WP-CLI)
wp plugin install elementor --activate
wp plugin install rank-math-seo --activate
wp plugin install updraftplus --activate
wp plugin install litespeed-cache --activate
# 2. 자동 업데이트 설정 (보안 유지)
wp plugin update --all
# 3. 추천 테마 설치 및 적용
wp theme install astra --activate
# 4. 캐시 플러그인 설정 (LiteSpeed 전용)
wp litespeed set option cache_mobile 1
wp litespeed set option cache_favicon 1
# 5. 백업 설정 (UpdraftPlus)
# 워드프레스 관리자 > 설정 > UpdraftPlus > 백업 일정 설정
# Google Drive 또는 Dropbox 연동
| AWS에서 WordPress 구축하기 – EC2 설정을 실습 중인 테크 남성 썸네일 |
7. 자주 묻는 질문 (FAQ)
워드프레스 자체는 오픈소스로 완전히 무료입니다. 하지만 AWS에서 사용하는 서버 자원(EC2, 스토리지, 데이터 전송 등)은 유료입니다. 다행히 t2.micro 인스턴스를 활용하면 월 750시간까지 프리티어(무료 계층)로 사용할 수 있어 입문자에게 적합합니다. 단, 프리티어는 가입 후 12개월까지만 적용되므로 이후에는 요금이 부과될 수 있습니다.
아닙니다. AWS Route 53은 도메인 구입과 DNS 관리를 모두 제공하지만, 가비아, 카페24, GoDaddy 같은 외부 도메인 판매처에서 구입한 도메인도 문제없이 사용 가능합니다. 이 경우 Route 53의 NS(Name Server) 정보를 외부 도메인 설정에 연결하면 되고, 또는 외부에서 A레코드를 직접 EC2 퍼블릭 IP로 지정해도 됩니다. 유연한 호환이 가능합니다.
무료 인증서인 Let’s Encrypt는 기본적으로 90일마다 갱신이 필요합니다.
하지만 대부분은 Certbot 도구를 이용한 자동 갱신으로 설정하기 때문에 관리가 간편합니다.
crontab으로 주기적 실행을 등록하면, 알아서 갱신되며 인증서 만료 걱정 없이 사용할 수 있습니다.
트래픽이 거의 없는 시간대(예: 새벽)나 사용하지 않을 때는 인스턴스를 꺼두는 것이 비용 절감에 효과적입니다. 특히 실습 목적이나 테스트 환경이라면 자동화 스케줄러(CLI 또는 Lambda)로 정기 중지를 설정하면 편리합니다. 단, EC2 인스턴스를 중지하면 퍼블릭 IP가 변경될 수 있으므로 Elastic IP를 사용하는 것이 안전합니다.
다음 항목을 빠르게 점검해보세요:
- 🔓 보안 그룹(Security Group)에 80, 443, 22 포트가 열려 있는지
- 🌐 퍼블릭 IP 주소가 바뀌지 않았는지 (중지 후 재시작 시 변경될 수 있음)
- ⚙️ EC2 인스턴스 상태가 running인지 (중지되었으면 작동 불가)
- 📛 인바운드/아웃바운드 정책에 제한이 없는지
8. 마무리 요약
✅ AWS에서 워드프레스 구축은 생각보다 쉽고 강력합니다
이 글에서는 AWS EC2를 기반으로 워드프레스를 설치하고, 도메인을 연결하고, HTTPS를 적용하는 전체 과정을 소개했습니다.
처음에는 복잡해 보일 수 있지만, 한 단계씩 따라 하다 보면 누구나 안정적인 워드프레스 사이트를 구축할 수 있습니다.
비용 관리와 보안도 고려하면, 장기적으로 더 강력하고 유연한 웹사이트 운영이 가능합니다.
지금 바로 AWS로 나만의 워드프레스 블로그를 시작해보세요!


댓글
댓글 쓰기