본문 바로가기

개발자정보

1.7 AWS Databases

반응형

데이터베이스 모델 탐색

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • 관계형 데이터베이스의 기능과 이점을 설명하십시오.
  • 관리되는 데이터베이스와 관리되지 않는 데이터베이스를 구분합니다.

메모

이 모듈은 여기에 설명된 AWS 제품, 서비스 및 기능을 소유, 지원 및 유지 관리하는 Amazon Web Services(AWS)와 협력하여 제작되었습니다. AWS 제품, 서비스 및 기능의 사용에는 AWS에서 유지 관리하는 개인 정보 보호 정책 및 서비스 계약이 적용됩니다.

이 모듈을 완료하기 전에 AWS Storage 를 완료했는지 확인하십시오 . 여기에서 수행하는 작업은 그곳에서 배운 개념을 기반으로 합니다.

고양이 사진 앱을 구축 중이며 필수 저장 공간 요구 사항을 파악했습니다. 이제 데이터베이스와 같은 구조화된 스토리지 솔루션이 필요합니다. 이렇게 하면 고양이 이름, 고양이 유형, 색상, Amazon Simple Storage Service(S3)에 저장된 고양이 사진에 대한 링크 등 각 고양이 사진의 모든 세부 정보를 애플리케이션에 저장할 수 있습니다. 

몇 가지 옵션이 있습니다. 

  • 앱과 동일한 Amazon Elastic Compute Cloud(EC2) 인스턴스에서 데이터베이스를 실행합니다. 그러나 이렇게 하면 응용 프로그램이 느려질 수 있습니다. 두 리소스 모두 요구 사항이 다르고 성장 속도도 다릅니다.
  • 애플리케이션에서 데이터베이스를 분리합니다. 이러한 방식으로 각 리소스에 적합한 서비스를 사용하고 개별 요구 사항에 따라 확장할 수 있습니다.

두 번째 옵션은 속도 저하를 피하고 고양이 애호가에게 최상의 경험을 보장할 수 있는 올바른 옵션입니다. 이미 컴퓨팅용으로 Amazon EC2를 선택했으므로 이제 데이터베이스 계층에 적합한 데이터베이스 서비스를 선택해야 합니다. 

엔터프라이즈 데이터베이스의 역사 이해

데이터베이스를 선택하는 것은 간단한 결정이었습니다. 선택할 수 있는 옵션이 몇 개 밖에 없었습니다. 과거에는 몇 개의 공급업체를 고려하다가 불가피하게 모든 애플리케이션에 대해 하나를 선택했을 것입니다. 

기업은 사용 사례를 완전히 이해하기도 전에 사용할 데이터베이스 기술을 선택하는 경우가 많습니다. 1970년대 이후 기업들이 가장 많이 선택하는 데이터베이스  관계형 데이터베이스 였다. 

관계형 데이터베이스란 무엇입니까?

관계형 데이터베이스는 데이터를 테이블로 구성합니다. 한 테이블의 데이터를 다른 테이블의 데이터에 연결하여 관계를 만들 수 있습니다. 따라서 이름의 관계형 부분입니다. 

테이블은 행과 열에 데이터를 저장합니다. 레코드라고 하는 행에는 특정 항목에 대한 모든 정보가 들어 있습니다. 열은 해당 항목의 속성을 설명합니다. 다음은 관계형 데이터베이스에 있는 세 개의 테이블에 대한 예입니다.

이것은 책에 대한 테이블, 판매에 대한 테이블, 저자에 대한 테이블을 보여줍니다. 책 테이블의 각 행에는 책 ISBN, 제목, 저자 및 형식이 포함됩니다. 이러한 각 속성은 자체 열에 저장됩니다. books 테이블에는 다른 두 테이블과 공통점이 있습니다. 바로 저자 속성입니다. 해당 공통 열은 테이블 간의 관계를 생성합니다. 

테이블, 행, 열 및 이들 간의 관계를 논리적 스키마 라고 합니다 . 관계형 데이터베이스에서는 스키마가 고정됩니다. 데이터베이스가 작동되면 스키마를 변경하기가 어려워집니다. 이를 위해서는 데이터베이스가 활성화되기 전에 대부분의 데이터 모델링을 미리 수행해야 합니다. 

