🌐 Amazon RDS 기초 완전 이해 가이드
1. Amazon RDS란 무엇인가
**Amazon RDS(Amazon Relational Database Service)**는 AWS에서 제공하는 관계형 데이터베이스 관리 서비스입니다.
직접 서버를 설치하거나 유지보수할 필요 없이, 클릭 몇 번으로 안정적인 DB 인스턴스를 생성하고 운영할 수 있습니다.
대표적으로 MySQL, PostgreSQL, Oracle, MariaDB, SQL Server, Amazon Aurora 등을 지원합니다.
RDS의 가장 큰 장점은 자동화입니다.
백업, 패치, 모니터링, 확장까지 대부분 자동으로 처리되어 개발자는 애플리케이션 로직에만 집중할 수 있습니다.

2. 주요 구성 요소
(1) DB 인스턴스
- 실제 데이터베이스가 동작하는 가상 서버입니다.
- EC2 인스턴스처럼 CPU, 메모리, 스토리지 용량을 지정할 수 있습니다.
(2) DB 엔진
- 사용할 데이터베이스 종류를 뜻합니다.
예: MySQL, PostgreSQL, Oracle, MariaDB, SQL Server, Aurora 등
(3) 스토리지 타입
- 범용 SSD(gp2/gp3): 대부분의 일반적인 워크로드에 적합
- 프로비저닝 IOPS(io1/io2): 높은 성능이 필요한 트랜잭션 환경
- 마그네틱(Deprecated): 오래된 저비용 옵션
(4) 멀티 AZ 배포
- 주(Primary) DB와 대기(Standby) DB를 서로 다른 가용 영역(AZ)에 자동 복제합니다.
- 하나의 AZ에 장애가 발생하더라도 자동으로 장애조치(Failover)가 이루어집니다.
3. RDS의 주요 기능
✅ 자동 백업
- 매일 백업이 자동 수행되며, 지정된 보존 기간 내에서 복원이 가능합니다.
- 특정 시점(Point-in-time)으로 복구도 지원합니다.
✅ 보안
- VPC 내에 배치되어 네트워크 접근을 제어할 수 있고,
IAM, KMS 암호화, SSL 연결 등을 통한 다층 보안이 가능합니다.
✅ 모니터링
- Amazon CloudWatch를 통해 CPU 사용률, 스토리지, 연결 수 등을 실시간으로 확인할 수 있습니다.
✅ 확장성
- 수직 확장: 인스턴스 유형 변경으로 성능 향상
- 수평 확장: 리드 리플리카(Read Replica)를 추가하여 읽기 부하 분산
4. RDS 생성 절차 요약
- AWS 콘솔 접속 → RDS 서비스 선택
- 데이터베이스 생성(Create database) 클릭
- 표준 생성(Standard create) 선택
- 엔진 선택(MySQL, PostgreSQL 등)
- 템플릿 선택(프리티어/프로덕션 등)
- DB 인스턴스 이름, 사용자 이름, 비밀번호 설정
- 스토리지 및 VPC 설정
- 백업 및 모니터링 설정
- 생성(Create database) 클릭
📌 주의: RDS 인스턴스가 정상적으로 연결되려면,
보안 그룹에서 인바운드 규칙에 MySQL(3306) 포트를 열어야 합니다.
5. 연결 방법
RDS 생성 후에는 **엔드포인트(Endpoint)**와 포트 번호를 확인합니다.
이 정보를 기반으로 다음과 같이 연결할 수 있습니다.
mysql -h your-db-instance.cle2aws.com -u admin -p
또는 MySQL Workbench, DBeaver 등의 GUI 도구를 이용해 시각적으로 접속할 수도 있습니다.
6. 요금 구조 이해
- RDS 요금은 사용한 만큼(pay-as-you-go) 청구됩니다.
- 인스턴스 유형과 시간당 요금
- 스토리지 용량
- 백업 스토리지
- 데이터 전송량
- 프리티어(Free Tier)에서는 750시간/월, 20GB 스토리지까지 무료입니다.
7. RDS의 장단점
| 구분 | 장점 | 단점 |
| 자동화 | 백업, 패치, 장애복구 자동 | 세부 OS 접근 불가 |
| 확장성 | 인스턴스 크기 변경 쉬움 | 일시적 다운타임 가능 |
| 안정성 | Multi-AZ로 고가용성 확보 | 높은 성능 환경은 비용 상승 |
| 관리성 | 콘솔 중심 관리 편리 | 커스터마이징 제약 있음 |
8. 실습 예시
- AWS 프리티어 계정으로 RDS(MySQL) 생성
- VPC 내 EC2 인스턴스에서 다음 명령으로 연결 테스트:
- mysql -h rds-endpoint -u admin -p
- 데이터베이스 생성:
- CREATE DATABASE testdb;
- 간단한 테이블 추가 및 조회:
- CREATE TABLE members(id INT AUTO_INCREMENT, name VARCHAR(20), PRIMARY KEY(id)); INSERT INTO members(name) VALUES ('홍길동'); SELECT * FROM members;
9. 마무리 정리
Amazon RDS는 클라우드 환경에서 데이터베이스를 손쉽게 운영할 수 있게 해주는 핵심 서비스입니다.
관리 부담은 줄이고, 안정성과 확장성을 동시에 확보할 수 있습니다.
특히 스타트업, 개인 개발자, 교육 실습 환경에서는 MySQL 프리티어 RDS가 가장 접근성이 높습니다.
💡 Tip:
RDS는 EC2 기반의 수동 설치형 DB보다 초기 설정은 쉽지만,
비용과 제약을 감안해 실습 → 프로토타입 → 서비스 단계별로 적절히 사용하는 것이 좋습니다.