0329 AWS SAA 자격증 대비 (2/N): 스토리지(EBS, S3)와 데이터베이스(RDS)
✅ 1. 스토리지 서비스: 워크로드에 맞는 선택
- AWS는 다양한 스토리지 서비스를 제공하며, 각 서비스의 특징과 용도를 명확히 구분하여 시나리오에 맞는 최적의 솔루션을 선택하는 능력이 중요합니다.
➕ EBS (Elastic Block Store): EC2의 전용 하드 디스크
- 개념: EC2 인스턴스에 연결하여 사용하는 블록 수준의 영구 스토리지 볼륨.
- 핵심 특징:
- 영속성 (Persistence): EC2 인스턴스가 종료되어도 데이터는 유지됩니다.
- 가용 영역(AZ) 종속성: EBS 볼륨은 특정 AZ 내에 생성되며, 같은 AZ에 있는 EC2 인스턴스에만 연결할 수 있습니다.
- 스냅샷 (Snapshot): 특정 시점의 EBS 볼륨을 S3에 백업하는 기능. 데이터 백업, 재해 복구, 다른 AZ/리전으로 볼륨을 복제하는 데 필수적입니다.
- 시험 포인트:
- "EC2 인스턴스의 부팅 볼륨으로 사용되는 스토리지는?" → EBS
- "특정 AZ의 장애에 대비하여 EC2 볼륨을 다른 AZ에서 복구하려면 어떻게 해야 하는가?" → 스냅샷을 생성한 후, 다른 AZ에서 해당 스냅샷으로 새 볼륨을 생성한다.
➕ S3 (Simple Storage Service): 무한한 객체 스토리지
- 개념: 인터넷을 통해 언제 어디서든 데이터를 저장하고 검색할 수 있는 객체 스토리지(Object Storage).
- 핵심 특징:
- 높은 내구성 및 가용성: 업로드된 객체는 자동으로 최소 3개 이상의 AZ에 복제되어 저장됩니다.
- 서버리스(Serverless): 관리할 서버가 없습니다.
- 버전 관리 (Versioning): 객체를 덮어쓰거나 삭제해도 이전 버전을 보존하여 데이터 유실을 방지합니다.
- 정적 웹사이트 호스팅: 서버 없이 HTML, CSS, JS 파일만으로 웹사이트를 호스팅할 수 있습니다.
- 시험 포인트:
- "대용량의 이미지나 동영상, 로그 파일, 정적 웹사이트 파일을 저장하기에 가장 적합한 서비스는?" → S3
- "비용을 최적화하기 위해, 자주 접근하지 않는 데이터를 저렴한 스토리지로 자동으로 옮기려면 어떤 기능을 사용해야 하는가?" → S3 수명 주기 관리 (Lifecycle Management)
➕ EFS (Elastic File System): 여러 EC2를 위한 공유 폴더
- 개념: 여러 EC2 인스턴스에서 동시에 접근하고 수정할 수 있는 공유 파일 시스템 (NFS 프로토콜).
- 핵심 특징:
- 리전(Region) 단위 서비스로, 여러 AZ에 걸쳐 있는 EC2 인스턴스들이 동시에 마운트하여 사용할 수 있습니다.
- 시험 포인트:
- "여러 웹 서버 인스턴스가 공통된 웹 콘텐츠나 파일을 공유해야 한다. 어떤 스토리지를 사용해야 하는가?" → EFS
✅ 2. RDS (Relational Database Service): 관리형 관계형 데이터베이스
- RDS는 AWS 클라우드에서 관계형 데이터베이스를 손쉽게 설치, 운영, 확장할 수 있도록 지원하는 완전 관리형 서비스입니다. 개발자는 DB 설치, 패치, 백업 등의 복잡한 작업에서 해방됩니다.
➕ 고가용성(High Availability): 다중 AZ (Multi-AZ) 배포
- 개념: 주(Primary) DB 인스턴스를 다른 가용 영역(AZ)에 있는 예비(Standby) 인스턴스에 실시간으로 동기 복제(Synchronous Replication)하는 기능입니다.
- 동작 방식:
- 평소에는 주 DB만 활성화되어 있고, 예비 DB는 대기만 합니다. (예비 DB에 직접 접근 불가)
- 주 DB에 장애가 발생하면, AWS는 DNS 엔드포인트를 자동으로 예비 DB로 전환(Failover)하여 서비스 중단을 최소화합니다.
- 목적: 장애 복구(Disaster Recovery) 및 고가용성 확보.
- 시험 포인트: "데이터베이스의 장애에 대비하여 서비스 중단을 최소화하기 위한 솔루션은?" → RDS 다중 AZ (Multi-AZ)
➕ 읽기 성능 확장(Read Scalability): 읽기 전용 복제본 (Read Replicas)
- 개념: 주 DB 인스턴스와는 별개로, 읽기(SELECT) 요청만을 전문적으로 처리하는 복제본을 여러 개 생성하는 기능입니다.
- 동작 방식:
- 주 DB의 데이터 변경 사항이 읽기 전용 복제본에 비동기적으로 복제(Asynchronous Replication)됩니다.
- 애플리케이션은 쓰기(INSERT, UPDATE, DELETE) 작업은 주 DB로, 읽기 작업은 여러 개의 읽기 전용 복제본으로 분산하여 보낼 수 있습니다.
- 목적: 읽기 성능 향상 및 주 DB의 부하 감소.
- 시험 포인트: "웹사이트의 읽기 트래픽이 많아 데이터베이스 성능이 저하되고 있다. 어떻게 해결해야 하는가?" → 읽기 전용 복제본(Read Replica)을 추가하여 읽기 요청을 분산시킨다.
📌 오늘의 핵심 요약 (Solutions Architect 관점)
- 스토리지 선택은 데이터의 접근 패턴에 따라 결정된다:
- 단일 EC2의 OS나 DB는 EBS.
- 대용량 정적 파일이나 백업은 S3.
- 여러 EC2 간의 파일 공유는 EFS.
- RDS는 고가용성과 성능 확장을 위한 명확한 솔루션을 제공한다:
- 장애 복구가 필요하면 → 다중 AZ (Multi-AZ).
- 읽기 성능 향상이 필요하면 → 읽기 전용 복제본 (Read Replica).
- 이 두 가지 RDS 기능은 목적이 다르며, 시험에서 매우 빈번하게 비교 대상으로 출제되므로 반드시 구분해야 합니다.