관계형 데이터베이스 관리 시스템이란 무엇입니까?

관계형 데이터베이스 관리 시스템(RDBMS)을 사용하면 관계형 데이터베이스를 생성, 업데이트 및 관리할 수 있습니다. 다음은 관계형 데이터베이스 관리 시스템의 몇 가지 일반적인 예입니다.

  • MySQL
  • PostgresQL
  • 신탁
  • SQL 서버
  • 아마존 오로라

SQL(Structured Query Language) 쿼리를 사용하여 대부분의 RDBMS와 통신합니다. 다음은 예 SELECT * FROM table_name입니다.

이 쿼리는 특정 테이블의 모든 데이터를 선택합니다. 그러나 SQL 쿼리의 진정한 힘은 비즈니스 문제에 대한 패턴과 답변을 결합하기 위해 여러 테이블에서 데이터를 가져올 수 있는 보다 복잡한 쿼리를 만드는 데 있습니다. 예를 들어, 판매 테이블과 책 테이블을 함께 쿼리하여 저자의 책과 관련된 판매를 확인합니다. 이것은 다음에 설명하는 조인을 통해 가능합니다.

관계형 데이터베이스 사용의 이점

관계형 데이터베이스를 사용하면 많은 이점이 있습니다. 그 중 몇 가지가 여기에 나열되어 있습니다.

  • 조인: 테이블을 조인하여 데이터 간의 관계를 더 잘 이해할 수 있습니다.
  • 중복 감소: 동일한 데이터를 다른 위치에 저장하는 대신 한 테이블에 데이터를 저장하고 다른 테이블에서 참조할 수 있습니다.
  • 친숙함: 관계형 데이터베이스는 1970년대부터 인기 있는 선택이었습니다. 이러한 인기로 인해 기술 전문가는 종종 이러한 유형의 데이터베이스에 익숙하고 경험이 있습니다.
  • 정확성: 관계형 데이터베이스는 데이터가 높은 무결성으로 유지되고 ACID(원자성, 일관성, 격리성, 내구성) 원칙을 준수하도록 합니다.

관계형 데이터베이스의 사용 사례

세상의 대부분은 관계형 데이터베이스에서 실행됩니다. 사실, 그것들은 일상 생활에서 사용할 수 있는 많은 미션 크리티컬 애플리케이션의 핵심입니다. 다음은 관계형 데이터베이스의 몇 가지 일반적인 사용 사례입니다. 

다음과 같이 자주 변경되지 않는 견고한 스키마가 있는 애플리케이션: 

  • 앱을 온프레미스에서 클라우드로 옮기는 리프트 앤 시프트 애플리케이션은 수정이 거의 또는 전혀 없습니다.

다음과 같이 ACID 원칙을 따르는 영구 스토리지가 필요한 애플리케이션:

  • ERP(전사적 자원 관리) 애플리케이션
  • 고객 관계 관리(CRM) 애플리케이션
  • 상업 및 금융 애플리케이션

관리되지 않는 데이터베이스와 관리되는 데이터베이스 중에서 선택

AWS에서 관계형 데이터베이스를 실행하려면 먼저 실행할 방법을 선택해야 합니다(비관리형 방식 또는 관리형 방식).

관리형 서비스와 비관리형 서비스의 패러다임은 공유 책임 모델과 유사합니다. 공유 책임 모델은 서비스에 대한 AWS의 보안 책임과 고객의 보안 책임을 구분합니다. 마찬가지로 관리형 대 비관리형은 편의성과 제어 간의 절충점으로 이해할 수 있습니다. 

온프레미스 데이터베이스

관계형 데이터베이스를 온프레미스(자체 데이터 센터에서) 운영한다고 가정해 보겠습니다. 이 시나리오에서는 데이터 센터의 보안 및 전력, 호스트 시스템 관리, 해당 호스트의 데이터베이스 관리, 쿼리 최적화 및 고객 데이터 관리를 비롯한 운영의 모든 측면을 담당합니다. 당신은 절대적으로 모든 것에 대한 책임이 있습니다. 즉, 절대적으로 모든 것을 통제할 수 있습니다.

