Amazon Relational Database Service

강재민·2022년 11월 24일
0

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

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


Amazon RDS 및 Amazon EC2

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

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

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

이미 익숙한 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에서보다 더욱 효과적으로 관리할 수 있으며, 동시에 책임 범위도 넓어집니다. 자세한 내용은 공동 책임 모델을 참조하세요.


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 작업을 참조하세요.

Outposts란 AWS의 리소스를 빌려서 인프라의 관리만 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에서는 현재 다음과 같은 엔진을 지원합니다.

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 인스턴스 스토리지

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

범용(SSD)

프로비저닝된 IOPS(PIOPS)

Magnetic

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

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


Amazon Virtual Private Cloud(Amazon 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 인스턴스 모니터링

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


Amazon RDS 작업 방법

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

  • AWS Management Console
  • 명령줄 인터페이스
  • Amazon RDS를 사용한 프로그래밍

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

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

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


Amazon RDS DB 인스턴스

DB 인스턴스는 클라우드에서 실행하는 격리된 데이터베이스 환경입니다. 이것은 Amazon RDS의 기본 구성 요소입니다. DB 인스턴스에는 여러 사용자가 만든 데이터베이스가 포함될 수 있으며, 독립 실행형 데이터베이스 인스턴스에 액세스할 때 사용하는 도구 및 애플리케이션을 사용해 액세스할 수 있습니다. AWS 명령줄 도구, Amazon RDS API 작업 또는 AWS Management Console을 사용해 간단히 DB 인스턴스를 만들고 수정할 수 있습니다.

최대 40개의 Amazon RDS DB 인스턴스를 보유할 수 있으며, 다음과 같은 제한 사항이 있습니다.

"라이선스 포함" 모델에서 각 SQL Server 에디션(Enterprise, Standard, Web 및 Express)의 경우 10개

"라이선스 포함" 모델에서 Oracle의 경우 10개

MySQL, MariaDB 또는 PostgreSQL의 경우 40개

"BYOL(bring-your-own-license, 기존 보유 라이선스 사용)" 라이선싱 모델Oracle의 경우 40개


실습

은 알아서..

0개의 댓글