Amazon Relational Database Service(Amazon RDS)란 무엇입니까? - Amazon Relational Database Service

Amazon Relational Database Service(Amazon RDS)란 무엇입니까?

Amazon Relational Database Service(Amazon RDS)는 AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스입니다. 이 서비스는 산업 표준 관계형 데이터베이스를 위한 경제적이고 크기 조절이 가능한 용량을 제공하고 공통 데이터베이스 관리 작업을 관리합니다.

참고

이 지침은 ​Amazon Aurora 이외의 Amazon RDS 데이터베이스 엔진에도 적용됩니다. Amazon Aurora 사용에 대한 자세한 내용은 Amazon Aurora 사용 설명서를 참조하세요.

AWS 제품 및 서비스를 처음 사용하는 경우 자세한 내용은 다음 자료를 참조하세요.

Amazon RDS의 개요

AWS 클라우드에서 관계형 데이터베이스를 실행해야 하는 이유는 AWS가 관계형 데이터베이스의 까다롭고 번거로운 관리 작업을 대부분 대신하기 때문입니다.

Amazon EC2 및 온프레미스 데이터베이스

Amazon Elastic Compute Cloud(Amazon EC2)는 AWS 클라우드에서 확장 가능한 컴퓨팅 용량을 제공합니다. Amazon EC2를 사용하면 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다.

온프레미스 서버를 구매하면 CPU, 메모리, 스토리지 및 IOPS가 함께 번들로 제공됩니다. Amazon EC2에서는 이 모두가 분할되어 있어 독립적으로 확장할 수 있습니다. CPU가 더 많이 필요하거나 IOPS가 더 적게 필요하거나 스토리지가 더 많이 필요할 경우 쉽게 할당할 수 있습니다.

온프레미스 서버의 관계형 데이터베이스의 경우 사용지가 서버, 운영 체제 및 소프트웨어를 모두 관리해야 합니다. Amazon EC2 인스턴스에 있는 데이터베이스의 경우 AWS에서 운영 체제 아래의 계층을 관리합니다. 이러한 방식으로 Amazon EC2는 온프레미스 데이터베이스 서버를 관리해야 하는 부담을 일정 부분 덜어줍니다.

아래 표에서 온프레미스 데이터베이스와 Amazon EC2의 관리 모델을 비교할 수 있습니다.

기능

온프레미스 관리

Amazon EC2 관리

애플리케이션 최적화

고객

고객

확장성

고객

고객

높은 가용성

고객

고객

데이터베이스 백업

고객

고객

데이터베이스 소프트웨어 패치

고객

고객

데이터베이스 소프트웨어 설치

고객

고객

운영 체제(OS) 패치

고객

고객

OS 설치

고객

고객

서버 유지 관리

고객

AWS

하드웨어 수명

고객

AWS

전력, 네트워크 및 냉각

고객

AWS

Amazon EC2는 완전관리형 서비스가 아닙니다. 따라서 Amazon EC2에서 데이터베이스를 실행하면 사용자 오류가 발생하기 쉽습니다. 예를 들어, 운영 체제 또는 데이터베이스 소프트웨어를 수동으로 업데이트하면 원치 않는 애플리케이션 다운타임을 초래할 수 있습니다. 모든 변경 사항을 확인하여 문제를 파악하고 수정하려면 몇 시간이 걸리기도 합니다.

Amazon RDS 및 Amazon EC2

Amazon RDS는 관리형 데이터베이스 서비스로, 대부분의 관리 작업을 담당합니다. Amazon RDS를 사용하면 번거로운 수동 작업을 처리할 필요가 없어 애플리케이션과 사용자에게 집중할 수 있습니다. Amazon EC2를 통한 Amazon RDS를 대부분의 데이터베이스 배포에서 기본적으로 선택하는 것이 좋습니다.

아래 표에서 Amazon EC2 및 Amazon RDS의 관리 모델을 비교할 수 있습니다.

