soowanlog

AWS RDS 본문

DevOps/AWS

AWS RDS

개발자솬
DevOps/AWS

AWS RDS

개발자솬 2024. 3. 14. 17:50
728x90
반응형
  • AWS에서 DB를 사용하는 방법

- EC2에 직접 설치 :

EC2에 직접 데이터베이스를 설치할 경우 사용자가 데이터베이스의 업데이트와 관리, 백업 등을 모두 관리해야 합니다.

1. 장점

데이터베이스 엔진, 버전, 구성 등을 자유롭게 선택할 수 있습니다.

필요에 따라 데이터베이스 설정을 조정하거나 특정 기능을 활성화/비활성화할 수 있습니다.

데이터베이스를 지속적으로 사용하지 않는 경우에는 비용을 절감할 수 있습니다.

2. 단점

데이터베이스의 관리 및 유지보수가 사용자의 책임이 되기 때문에 데이터베이스 업그레이드, 보안 패치 적용, 백업 및 복구 등의 작업을 수행해야 합니다.

데이터베이스의 성능을 확장하려면 보다 강력한 인스턴스로 업그레이드하거나 새로운 인스턴스의 추가가 필요할 수 있습니다.

 

- RDS 사용 :

AWS에서 모든 것을 관리하기 때문에 데이터베이스 부분에 대해 신경을 쓰지 않고 개발을 진행할 수 있습니다.

1. 장점

데이터베이스 관리 작업을 자동화하고 사용자가 전문 지식이 없어도 데이터베이스를 운영할 수 있습니다.

Multi-AZ옵션을 통해 데이터베이스의 고가용성을 제공합니다.

읽기 전용 복제본을 추가하여 읽기 작업을 분산시키고 단일 인스턴스의 성능을 향상합니다.

2. 단점

일부 고급 설정이나 데이터베이스 엔진의 특정 기능에 대한 직접적인 제어가 제한될 수 있습니다.

EC2 인스턴스에 직접 데이터베이스를 설치하는 것보다 비용이 높을 수 있습니다.

  • RDS란?

Relational Database Service의 약자로 관계형 데이터베이스를 제공하는 AWS의 서비스입니다.

RDS를 사용하면 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있습니다.

 

RDS는 다양한 데이터베이스 엔진을 지원합니다.

 

- 라이선스 비용 발생

MS SQL Server

Oracle

 

- 라이선스 비용 필요 없음

My SQL Server

PostgreSQL

MariaDB

  • RDS 백업

- 자동 백업

매일마다 스냅샷을 만들고 트랜잭션 로그를 S3에 저장합니다.

35일까지 보관하며 저장된 데이터를 바탕으로 일정 기간 내의 특정 시간으로 롤백이 가능합니다.

기본적으로 사용 상태로 설정되어 있습니다.

 

- 수동 백업(DB 스냅샷)

사용자나 다른 프로세스로부터의 요청에 따라 만들어지는 스냅샷입니다.

데이터베이스가 삭제된 이후에도 계속 보관됩니다.

스냅샷을 복구할 때는 항상 새로는 DB 인스턴스를 생성하여 수행합니다.

  • Multi-AZ란?

Multiple Availability Zone의 약자로 RDS의 고가용성을 향상하기 위한 옵션 중 하나입니다.

Multi-AZ를 사용하면 RDS는 주 데이터베이스 인스턴스와 동일한 버전 및 구성의 보조 인스턴스를 자동으로 다른 가용 영역에 생성합니다.

 

주 데이터베이스 인스턴스에 장애가 발생하면 자동으로 보조 인스턴스로 트래픽을 전환하여 시스템의 가용성을 유지합니다. 이때 보조 데이터베이스는 주 데이터베이스에서 발생하는 데이터 내용의 변화를 동기방식으로 복제하여 동일한 데이터를 보유하도록 데이터를 유지하는 기능만 합니다.

 

Multi-AZ를 사용하면 고가용성이 보장되지만 데이터를 동일하게 유지시키기 위해 쓰기 작업이 지속적으로 발생되어 지연이 생길 수 있다는 단점이 존재합니다. 즉, 퍼포먼스의 상승효과가 아닌 안정성을 위한 서비스입니다.

  • Read Replica란?

읽기 전용 복사본으로 주 데이터베이스와 동일한 버전 및 구성을 가지고 있지만 쓰기 작업은 지원하지 않습니다.

각 인스턴스 당 최대 5개의 읽기 전용 복사본을 생성할 수 있습니다.

 

데이터베이스는 주로 읽기 작업이 많이 이루어지는데 읽기와 쓰기 작업을 모두 주 데이터베이스가 진행하면 많은 부하가 발생할 수 있습니다. Multi-AZ와는 다르게 쓰기 작업이 진행될 때 비동기 방식으로 복사본에 변경된 값을 복제하여 동일한 데이터가 유지되도록 작동합니다.

 

주 데이터베이스에 장애 발생 시 수동으로 DNS를 변경해야 합니다. 즉, 안정성이 아닌 퍼포먼스 상승효과를 위한 서비스입니다.

참    고    자    료

- [AWS] RDS란 무엇인가? | ghldjfldj.log

 

- AWS - RDS(Relational Database Service)란? | Flashback

728x90
반응형

'DevOps > AWS' 카테고리의 다른 글

AWS EC2  (0) 2024.03.14
AWS  (0) 2024.03.12