초보자도 이해할 수 있는 RDS
소개
안녕하세요! 클래스메소드 금상원 입니다.
이번 블로그에서는 RDS의 대한 설명을 할려고 합니다. RDS는 AWS에서 제공하는 관계형데이터베이스 서비스입니다.
이번 블로그를 통해 RDS의 정보가 필요하셨던 분들께 조금이나마 도움이 되었으면 좋겠습니다.
그럼 시작 하겠습니다.
RDS란?
클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있습니다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화하고, 사용자가 애플리케이션에 집중하여 애플리케이션에 필요한 빠른 성능, 고가용성, 보안 및 호환성을 제공할 수 있도록 지원해주는 서비스 입니다.
RDS 데이터베이스 엔진
- MySql
- PostgreSql
- MariaDB
- ORACLE
- SQLServer
- Amazone Aurora
기능
Amazon RDS에서 기존 데이터베이스에서 사용하고 있는 코드, 애플리케이션 및 도구를 Amazon RDS에서 사용할 수 있으며 프로비저닝, 패치, 백업, 복원, 장애 탐지, 복구 등 일상적인 데이터베이스 작업을 처리합니다. 또한 다중 AZ 배포 옵션을 사용하여 기본 데이터베이스에서 동기식으로 복제된 보조 데이터베이스로 장애 조치되는 내장된 자동 장애 조치 기능과 고가용성으로 미션 크리티컬 워크로드를 실행할 수 있습니다. 읽기 전용 복제본을 사용하면 단일 데이터베이스 배포 용량을 한도 이상으로 확장하여 읽기 중심의 데이터베이스 워크로드를 처리할 수 있습니다.
관리 부담 감소
사용 편의성
AWS 관리 콘솔, Amazon RDS 명령줄 인터페이스 또는 간단한 API 호출을 통해 몇 분 만에 프로덕션용 관계형 데이터베이스의 성능을 활용할 수 있습니다.
Amazon RDS 데이터베이스 인스턴스는 선택한 엔진 및 클래스에 적합한 파라미터 및 설정 세트로 사전에 구성됩니다. 몇 분 이내에 데이터베이스 인스턴스를 시작하고 애플리케이션을 연결할 수 있습니다. DB 파라미터 그룹을 사용하면 데이터베이스를 세부적으로 제어하고 튜닝할 수 있습니다.
자동 소프트웨어 패치
Amazon RDS는 최신 패치를 통해 배포를 지원하는 관계형 데이터베이스 소프트웨어가 최신 상태로 유지되도록 합니다. 데이터베이스 인스턴스의 패치 여부와 시기를 선택적으로 제어할 수 있습니다.
모범 사례 권장 사항
Amazon RDS에서는 데이터베이스 인스턴스의 구성과 사용 지표를 분석하여 모범 사례 지침을 제공합니다.
권장 사항에서는 데이터베이스 엔진 버전, 스토리지, 인스턴스 유형 및 네트워킹과 같은 영역을 다룹니다. 고객은 권장 조치를 즉시 수행하거나 다음 유지 관리 기간에 수행하도록 예약하거나 완전히 무시할 수 있습니다.
성능
범용(SSD) 스토리지
Amazon RDS 범용 스토리지는 프로비저닝된 GB당 3 IOPS의 일관된 기본 성능과 기준선을 초과해 최대 3,000 IOPS로 버스팅할 수 있는 성능을 제공하는 SSD 지원 스토리지 옵션입니다. 이러한 스토리지 유형은 다양한 데이터베이스 워크로드에 적합합니다.
프로비저닝된 IOPS(SSD) 스토리지
Amazon RDS의 프로비저닝된 IOPS 스토리지는 빠르고 예측 가능하며 일관된 I/O 성능을 제공하도록 설계된 SSD 지원 스토리지 옵션입니다.
Amazon RDS에서는 데이터베이스 인스턴스 생성 시 IOPS 속도를 지정하면 데이터베이스 인스턴스의 수명에 맞춰 해당 IOPS 속도를 프로비저닝합니다. 실제 실현되는 IOPS는 데이터베이스 워크로드, 인스턴스 유형, 데이터베이스 엔진 유형에 따라 다를 수 있지만, 데이터베이스 인스턴스당 최대 40,000 IOPS까지 프로비저닝할 수 있습니다.
확장성
즉각적인 컴퓨팅 규모 조정
배포에 사용할 컴퓨팅 및 메모리 리소스를 최대 vCPU 32개와 RAM 244GiB의 범위 내에서 확장하거나 축소할 수 있습니다. 컴퓨팅 규모 조정 작업은 일반적으로 몇 분이면 완료됩니다
간편한 스토리지 규모 조정
스토리지에 대한 요구가 증가함에 따라 추가 스토리지를 프로비저닝할 수도 있습니다.
데이터베이스 스토리지에 대한 요구가 증가함에 따라 Amazon Aurora 엔진은 데이터베이스 볼륨을 최대 128TB 또는 사용자가 정의한 최대 크기까지 자동으로 확장할 것입니다. MySQL, MariaDB, Oracle 및 PostgreSQL 엔진을 사용하면 최대 64TB의 스토리지까지 확장할 수 있고 SQL Server를 이용하면 최대 16TB까지 확장할 수 있습니다. 가동 중단 없이 즉시 스토리지 확장이 가능합니다.
읽기 전용 복제본
읽기 전용 복제본을 사용하면 손쉽게 단일 DB 인스턴스의 용량 한도 이상으로 탄력적으로 확장하여 읽기 중심의 데이터베이스 워크로드를 처리할 수 있습니다.
특정 소스 DB 인스턴스의 복제본을 하나 이상 생성하여 여러 데이터 사본에서 들어오는 대량의 애플리케이션 읽기 트래픽을 처리하여 전체 읽기 처리량이 향상됩니다.
가용성 및 내구성
자동 백업
Amazon RDS의 자동 백업 기능을 사용하면 데이터베이스 인스턴스를 특정 시점으로 복구할 수 있습니다.
Amazon RDS는 데이터베이스와 트랜잭션 로그를 백업하고 사용자가 지정한 보존 기간 동안 이를 모두 저장합니다. 이를 통해 데이터베이스를 보존 기간 중 어느 시점(초 단위)으로나 복원할 수 있습니다(최근 5분 전까지 가능). 자동 백업 보존 기간은 최대 35일로 구성할 수 있습니다.
데이터베이스 스냅샷
데이터베이스 스냅샷은 Amazon S3에 저장된 인스턴스에 대해 사용자가 시작하는 백업으로서 명시적으로 삭제할 때까지 보관됩니다.
원하는 경우 언제든 데이터베이스 스냅샷으로 새 인스턴스를 생성할 수 있습니다. 운영상 데이터베이스 스냅샷이 전체 백업으로 사용되지만, 증분식 스토리지 사용에 대해서만 요금이 청구됩니다.
다중 AZ 배포
Amazon RDS 다중 AZ 배포는 데이터베이스 인스턴스의 가용성 및 내구성을 높여주므로 프로덕션 데이터베이스 워크로드에 적합합니다.
다중 AZ 데이터베이스 인스턴스를 프로비저닝하는 경우 Amazon RDS에서 다른 가용 영역(AZ)에 있는 예비 인스턴스에 데이터를 동기식으로 복제합니다.
자동 호스트 교체
Amazon RDS는 하드웨어에 장애가 발생할 경우, 배포를 지원하는 컴퓨팅 인스턴스를 자동으로 교체합니다.
보안
저장 데이터 및 전송 데이터 암호화
Amazon RDS를 사용하면 사용자가 AWS Key Management Service(KMS)를 통해 관리하는 키를 사용해 데이터베이스를 암호화할 수 있습니다.
Amazon RDS 암호화를 실행 중인 데이터베이스 인스턴스에서는 자동 백업, 읽기 전용 복제본 및 스냅샷과 마찬가지로 기본 스토리지에 저장된 데이터가 암호화됩니다.
Amazon RDS는 SQL Server 및 Oracle의 투명한 데이터 암호화를 지원합니다. Oracle의 투명한 데이터 암호화가 AWS CloudHSM과 통합되므로, AWS 클라우드 내 단일 테넌트 HSM(Hardware Security Module) 어플라이언스에서 암호화 키를 안전하게 생성, 저장 및 관리할 수 있습니다.
네트워크 격리
AWS는 자체 가상 네트워크에서 데이터베이스를 격리하고 업계 표준 암호화 IPsec VPN을 사용하여 온프레미스 IT 인프라에 연결할 수 있도록 Amazon VPC에서 데이터베이스 인스턴스를 실행할 것을 권장합니다. 방화벽 설정을 구성하고 데이터베이스 인스턴스에 대한 네트워크 액세스를 제어할 수 있습니다.
리소스 수준 권한
Amazon RDS는 AWS IAM과 통합되어 사용자 및 그룹이 특정 Amazon RDS 리소스(데이터베이스 인스턴스, 스냅샷, 파라미터 그룹 및 옵션 그룹)에서 수행할 수 있는 작업을 제어하는 기능을 제공합니다. 또한, Amazon RDS 리소스에 태그를 지정하고, IAM 사용자 및 그룹이 태그가 동일하고 연관된 값을 가진 리소스 그룹에서 수행할 수 있는 작업을 제어할 수 있습니다.
(예를 들어, 개발자는 "개발" 데이터베이스 인스턴스를 수정할 수 있고, "프로덕션" 데이터베이스 인스턴스는 데이터베이스 관리자만 수정할 수 있도록 IAM 규칙을 구성할 수 있습니다.)
관리 효율성
모니터링 및 지표
Amazon RDS는 추가 비용 없이 데이터베이스 인스턴스에 대한 Amazon CloudWatch 지표를 제공합니다. RDS 관리 콘솔을 사용하면 컴퓨팅/메모리/스토리지 용량 사용률, I/O 작업, 인스턴스 연결 등 주요 작업 지표를 보고 성능 문제를 신속하게 감지할 수 있는 편리한 도구인 성능 개선 도우미에 액세스할 수 있습니다.
이벤트 알림
Amazon RDS는 Amazon SNS를 통해 데이터베이스 이벤트를 이메일이나 SMS 텍스트 메시지로 알려줄 수 있습니다. AWS Management Console 또는 Amazon RDS API를 사용하여 데이터베이스 인스턴스와 관련된 40개 이상의 다양한 데이터베이스 이벤트를 구독할 수 있습니다.
구성 거버넌스
Amazon RDS는 AWS Config와 통합되므로 파라미터 그룹, 서브넷 그룹, 스냅샷, 보안 그룹 및 이벤트 구독을 비롯하여 DB 인스턴스의 구성에 대한 변경을 기록하고 감사함으로써 규정 준수를 지원하고 보안을 강화할 수 있습니다.
비용 효율성
사용한 만큼만 비용 지불
Amazon RDS는 사전 약정이 필요 없으며, 시작한 데이터베이스 인스턴스별로 월간 요금만 지불하면 됩니다. 그리고 데이터베이스 인스턴스가 더는 필요하지 않을 경우, 간편하게 삭제할 수 있습니다.
예약 인스턴스
Amazon RDS 예약 인스턴스는 1년 또는 3년 약정 기간 동안 DB 인스턴스를 예약할 수 있는 옵션을 제공하므로 온디맨드 인스턴스 요금과 비교하여 DB 인스턴스의 시간당 요금을 대폭 할인받을 수 있습니다.
중지 및 시작
Amazon RDS를 활용하면 한 번에 최대 7일까지 데이터베이스 인스턴스를 쉽게 중지했다 시작할 수 있습니다. 따라서 데이터베이스를 상시 구동하지 않아도 되는 개발 및 테스트 작업에 데이터베이스를 쉽고 저렴하게 이용할 수 있습니다.
요금에 대해서
Amazon RDS는 다양한 관계형 데이터베이스 사용 사례에 맞춰 최적화된 엄선된 인스턴스 유형을 제공합니다. 제공하고 있는 6개의 데이터베이스 엔진 중 하나를 선택하여 요금을 확인하세요.
- Amazon Aurora 요금
- Amazon RDS for MySQL 요금
- Amazon RDS for PostgreSQL 요금
- Amazon RDS for MariaDB 요금
- Amazon RDS for Oracle 요금
- Amazon RDS for SQL Server 요금
- 이전 세대 DB 인스턴스
마무리
이번 블로그에서는 AWS RDS서비스에 대해 알아보았습니다. RDS는 클라우드 환경에서 쉽고 간편하게 데이터 베이스를 구축하고 보안, 가용성등을 제공해주는 관계형 데이터베이스 라고 생각합니다. 다음은 RDS 구축하는 방법에대해서 알아보도록 하겠습니다. 감사합니다!