기능

Amazon EC2 관리

Amazon RDS 관리

애플리케이션 최적화

고객

고객

확장성

고객

AWS

높은 가용성

고객

AWS

데이터베이스 백업

고객

AWS

데이터베이스 소프트웨어 패치

고객

AWS

데이터베이스 소프트웨어 설치

고객

AWS

OS 패치

고객

AWS

OS 설치

고객

AWS

서버 유지 관리

AWS

AWS

하드웨어 수명

AWS

AWS

전력, 네트워크 및 냉각

AWS

AWS

Amazon RDS는 완전관리형이 아닌 데이터베이스 배포와 비교해서 다음과 같은 특정 이점을 제공합니다.

  • 이미 익숙한 Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle 및 PostgreSQL과 같은 데이터베이스 제품을 사용할 수 있습니다.

  • Amazon RDS는 백업, 소프트웨어 패치, 자동 장애 감지 및 복구를 관리합니다.

  • 자동화된 백업을 설정하거나 고유한 백업 스냅샷을 수동으로 생성할 수 있습니다. 이러한 백업을 사용하여 데이터베이스를 복원할 수 있습니다. Amazon RDS 복원 프로세스는 안정적이고 효율적입니다.

  • 기본 인스턴스 및 문제 발생 시 장애 조치를 수행할 수 있는 동기식 보조 인스턴스에서 가용성을 높일 수 있습니다. 읽기 전용 복제본을 사용하여 읽기 조정을 높일 수도 있습니다.

  • 데이터베이스 패키지의 보안 외에도 RDS 데이터베이스에 액세스할 수 있는 사용자를 제어할 수 있습니다. 그러기 위해서는 AWS Identity and Access Management(IAM)를 사용하여 사용자 및 권한을 정의하면 됩니다. 데이터베이스를 Virtual Private Cloud(VPC)에 배치하여 데이터베이스를 보호할 수도 있습니다.

Amazon RDS Custom for Oracle 및 Amazon RDS Custom for Microsoft SQL Server

Amazon RDS Custom은 데이터베이스 및 운영 체제에 대한 모든 액세스 권한을 제공하는 RDS 관리 유형입니다.

RDS Custom의 제어 기능을 사용하여 레거시 및 패키지 비즈니스 애플리케이션의 데이터베이스 환경 및 운영 체제에 액세스하고 사용자 지정할 수 있습니다. 한편, Amazon RDS는 데이터베이스 관리 작업 및 운영을 자동화합니다.

이 배포 모델에서는 애플리케이션을 설치하고 애플리케이션에 맞게 구성 설정을 변경할 수 있습니다. 이와 동시에 프로비저닝, 확장, 업그레이드 및 백업과 같은 데이터베이스 관리 작업을 AWS로 오프로드할 수 있습니다. Amazon RDS의 데이터베이스 관리 이점을 더욱 효과적으로 제어하고 유연하게 활용할 수 있습니다.

Oracle Database 및 Microsoft SQL Server의 경우 RDS Custom을 통해 Amazon RDS의 자동화와 Amazon EC2의 유연성을 모두 활용할 수 있습니다. RDS Custom에 대한 자세한 내용은 Amazon RDS Custom 작업 섹션을 참조하세요.

RDS Custom의 공동 책임 모델을 사용하면 Amazon RDS에서보다 더욱 효과적으로 관리할 수 있으며, 동시에 책임 범위도 넓어집니다. 자세한 내용은 RDS Custom의 공동 책임 모델을 참조하세요.

AWS Outposts 기반 Amazon RDS