관리되지 않는 데이터베이스

이제 Amazon EC2에서 관계형 데이터베이스를 실행하여 이 작업 중 일부를 AWS로 옮기고 싶다고 가정해 보겠습니다. Amazon EC2에서 데이터베이스를 호스팅하는 경우 AWS는 물리적 인프라와 하드웨어를 구현 및 유지 관리하고 EC2 인스턴스의 운영 체제를 설치합니다. 그러나 EC2 인스턴스 관리, 해당 호스트의 데이터베이스 관리, 쿼리 최적화 및 고객 데이터 관리는 여전히 귀하의 책임입니다. 

이는 종종 AWS 에서 관리되지 않는 데이터베이스 옵션 이라고 합니다 . AWS는 하드웨어 및 기본 인프라를 책임지고 제어하며, 호스트 및 데이터베이스 관리에 대한 책임은 귀하에게 있습니다.

관리되는 데이터베이스

더 많은 작업을 AWS로 옮기고 싶다면 관리형 데이터베이스 서비스를 사용할 수 있습니다 . 이러한 서비스는 EC2 인스턴스와 데이터베이스 설정을 모두 제공하고 고가용성, 확장성, 패치 및 백업을 위한 시스템을 제공합니다. 그러나 데이터베이스 조정, 쿼리 최적화, 그리고 물론 고객 데이터의 보안을 보장하는 것은 여전히 ​​귀하의 책임입니다. 이것은 당신에게 최고의 편리함을 제공하지만 이전의 두 가지 옵션에 비해 최소한의 제어가 가능합니다.

마무리

오늘날 시장에는 선택할 수 있는 데이터베이스 옵션이 수백 가지가 있기 때문에 기업은 사용할 기술을 선택하기 전에 사용 사례에 대해 생각해야 합니다. 다음 단원에서는 여기에서 배운 내용을 적용하여 고양이 사진 응용 프로그램에 적합한 데이터베이스를 선택합니다.

 

Quiz

1. Which of the following is an advantage of using a relational database?

A.Relational databases adhere to the BASE principle.

B.Relational databases have no schema.

C.Relational databases support joins.

D.Relational databases support unstructured data.

 

2. True or false: A managed database places the operational burden on AWS instead of on you.

A.True

B.False

 

Amazon Relational Database Service 알아보기

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Amazon Relational Database Service(Amazon RDS)의 기능을 설명합니다.
  • Amazon RDS 아키텍처를 설명합니다.

이제 고양이 사진 애플리케이션에 적합한 데이터베이스를 선택할 때입니다. 데이터베이스에는 두 가지가 필요하다고 결정했습니다. 

  1. 도구에 대한 친숙함과 수십 년에 걸친 리소스 및 전문 지식 덕분에 관계형 데이터베이스가 제공됩니다.
  2. 인프라 관리의 반복적인 부담을 AWS로 옮기기 위한 관리형 데이터베이스.

AWS에서 고양이 사진 애플리케이션에 사용하는 완전 관리형 관계형 데이터베이스 솔루션을 Amazon Relational Database Service(RDS)라고 합니다. 

Amazon RDS란 무엇입니까?

Amazon RDS를 사용하면 기존 데이터베이스 관리의 운영 부담 없이 클라우드에서 관계형 데이터베이스를 생성하고 관리할 수 있습니다. 예를 들어 고양이 사진을 판매하고 태평양 북서부에서 최고의 고양이 사진 판매자가 되는 것이 목표인 경우 데이터베이스를 구축하는 것은 그 목표를 달성하는 데 도움이 되지 않습니다. 

Amazon RDS는 데이터베이스 생성 및 관리와 관련된 이러한 관련 없는 작업의 일부를 오프로드하는 데 도움이 됩니다. 프로비저닝, 패치, 크기 조정 및 복원과 같은 인프라 관련 작업 대신 고양이 사진 애플리케이션을 차별화하는 작업에 집중할 수 있습니다.

