AWS RDS(MySQL)는 안정적이고 자동화된 방식으로 데이터베이스를 운영할 수 있게 해주는 서비스입니다. 일반적인 EC2에 MySQL을 직접 설치하는 방식보다 편리하고 유지 관리가 간단합니다. 그리고 이 RDS를 워드프레스와 연동하면 고가용성과 자동 백업까지 가능한 유연한 웹사이트 인프라를 구성할 수 있죠.
이 글에서는 AWS RDS MySQL 설치부터 워드프레스와의 완벽한 연동까지 실습 형태로 안내드릴게요.
AWS RDS MySQL 설치 – 단계별 실습 가이드
1. RDS 서비스 접속
AWS 콘솔에서 ‘RDS’ 서비스를 검색해 진입합니다. RDS는 Amazon의 관리형 데이터베이스 서비스로, MySQL 외에도 PostgreSQL, MariaDB, Oracle 등을 지원합니다.
2. 데이터베이스 생성
- DB 생성 클릭
- 표준 생성(Standard Create) 선택
- 엔진 유형: MySQL
- 버전: 안정적인 최신 버전 선택 (예: 8.0.x)
- DB 인스턴스 식별자: 예)
wordpress-db
- 마스터 사용자 이름/비밀번호 설정
3. 인스턴스 사양 설정
- DB 인스턴스 클래스:
db.t3.micro
(프리 티어 사용 시) - 스토리지: 기본값으로 20GB GP2
- 자동 백업: 활성화 (필수 아님)
4. 네트워크 설정
- VPC 선택: 기존 또는 기본 VPC
- 퍼블릭 액세스 가능 여부:
예
선택 (워드프레스에서 외부 연결을 허용해야 하므로) - 보안 그룹: 새로 생성하거나 기존 EC2 보안 그룹 사용
5. 생성 및 가동 확인
- DB 생성 후 약 5~10분이 소요됩니다.
- 완료 후 ‘엔드포인트’를 복사합니다. (이 주소가 워드프레스에서 사용하는 DB 호스트가 됩니다)
워드프레스 설치 및 RDS MySQL 연동하기
이제 EC2 혹은 Lightsail에 설치된 워드프레스에서 RDS MySQL을 연결하는 작업을 진행합니다.
1. 워드프레스 설치
- EC2 또는 Lightsail 인스턴스에서 Ubuntu/Linux로 워드프레스 설치
Apache
,PHP
,MySQL-client
필수 설치- 워드프레스 소스코드를
/var/www/html
에 설치
2. wp-config.php 파일 설정
워드프레스의 DB 설정은 wp-config.php
파일에서 이뤄집니다. 해당 파일에서 다음 항목을 수정합니다:
define('DB_NAME', 'your_db_name');
define('DB_USER', 'your_db_user');
define('DB_PASSWORD', 'your_db_password');
define('DB_HOST', 'your-rds-endpoint.amazonaws.com');
DB_HOST
에는 앞서 복사한 RDS 엔드포인트 주소 입력- 포트는 기본적으로 3306번을 사용하므로 생략 가능 (
엔드포인트:3306
형태도 가능)
3. 보안 그룹 설정 (중요!)
- EC2(또는 Lightsail)의 보안 그룹에서 RDS의 **MySQL 포트(3306)**로의 인바운드 허용이 되어 있어야 합니다.
- 예: EC2의 보안 그룹 IP → RDS의 보안 그룹에 인바운드 허용 추가
4. 연결 테스트
- 워드프레스 웹 화면에서 설치 마법사 진행
- 정상적으로 RDS에 연결되면 데이터베이스 설정이 통과되고, 관리자 계정 생성으로 넘어갑니다
AWS RDS MySQL을 사용하는 이유는?
많은 사용자가 EC2에 직접 MySQL을 설치하는 대신, RDS를 선택하는 이유는 다음과 같습니다:
- 자동 백업 및 복원 기능
- 고가용성 (멀티 AZ 옵션)
- 성능 모니터링 및 자동 스케일링
- 운영 및 보안 패치 자동 적용
- 트래픽이 많아도 안정적인 운영 가능
따라서 개인 블로그부터 회사용 웹사이트까지 다양한 워드프레스 사이트에 매우 적합한 데이터베이스 인프라입니다.
Q&A
Q1. RDS와 EC2에 설치된 MySQL의 가장 큰 차이는 뭔가요?
가장 큰 차이는 운영 책임의 범위에 있습니다. EC2에 MySQL을 설치하면 모든 설정, 백업, 보안, 성능 튜닝을 직접 해야 하지만, RDS는 이 모든 것을 AWS가 대신 관리해줍니다. 특히 자동 백업, 장애 복구, 확장성 부분에서 RDS는 확실한 우위를 갖고 있습니다. 따라서 장기 운영을 염두에 둔다면 RDS가 훨씬 안정적이고 효율적입니다.
Q2. RDS 요금이 걱정됩니다. 얼마나 나올까요?
AWS 프리 티어를 사용하는 경우, RDS MySQL은 매달 750시간(t3.micro)까지 무료로 제공됩니다. 단, 저장소(20GB까지 무료)와 I/O 요금은 별도로 발생할 수 있으니 사용량을 잘 체크해야 합니다. 장기적으로 운영할 워드프레스 사이트라면, 요금 예측도구(AWS Calculator)를 활용해 대략적인 비용을 미리 산정해보는 것이 좋습니다.
Q3. 워드프레스에서 RDS에 연결이 안 될 때 어떻게 하나요?
가장 흔한 원인은 보안 그룹 설정 누락입니다. RDS는 기본적으로 외부 연결을 차단합니다. 따라서 EC2 또는 Lightsail의 퍼블릭 IP를 RDS의 보안 그룹에 인바운드 규칙으로 추가해야 합니다. 또한, wp-config.php의 DB_HOST
가 잘못된 경우도 연결 실패 원인이 됩니다. 포트 번호(3306)도 열려 있는지 확인하세요. 간단히 MySQL 클라이언트로 연결을 테스트해보는 것도 좋은 방법입니다:
mysql -h your-rds-endpoint.amazonaws.com -u your_user -p
Q4. RDS 백업은 자동으로 되나요?
네. RDS는 생성 시 자동 백업을 설정할 수 있고, 기본 설정으로는 7일간 스냅샷이 유지됩니다. 이 백업은 다른 리전으로도 복원 가능하며, 자동 복구 기능도 탑재되어 있어 예기치 않은 장애 상황에서도 안정적으로 운영할 수 있습니다. 또한, 수동 백업(Snapshot)을 직접 생성하여 장기 보관도 가능합니다. 백업 정책은 콘솔에서 쉽게 조정할 수 있습니다.
Q5. RDS의 성능을 어떻게 최적화할 수 있나요?
기본적으로는 올바른 인스턴스 타입 선택이 가장 중요합니다. 작은 워드프레스 사이트라면 t3.micro
로 충분하지만, 트래픽이 많아질수록 t3.small
, t3.medium
등으로 업그레이드가 필요합니다. 또한, RDS는 리드 리플리카(Read Replica)를 통해 읽기 부하를 분산할 수 있으며, 인덱스 최적화나 쿼리 튜닝도 성능 향상에 크게 기여합니다. Performance Insights
를 활성화하면 쿼리 성능 분석도 가능합니다.