클라우드

Amazon RDS 기초 완전 이해 가이드

forSilver 2025. 11. 10. 20:42
반응형

🌐 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 생성 절차 요약

  1. AWS 콘솔 접속 → RDS 서비스 선택
  2. 데이터베이스 생성(Create database) 클릭
  3. 표준 생성(Standard create) 선택
  4. 엔진 선택(MySQL, PostgreSQL 등)
  5. 템플릿 선택(프리티어/프로덕션 등)
  6. DB 인스턴스 이름, 사용자 이름, 비밀번호 설정
  7. 스토리지 및 VPC 설정
  8. 백업 및 모니터링 설정
  9. 생성(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. 실습 예시

  1. AWS 프리티어 계정으로 RDS(MySQL) 생성
  2. VPC 내 EC2 인스턴스에서 다음 명령으로 연결 테스트:
  3. mysql -h rds-endpoint -u admin -p
  4. 데이터베이스 생성:
  5. CREATE DATABASE testdb;
  6. 간단한 테이블 추가 및 조회:
  7. 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보다 초기 설정은 쉽지만,
비용과 제약을 감안해 실습 → 프로토타입 → 서비스 단계별로 적절히 사용하는 것이 좋습니다.