Amazon RDS는 상용 옵션, 오픈 소스 옵션 및 AWS 관련 옵션에 이르기까지 널리 사용되는 대부분의 관계형 데이터베이스 관리 시스템을 지원합니다. 다음은 지원되는 Amazon RDS 엔진입니다. 

  • 상용: Oracle, SQL Server
  • 오픈 소스: MySQL, PostgreSQL, MariaDB
  • 클라우드 네이티브: 아마존 오로라

메모

클라우드 기본 옵션인 Amazon Aurora는 클라우드용으로 구축된 MySQL 및 PostgreSQL 호환 데이터베이스입니다. Amazon RDS 버전의 MySQL 및 PostgreSQL보다 내구성과 가용성이 더 높으며 더 빠른 성능을 제공합니다. Amazon Aurora에 대해 자세히 알아보려면 Amazon Aurora FAQ 를 참조하십시오 

고양이 사진 앱의 경우 MySQL 엔진을 사용하기로 결정했습니다. MySQL은 시장에서 가장 인기 있는 데이터베이스 엔진 중 하나입니다. 인기와 함께 안정성, 도구 및 지원의 대규모 에코시스템, 사용자 및 재능의 대규모 커뮤니티가 제공됩니다. 

DB 인스턴스 이해

스스로 구축하고 관리하는 데이터베이스와 마찬가지로 Amazon RDS는 컴퓨팅과 스토리지를 기반으로 구축됩니다. 컴퓨팅 부분을 데이터베이스 엔진을 실행하는 DB(데이터베이스) 인스턴스라고 합니다. 선택한 DB 인스턴스의 엔진에 따라 지원되는 기능과 구성이 다릅니다. DB 인스턴스에는 엔진이 동일한 여러 데이터베이스가 포함될 수 있으며 각 데이터베이스에는 여러 테이블이 포함될 수 있습니다.

DB 인스턴스 아래에는 EC2 인스턴스가 있습니다. 그러나 이 인스턴스는 Amazon EC2 콘솔 대신 Amazon RDS 콘솔을 통해 관리됩니다. DB 인스턴스를 생성할 때 인스턴스 유형과 크기를 선택합니다. Amazon RDS는 세 가지 인스턴스 패밀리를 지원합니다.

  • 범용 인스턴스를 포함하는 표준
  • 메모리 집약적 애플리케이션에 최적화된 메모리 최적화
  • 버스트 가능한 성능 , 전체 CPU 사용량으로 버스트하는 기능과 함께 기본 성능 수준을 제공합니다.

선택하는 DB 인스턴스는 처리 능력과 메모리의 양에 영향을 미칩니다. 선택한 엔진에 따라 모든 옵션을 사용할 수 있는 것은 아닙니다. 이 단원의 리소스 섹션에서 DB 인스턴스 유형에 대한 자세한 정보를 찾을 수 있습니다.

일반 EC2 인스턴스와 마찬가지로 DB 인스턴스는 Amazon Elastic Block Store(EBS) 볼륨을 스토리지 계층으로 사용합니다. 세 가지 유형의 EBS 볼륨 스토리지 중에서 선택할 수 있습니다.

  • 범용(SSD)
  • 프로비저닝된 IOPS(SSD)
  • 마그네틱 스토리지(권장하지 않음)

고양이 사진 앱의 프리 티어를 유지하려면 t2.micro 인스턴스와 MySQL 데이터베이스용 범용 스토리지를 선택해야 합니다. 

마무리

이 단원에서는 Amazon RDS에 대해 알아보고 이를 고양이 사진 애플리케이션과 함께 사용하는 방법을 배웠습니다. 다음 단원에서는 Amazon RDS의 보안 기능과 고양이 기록 및 정보를 보호하는 방법에 대해 자세히 알아봅니다.

 

Quiz

1. Amazon RDS supports which of the following database engines?

A.DB2

B.SQLite

C.MySQL

D.Redis

 

2. True or false: Amazon RDS runs off of a DB instance and uses EBS volumes as a storage layer.

A.True

B.False

 

Amazon RDS 환경 보호

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Amazon RDS 보안 제어를 설명합니다.
  • 자동 백업과 수동 스냅샷을 구분합니다.