Amazon RDS on AWS Outposts는 RDS for SQL, RDS for MySQL 및 RDS for PostgreSQL 데이터베이스를 AWS Outposts 환경으로 확장합니다. AWS Outposts는 퍼블릭 AWS 리전과 동일한 하드웨어를 사용하여 AWS 서비스, 인프라 및 운영 모델을 온프레미스로 제공합니다. Outposts의 RDS를 사용하면 온프레미스로 실행해야 하는 비즈니스 애플리케이션과 가까운 곳에 관리형 DB 인스턴스를 프로비저닝할 수 있습니다. 자세한 내용은 Amazon RDS on AWS Outposts 작업을 참조하세요.

DB 인스턴스

DB 인스턴스는 AWS 클라우드에 있는 격리된 데이터베이스 환경입니다. Amazon RDS의 기본 빌딩 블록은 DB 인스턴스입니다.

DB 인스턴스에 사용자가 만든 데이터베이스가 하나 이상 포함될 수 있습니다. 독립 실행형 데이터베이스 인스턴스와 함께 사용하는 것과 동일한 도구 및 애플리케이션을 사용하여 DB 인스턴스에 액세스할 수 있습니다. AWS Command Line Interface(AWS CLI), Amazon RDS API 또는 AWS Management Console을 사용하여 DB 인스턴스를 생성하고 수정할 수 있습니다.

DB 엔진

DB 엔진은 DB 인스턴스에서 실행되는 특정 관계형 데이터베이스 소프트웨어입니다. Amazon RDS에서는 현재 다음과 같은 엔진을 지원합니다.

  • Db2

  • MariaDB

  • Microsoft SQL Server

  • MySQL

  • Oracle

  • PostgreSQL

각 DB 엔진에는 지원되는 고유한 기능이 있으며, DB 엔진의 각 버전에는 특정 기능이 포함될 수 있습니다. Amazon RDS 기능에 대한 지원은 AWS 리전 및 각 DB 엔진의 특정 버전에 따라 다릅니다. 다양한 엔진 버전 및 리전의 기능 지원을 확인하려면 AWS 리전 및 DB 엔진별 Amazon RDS에서 지원되는 기능 섹션을 참조하세요.

또한 DB 엔진마다 관리하는 데이터베이스의 동작을 제어하는 DB 파라미터 그룹에 파라미터 집합이 있습니다.

DB 인스턴스 클래스

DB 인스턴스 클래스는 DB 인스턴스의 컴퓨팅 및 메모리 용량을 결정하며, DB 인스턴스 클래스는 DB 인스턴스 유형과 크기로 구성됩니다. 인스턴스 유형마다 서로 다른 컴퓨팅, 메모리 및 스토리지 기능을 제공합니다. 예를 들어, db.m6g는 AWS Graviton2 프로세서로 구동되는 범용 DB 인스턴스 유형입니다. db.m6g 인스턴스 유형 내에서 db.m6g.2xlarge는 DB 인스턴스 클래스입니다.

사용자의 요구 사항에 가장 잘 맞는 DB 인스턴스를 선택할 수 있습니다. 시간이 지나면서 요구 사항이 바뀌면 DB 인스턴스를 변경할 수 있습니다. 자세한 정보는 DB 인스턴스 클래스 섹션을 참조하세요.

참고

DB 인스턴스 클래스에 대한 요금 정보는 Amazon RDS 제품 페이지의 요금 단원을 참조하세요.

DB 인스턴스 스토리지

Amazon EBS는 내구성이 있는 블록 수준 스토리지 볼륨을 제공하여 실행 중인 인스턴스에 연결하는 것이 가능합니다. DB 인스턴스 스토리지는 다음과 같은 유형으로 제공됩니다.

  • 범용(SSD)

  • 프로비저닝된 IOPS(PIOPS)

  • Magnetic

스토리지 유형은 성능 특성과 가격이 다릅니다. 데이터베이스 요건에 따라 스토리지 성능과 비용을 조정할 수 있습니다.