Amazon S3에서 고양이 사진을 안전하게 유지하는 방법을 배운 것처럼 데이터베이스에 저장된 고양이 사진에 대한 모든 정보도 안전하게 유지하고 싶습니다. 이 단원에서는 친숙한 보안 도구를 사용하여 Amazon RDS의 데이터를 보호합니다. 

Amazon Virtual Private Cloud에서 Amazon RDS 작업

DB 인스턴스를 생성할 때 데이터베이스가 위치할 Amazon Virtual Private Cloud(VPC)를 선택합니다. 그런 다음 DB 인스턴스를 배치할 서브넷을 선택합니다. 이를 DB 서브넷 그룹 이라고 합니다.

DB 서브넷 그룹을 생성하려면 다음을 지정합니다.

  • 추가하려는 서브넷이 포함된 가용 영역(AZ)
  • DB 인스턴스가 있는 해당 AZ의 서브넷

추가하는 서브넷은 인터넷 게이트웨이에 대한 경로가 없도록 비공개여야 합니다. 이렇게 하면 DB 인스턴스와 그 안의 고양이 데이터가 고양이 사진 앱 백엔드에서만 접근할 수 있습니다.

DB 인스턴스에 대한 액세스는 네트워크 ACL(액세스 제어 목록) 및 보안 그룹을 사용하여 추가로 제한할 수 있습니다. 이러한 방화벽을 사용하면 데이터베이스에 허용할 트래픽 유형을 세부 수준에서 제어할 수 있습니다. 

이러한 제어를 사용하면 인프라에 대한 보안 계층이 제공됩니다. 백엔드 인스턴스만 데이터베이스에 액세스할 수 있음을 강조합니다.

위의 다이어그램은 Amazon RDS가 추가된 현재 고양이 사진 애플리케이션의 아키텍처입니다. 애플리케이션이 VPC(AZ 1, 10.0.0.0/24)의 퍼블릭 서브넷에 있는 Amazon EC2 인스턴스에서 실행 중입니다. 애플리케이션은 VPC 내부의 프라이빗 서브넷에서 실행되는 기본 RDS 인스턴스(AZ 1, 10.0.4.0/22)에서 지원됩니다.

AWS Identity and Access Management(IAM) 정책을 사용하여 Amazon RDS 보호

네트워크 ACL 및 보안 그룹을 사용하여 트래픽 흐름을 지시할 수 있습니다. 직원이 액세스할 수 있는 작업과 리소스를 제한하려는 경우 IAM 정책을 사용할 수 있습니다.

데이터 백업

당신은 그 소중한 고양이 정보를 잃고 싶지 않습니다. RDS 인스턴스를 정기적으로 백업하려면 다음을 사용할 수 있습니다. 

  • 자동 백업
  • 수동 스냅샷

자동 백업

자동 백업은 기본적으로 켜져 있습니다. 이렇게 하면 전체 DB 인스턴스(인스턴스의 개별 데이터베이스뿐만 아니라)와 트랜잭션 로그가 백업됩니다. DB 인스턴스를 생성할 때 자동 백업이 발생하는 기간인 백업 윈도우를 설정합니다. 일반적으로 지연 시간과 가동 중지 시간이 증가할 수 있으므로 데이터베이스의 활동이 거의 없는 시간 동안 이러한 기간을 설정하려고 합니다.

자동 백업은 0일에서 35일 사이에 보관할 수 있습니다. "자동 백업을 0일 동안 설정한 이유는 무엇입니까?"라고 자문할 수 있습니다. 0일 설정은 실제로 자동 백업이 발생하지 않도록 설정합니다. 0으로 설정하면 기존의 모든 자동 백업도 삭제됩니다. 자동 백업의 이점은 지정 시간 복구를 수행할 수 있다는 점에서 이상적이지 않습니다.

자동 백업에서 데이터를 복원하는 경우 지정 시간 복구를 수행할 수 있습니다. 특정 시점 복구는 특정 시점에서 복원된 데이터를 사용하여 새 DB 인스턴스를 생성합니다. 이 복원 방법은 전체 백업을 복원하고 트랜잭션을 지정된 시간 범위까지 롤백하여 더 세분성을 제공합니다.

수동 스냅샷

자동 백업을 35일 이상 유지하려면 수동 스냅샷을 사용하십시오. 수동 스냅샷은 RDS 콘솔에서 관리한다는 점을 제외하고는 EBS 스냅샷을 생성하는 것과 유사합니다. 언제든지 시작할 수 있고 삭제할 때까지 존재하는 백업입니다.

예를 들어, 데이터베이스 백업을 1년 동안 보관해야 하는 규정 준수 요구 사항을 충족하려면 수동 스냅샷을 사용하여 해당 백업이 해당 기간 동안 유지되도록 해야 합니다. 

수동 스냅샷에서 데이터를 복원하면 스냅샷의 데이터를 사용하여 새 DB 인스턴스가 생성됩니다.

어떤 백업 옵션을 사용해야 합니까?

대답은 거의 항상 둘 다입니다. 자동 백업은 특정 시점 복구에 유용합니다. 수동 스냅샷을 사용하면 35일 이상 백업을 유지할 수 있습니다. 

마무리

Amazon VPC, IAM 정책 및 백업을 사용하여 Amazon RDS 데이터베이스를 안전하게 유지하는 방법을 배웠습니다. 다음 단원에서는 규모 및 고가용성 관리를 포함하여 Amazon RDS에 대해 자세히 알아봅니다.

 

Quiz

1. True or false: Automated backups are turned on by default.

A.True

B.False

 

2. Which of the following is true about manual snapshots?

A.They must be initiated during the backup window.

B.They are deleted after 90 days.

C.They allow point-in-time recovery.

D.They exist until you delete them.

 

Amazon RDS 확장

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • Amazon RDS를 확장하는 방법을 설명합니다.
  • Amazon RDS 다중 AZ를 설명합니다.
  • Amazon RDS에서 확장성과 고가용성을 구분합니다.

고양이 사진 애플리케이션을 실행하는 EC2 인스턴스가 있습니다. 또한 관계형 데이터베이스를 실행하는 Amazon RDS DB 인스턴스가 하나 있습니다. 그러나 하나의 DB 인스턴스가 처리하기에는 고양이 사진 기록이 너무 많은 때가 올 수 있습니다. 다행히 Amazon RDS에는 확장성 옵션이 있습니다. 

Amazon RDS 확장

Amazon RDS는 컴퓨팅과 스토리지를 분리합니다. 

이 분리를 통해 컴퓨팅 및 스토리지를 독립적으로 확장할 수 있습니다. 

컴퓨팅을 확장하려는 경우 DB 인스턴스의 크기를 늘리거나 DB 인스턴스 패밀리를 변경할 수 있습니다. 

스토리지를 확장하려면 스토리지 계층을 수동으로 수정하여 EBS 볼륨의 크기를 늘리거나 Amazon RDS Storage Auto Scaling을 활성화하여 스토리지 용량을 자동으로 늘릴 수 있습니다. Amazon RDS Storage Auto Scaling이 활성화되면 Amazon RDS는 데이터베이스 스토리지가 부족한 시점을 감지하고 스토리지를 확장합니다. 

Amazon RDS Storage Auto Scaling으로 작업할 때 몇 가지 제한 사항이 있습니다. 

워크로드와 일치하는지 확인하려면 Amazon RDS Storage Auto Scaling 설명서 를 참조하십시오 

확장의 또 다른 방법은 Amazon RDS 읽기 전용 복제본을 사용하는 것입니다. 

이 모듈에서는 이 정보를 다루지 않지만 이 단원의 끝에 있는 리소스 섹션에서 이 기능에 대한 자세한 내용을 찾을 수 있습니다. 

Amazon RDS로 고가용성 달성

DB 인스턴스의 크기를 늘리면 약간의 다운타임이 발생할 수 있습니다. 이 다운타임의 부정적인 영향을 제한하기 위해 선택한 유지 관리 기간 동안 확장 작업이 발생하도록 예약할 수 있습니다. 일반적으로 이 유지 관리 기간은 데이터베이스 활동이 최소화되는 기간 동안 발생합니다.