DB 인스턴스는 각각 스토리지 유형과 지원하는 데이터베이스 엔진에 따라 최소/최대 스토리지 요구 사항이 있습니다. 충분한 스토리지를 보유하여 데이터베이스를 확장할 수 있는 여유를 확보하는 것이 중요합니다. 또한 스토리지가 충분하면 콘텐츠를 작성하거나 항목을 기록할 수 있는 기능을 DB 엔진에 도입할 수 있습니다. 자세한 내용은 Amazon RDS DB 인스턴스 스토리지을 참조하세요.

Amazon Virtual Private Cloud(VPC)

Amazon Virtual Private Cloud(Amazon VPC) 서비스를 사용해 가상 사설 클라우드(VPC)에서 DB 인스턴스를 실행할 수 있습니다. VPC를 사용하면 가상 네트워킹 환경을 완벽하게 제어할 수 있습니다. 자기만의 IP 주소 범위를 선택하고, 서브넷을 생성하고, 라우팅 및 액세스 제어 목록을 구성할 수 있습니다. Amazon RDS의 기본 기능은 VPC 실행 중인지 여부에 관계없이 동일합니다. Amazon RDS는 백업, 소프트웨어 패치, 자동 장애 감지 및 복구를 관리합니다. VPC에서 DB 인스턴스를 실행하는 데는 추가 비용이 들지 않습니다. RDS와 Amazon VPC를 함께 사용하는 방법에 대한 자세한 내용은 Amazon VPC 및Amazon RDS 단원을 참조하십시오.

Amazon RDS는 DB 인스턴스를 기준으로 시간을 동기화하는 데 NTP(Network Time Protocol)를 사용합니다.

AWS 리전 및 가용 영역

Amazon 클라우드 컴퓨팅 리소스는 전 세계 여러 리전의 가용성이 높은 데이터 센터 시설에 하우징됩니다(예: 북미, 유럽 또는 아시아). 각 데이터 센터 위치를 AWS 리전이라고 합니다.

AWS 리전마다 가용 영역 또는 AZ라는 고유한 위치가 여러 개 포함됩니다. 각 가용 영역은 다른 가용 영역에서 발생한 장애에서 격리되도록 설계되었습니다. 각 가용 영역은 같은 AWS 리전에 있는 다른 가용 영역에 대해 저렴하고 지연 시간이 짧은 네트워크 연결을 제공하도록 설계되었습니다. 별도의 가용 영역에서 인스턴스를 시작함으로써 단일 위치에서 장애가 발생할 경우 애플리케이션을 보호할 수 있습니다. 자세한 내용은 리전, 가용 영역 및 로컬 영역 섹션을 참조하세요.

여러 가용 영역에서 DB 인스턴스를 실행할 수 있습니다. 다중 AZ 배포라는 옵션입니다. 이 옵션을 선택하면 Amazon은 다른 가용 영역에서 하나 이상의 보조 예비 DB 인스턴스를 자동으로 프로비저닝하고 유지합니다. 기본 DB 인스턴스는 가용 영역 전체에서 각 보조 DB 인스턴스로 복제됩니다. 이 접근 방식을 통해 데이터 중복 및 장애 조치 지원을 제공하고, I/O 중지를 없애고, 시스템 백업 중에 지연 시간 스파이크를 최소화할 수 있습니다. 다중 AZ DB 클러스터 배포에서 보조 DB 인스턴스는 읽기 트래픽도 처리할 수 있습니다. 자세한 내용은 다중 AZ 배포 구성 및 관리을 참조하세요.

보안

보안 그룹은 DB 인스턴스에 대한 액세스를 제어합니다. 사용자가 지정한 IP 주소 범위 또는 Amazon EC2 인스턴스에 액세스할 수 있도록 허용하는 방법으로 제어합니다.

보안 그룹에 대한 자세한 내용은 Amazon RDS의 보안 단원을 참조하십시오.

Amazon RDS 모니터링