이 가동 중지 시간을 더욱 줄이려면 확장 작업, 패치 적용 및 시스템 오류 중에 가동 중지 시간이 적은 고가용성 데이터베이스를 만들 수 있습니다. Amazon RDS의 고가용성은 2개의 가용 영역(AZ)에 데이터베이스가 있음을 보장합니다. 이 기능을 Amazon RDS 다중 AZ라고 합니다. 

Amazon RDS 다중 AZ로 중복성 확보

Amazon RDS 다중 AZ를 활성화하면 Amazon RDS는 다른 AZ에 데이터베이스의 중복 복사본을 생성합니다. 

한 AZ의 서브넷에 있는 기본 복사본과 두 번째 AZ의 서브넷에 있는 대기 복사본이라는 두 개의 데이터베이스 복사본으로 끝납니다. 데이터베이스의 기본 복사본은 응용 프로그램이 해당 정보를 쿼리하고 표시할 수 있도록 고양이 데이터에 대한 액세스를 제공합니다. 

기본 복사본의 cat 데이터는 대기 복사본에 동기식으로 복제됩니다. 대기 복사본은 활성 데이터베이스로 간주되지 않으며 애플리케이션에서 쿼리하지 않습니다.

가용성을 향상시키기 위해 Amazon RDS 다중 AZ는 실행 중인 데이터베이스 복사본이 두 개 있고 그 중 하나가 기본 역할에 있는지 확인합니다. 

기본 데이터베이스 연결 끊김과 같은 가용성 문제가 있는 경우 Amazon RDS는 자동 장애 조치를 트리거합니다.

DB 인스턴스를 생성할 때 DNS(도메인 이름 시스템) 이름이 제공됩니다. AWS는 해당 DNS 이름을 사용하여 대기 데이터베이스로 장애 조치합니다. 자동 장애 조치에서 대기 데이터베이스는 기본 역할로 승격되고 쿼리는 새 기본 데이터베이스로 리디렉션됩니다. 

다중 AZ 구성을 잃지 않도록 다음 중 하나를 통해 새 대기 데이터베이스를 생성합니다. 

  • 아직 작동하고 실행 중인 경우 이전 기본을 대기 상태로 강등
  • 또는 새로운 대기 DB 인스턴스를 시작합니다.

이전 단원에서 서브넷 그룹에 대해 배웠습니다. Amazon RDS 데이터베이스에 대해 여러 서브넷을 선택할 수 있는 이유는 다중 AZ 구성 때문입니다. 기본 복사본과 대기 ​​복사본에 대해 서로 다른 AZ의 서브넷을 사용했는지 확인해야 합니다.

다중 AZ 배포는 MySQL, MariaDB, Oracle 및 PostgreSQL 엔진에서만 사용할 수 있습니다.

마무리

확장성을 위해 DB 인스턴스 크기와 스토리지 용량을 늘릴 수 있습니다. 고가용성을 위해 데이터베이스에 대해 다중 AZ를 활성화할 수 있습니다. 다음 단원에서는 관계형 모델을 능가하는 AWS의 데이터베이스 옵션에 대해 알아봅니다. 

 

Quiz

1. True or false: If you scale your Amazon RDS DB instance, it scales the storage layer automatically.

A.True

B.False

 

2. True or false: A Multi-AZ deployment is beneficial when you want to increase the availability of your database.

A.True

B.False

 

올바른 데이터베이스 선택

학습 목표

이 단원을 완료하면 다음을 수행할 수 있습니다.

  • AWS 데이터베이스 서비스를 구분합니다.
  • 사용 사례에 적합한 데이터베이스 서비스를 선택하십시오.

오늘날 데이터의 과제 해결

최신 데이터 요구 사항은 어려울 수 있습니다. 수백만 명의 사용자를 위해 확장하고, 전 세계적으로 액세스 가능성을 유지하고, 강력한 고객 경험을 위한 밀리초 응답 시간을 보장하는 것은 고려해야 할 몇 가지 사항에 불과합니다. 

데이터 자체도 변경되었습니다. 오늘날의 데이터는 종종 빠른 속도로 대량으로 제공되며 기존 스키마와 호환되지 않는 이상한 형식과 구조로 제공됩니다.

관계형 데이터베이스를 넘어서

“가진 것이 망치뿐이라면 모든 것이 못처럼 보인다”는 말이 있습니다. 관계형 데이터베이스의 경우에도 마찬가지입니다. "관계형 데이터베이스만 있으면 모든 것이 스키마처럼 보입니다." 그러나 현실 세계에는 망치가 아닌 다양한 도구와 관계형 데이터베이스가 아닌 다양한 데이터베이스가 있습니다. 

키 쌍, 그래프, 문서 및 원장 데이터베이스와 같이 관계형을 넘어서는 데이터베이스를 더 많이 선택할 수 있습니다. 이러한 데이터베이스는 오늘날의 데이터 및 데이터 요구 사항을 염두에 두고 구축되었습니다.

AWS 데이터베이스 서비스

AWS에는 다양한 사용 사례에 대한 다양한 데이터베이스 옵션이 있습니다. 아래 표를 사용하여 AWS 데이터베이스 포트폴리오를 빠르게 살펴보십시오. 

데이터베이스 유형사용 사례AWS 서비스

관계형 기존 애플리케이션, ERP, CRM, 전자상거래 아마존 RDS, 아마존 오로라, 아마존 레드시프트
핵심 가치 트래픽이 많은 웹 앱, 전자 상거래 시스템, 게임 애플리케이션 아마존 다이나모DB
인메모리 캐싱, 세션 관리, 게임 리더보드, 지리 공간 애플리케이션 Memcached용 Amazon ElastiCache, Redis용 Amazon ElastiCache
문서 콘텐츠 관리, 카탈로그, 사용자 프로필 Amazon DocumentDB(MongoDB와 호환)
와이드 컬럼 장비 유지 관리, 차량 관리 및 경로 최적화를 위한 대규모 산업용 앱 Amazon Keyspaces(Apache Cassandra용)
그래프 사기 탐지, 소셜 네트워킹, 추천 엔진 아마존 해왕성
시계열 IoT 애플리케이션, DevOps, 산업용 원격 측정 아마존 타임스트림
원장 기록 시스템, 공급망, 등록, 은행 거래 아마존 QLDB

응용 프로그램 및 데이터베이스 분리

산업이 변화함에 따라 애플리케이션과 데이터베이스도 변화합니다. 오늘날 더 큰 응용 프로그램에서는 더 이상 하나의 데이터베이스만 지원하지 않습니다. 대신, 이러한 애플리케이션은 각각의 전용 데이터베이스가 지원하는 더 작은 서비스로 분할되고 있습니다. 

이러한 변화는 만능 데이터베이스의 개념을 제거하고 이를 보완적인 데이터베이스 전략으로 대체합니다. 각 데이터베이스에 워크로드에 필요한 적절한 기능, 성능 및 규모를 제공할 수 있습니다.

마무리

고양이 사진 응용 프로그램과 같은 소규모 응용 프로그램의 경우 데이터베이스가 하나만 있는 것이 좋습니다. 그러나 애플리케이션이 커질수록 데이터베이스 전략을 개발하고 워크로드를 지원하는 여러 데이터베이스를 보유해야 할 수 있습니다. 다음 모듈에서는 애플리케이션을 모니터링하고 문제를 해결하는 방법을 배웁니다. 

 

Quiz

1. You want to create a cat-related gaming app. Each user scores points by finding and cataloging the most cats. You want a database that stores leaderboard information consisting of user scores. Which AWS database is recommended for this workload?

A.Amazon RDS

B.Amazon ElastiCache for Redis

C.Amazon Neptune

D.Amazon QLDB

 

2. True or false: AWS offers a wide variety of databases that are purpose-built for specific use cases.

A.True

B.False

 

 

반응형

'개발자정보' 카테고리의 다른 글

Salesforce 용어집  (0) 2021.09.12
1.8 Monitoring on AWS  (0) 2021.09.12
1.6 AWS Storage  (0) 2021.09.12
1.5 AWS Networking  (0) 2021.09.12
1.4 AWS Compute  (0) 2021.09.12