DB 인스턴스의 성능과 상태를 추적할 수 있는 여러 가지 방법이 있습니다. Amazon CloudWatch 서비스를 사용하여 DB 인스턴스의 성능 및 상태를 모니터링할 수 있습니다. Amazon RDS 콘솔에 CloudWatch 성능 차트가 표시됩니다. Amazon RDS 이벤트를 구독해 DB 인스턴스, DB 스냅샷, DB 파라미터 그룹이 변경될 때마다 알림을 받을 수 있습니다. 자세한 내용은 Amazon RDS 인스턴스에서 지표 모니터링을 참조하세요.

Amazon RDS 작업 방법

Amazon RDS와 상호 작용하는 방법에는 여러 가지가 있습니다.

AWS Management Console

AWS Management Console은 간단한 웹 기반 사용자 인터페이스입니다. 콘솔에서 프로그래밍 없이 DB 인스턴스를 관리할 수 있습니다. Amazon RDS 콘솔에 액세스하려면 AWS Management Console에 로그인하고 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

명령줄 인터페이스

AWS Command Line Interface(AWS CLI)를 사용하여 Amazon RDS API에 대화식으로 액세스할 수 있습니다. AWS CLI를 설치하려면 AWS 명령줄 인터페이스 설치를 참조하세요. RDS에 대해 AWS CLI 사용을 시작하려면 Amazon RDS용 AWS Command Line Interface 참조를 확인하세요.

Amazon RDS API

개발자라면 API를 사용하여 프로그래밍 방식으로 Amazon RDS에 액세스할 수 있습니다. 자세한 내용은 Amazon RDS API 참조 섹션을 참조하세요.

애플리케이션을 개발하는 경우에는 AWS 소프트웨어 개발 키트(SDK) 중 하나를 사용하는 것이 좋습니다. AWS SDK가 인증, 재시도 로직, 오류 처리 등 낮은 레벨 정보를 처리하기 때문에 개발자는 애플리케이션 로직에 더욱 집중할 수 있습니다. AWS SDK는 다양한 언어로 제공됩니다. 자세한 정보는 Amazon Web Services용 도구를 참조하십시오.

AWS그 밖에도 는 라이브러리, 샘플 코드, 자습서 등 보다 쉽게 시작하는 데 도움이 되는 리소스를 제공합니다. 자세한 정보는 샘플 코드 및 라이브러리를 참조하십시오.

Amazon RDS에 대한 요금이 부과되는 방법

Amazon RDS를 사용하는 경우 온디맨드 DB 인스턴스 또는 예약된 DB 인스턴스를 선택하여 사용할 수 있습니다. 자세한 내용은 Amazon RDS에 대한 DB 인스턴스 결제 섹션을 참조하세요.

Amazon RDS 요금에 대한 자세한 정보는 Amazon RDS 제품 페이지를 참조하십시오.

다음 단계

이전 단계에서는 RDS에서 제공하는 기본 인프라 구성 요소를 소개했습니다. 다음으로 무엇을 해야 할까요?

시작하기

Amazon RDS 시작하기의 지침에 따라 DB 인스턴스를 생성하세요.

데이터베이스 엔진과 관련된 주제

다음 섹션에서 특정 DB 엔진별 정보를 검토할 수 있습니다.

Amazon RDS 공동 책임 모델

Amazon RDS는 DB 인스턴스 및 DB 클러스터의 소프트웨어 구성 요소와 인프라 호스팅을 담당합니다. 사용자는 성능을 개선하기 위해 SQL 쿼리를 조정하는 프로세스인 쿼리 튜닝을 담당합니다. 쿼리 성능은 데이터베이스 디자인, 데이터 크기, 데이터 배포, 애플리케이션 워크로드 및 쿼리 패턴에 따라 크게 달라질 수 있습니다. 모니터링 및 튜닝은 RDS 데이터베이스에 대해 사용자가 소유하는 매우 개별화된 프로세스입니다. Amazon RDS 성능 개선 도우미를 비롯한 도구를 사용하여 문제가 있는 쿼리를 식별할 수 있습니다.