코딩관계론

AWS - Amazon Relational Database Service (RDS) 본문

AWS

AWS - Amazon Relational Database Service (RDS)

개발자_티모 2023. 4. 3. 21:30
반응형

RDS란

Amazon Relational Database Service (RDS)는 AWS에서 제공하는 관리형 관계형 데이터베이스 서비스입니다. RDS는 다양한 데이터베이스 엔진을 지원하며, MySQL, PostgreSQL, Oracle, SQL Server 및 Amazon Aurora 등을 사용할 수 있습니다.

 

사용하는 이유

  1. RDS는 데이터베이스 관리 작업을 쉽게 하도록 도와줍니다. 사용자는 데이터베이스 엔진을 설치, 구성, 패치 및 백업할 필요가 없으며, 이를 대신 AWS에서 관리합니다. 이를 통해 시간과 비용을 절약할 수 있습니다.

  2. RDS는 스케일링이 가능합니다. 사용자는 데이터베이스 인스턴스의 크기와 용량을 자유롭게 조정할 수 있으며, 필요에 따라 자동 확장이 가능합니다. 이를 통해 데이터베이스 성능을 최적화하고, 확장성을 높일 수 있습니다.

  3. RDS는 고가용성을 제공합니다. 데이터베이스 인스턴스는 여러 가용 영역에 걸쳐 배포됩니다. 이를 통해 장애 발생 시 자동으로 대체 인스턴스를 생성하여 서비스 중단을 최소화합니다.

  4. RDS는 보안성이 높습니다. 사용자는 VPC를 통해 데이터베이스 인스턴스에 대한 액세스를 제어할 수 있으며, 데이터베이스 인스턴스에 대한 암호화를 지원합니다. 또한 AWS는 높은 수준의 보안 및 규정 준수를 유지하기 위한 다양한 보안 기능을 제공합니다.

 

백업 종류

자동 백업(Automated Backup)

자동 백업은 일정한 주기로 자동으로 수행되며, 백업 파일은 Amazon S3에 저장됩니다. 자동 백업은 지정된 보존 기간 동안 보관되며, 백업 파일은 복원을 위해 즉시 사용할 수 있습니다.

 

자동 백업은 Amazon RDS 콘솔 또는 AWS CLI를 사용하여 설정할 수 있으며, 백업 주기, 보존 기간 및 백업 유형(풀 백업 또는 증분 백업) 등을 구성할 수 있습니다.

 

보통 5분 주기로 백업되며 사용자는 5분전 또는 이전의 시간으로 백업할 수 있습니다. 하지만 자주 백업을 수행할수록 백업 파일이 많아지기 때문에 Amazon S3 저장소 비용이 증가하게 됩니다. 또한 자동 백업은 백업 파일을 Amazon S3에 저장하기 때문에 네트워크 대역폭 비용도 발생합니다. 따라서 백업 주기를 적절하게 설정하는 것이 중요합니다.

 

수동 스냅샷(Manual Snapshot)

 

수동 스냅샷은 사용자가 수동으로 생성하는 백업 파일입니다. 이 백업 파일은 Amazon S3에 저장됩니다. 수동 스냅샷은 자동 백업과 달리 사용자가 수동으로 생성하므로, 필요한 때에만 생성하면 됩니다.

 

수동 스냅샷은 Amazon RDS 콘솔 또는 AWS CLI를 사용하여 생성할 수 있으며, 생성된 스냅샷은 복원을 위해 즉시 사용할 수 있습니다.

 

이러한 자동 백업과 수동 스냅샷을 통해 RDS는 풀 백업을 수행할 수 있습니다. 즉, 데이터베이스의 모든 파일과 트랜잭션 로그를 백업하여 데이터베이스를 완전하게 복원할 수 있는 백업 파일을 생성합니다.

 

RDS 읽기 전용 복제

RDS의 읽기 전용 복제는 원본 데이터베이스와 동일한 데이터를 가지는 읽기 전용 복제본을 생성하여 읽기 작업을 분산시키고 원본 데이터베이스의 부하를 줄이는 기능입니다.

 

읽기 전용 복제는 원본 데이터베이스와 동일한 데이터를 가지므로, 읽기 작업에 대한 성능을 향상시킬 수 있습니다. 또한, 읽기 전용 복제본은 원본 데이터베이스와 분리되어 있기 때문에, 원본 데이터베이스에 부하를 줄이고, 복제본에서 읽기 작업을 수행하면서 응답 시간을 줄일 수 있습니다.

 

읽기 전용 복제는 다른 가용 영역에 있는 데이터베이스 인스턴스에도 복제될 수 있으며, 복제본 간의 데이터 동기화는 자동으로 이루어집니다. 따라서, 읽기 전용 복제는 읽기 작업을 분산시키는 것 외에도 데이터 가용성을 높이는 기능으로 사용할 수 있습니다. 원본 데이터베이스에 장애가 발생하면 읽기 전용 복제본을 대체할 수 있기 때문입니다.

 

읽기 전용 복제는 읽기 작업에 대한 성능을 향상시키는 기능으로 사용되며, 읽기 전용 복제본에서는 쓰기 작업을 수행할 수 없습니다. 즉, 읽기 전용 복제본은 읽기 전용으로만 사용되기 때문에, 원본 데이터베이스의 데이터가 변경되는 경우에는 읽기 전용 복제본에도 해당 변경사항이 반영되지 않습니다. 따라서, 읽기 전용 복제를 사용할 때에는 데이터 일관성에 주의해야 합니다.

읽기 전용 복제

RDS의 읽기 전용 복제에서는 데이터 동기화 작동 방법

  1. 첫 번째 복제본이 생성될 때, 원본 데이터베이스의 스냅샷이 복제본으로 복사됩니다.
  2. 이후에 원본 데이터베이스에서 데이터가 변경되면, 변경된 데이터는 원본 데이터베이스의 로그 파일에 저장됩니다.
  3. 로그 파일에 저장된 변경 내용은 일정 주기마다 첫 번째 복제본으로 전달되어 적용됩니다.
  4. 첫 번째 복제본에서 변경된 데이터가 적용되면, 해당 데이터가 두 번째 복제본으로 전달됩니다.
  5. 두 번째 복제본에서 변경된 데이터가 적용되면, 해당 데이터가 세 번째 복제본으로 전달됩니다.
  6. 이와 같은 방식으로 변경된 데이터가 모든 복제본으로 전달되어 동기화됩니다.

 

RDS 읽기 전용 복제 사용 사례

RDS의 읽기 전용 복제는 대규모 데이터베이스에서 읽기 요청이 많은 경우, 원본 데이터베이스의 부하를 줄이기 위해 읽기 전용 복제본을 생성하여 사용하는 것이 효과적입니다. 예를 들어, 온라인 서비스에서 고객이 주문 내역을 조회하거나, 블로그나 뉴스 등의 글을 읽는 경우 등 읽기 요청이 많은 서비스에서 읽기 전용 복제를 사용할 수 있습니다. 읽기 전용 복제는 원본 데이터베이스와 동기화되므로, 원본 데이터베이스에서 변경된 내용이 복제본에 반영되는 것을 보장합니다.

 

RDS 다중 AZ

RDS 다중 AZ는 AWS에서 제공하는 RDS 데이터베이스의 고가용성 및 내구성을 향상시키는 기능입니다. 이 기능을 사용하면 데이터베이스 인스턴스의 프라이머리 인스턴스와 동일한 세컨더리 인스턴스가 자동으로 생성되어, 프라이머리 인스턴스에 장애가 발생할 경우 자동으로 세컨더리 인스턴스로 스위칭됩니다.

 

다중 AZ는 데이터베이스 인스턴스의 가용 영역(Availability Zone, AZ) 간에 데이터를 자동으로 동기화하기 때문에, 하나의 AZ에서 장애가 발생했을 때 데이터를 손실 없이 복구할 수 있습니다. 따라서 데이터베이스 사용자는 데이터베이스 인스턴스의 장애로 인한 다운타임을 최소화할 수 있습니다.

 

또한, RDS 다중 AZ는 자동으로 데이터베이스 인스턴스의 스냅샷을 생성하고 저장하기 때문에, 데이터 손실을 방지하기 위해 백업과 복구를 수동으로 수행할 필요가 없습니다.

 

하지만, 다중 AZ를 사용하면 같은 지역의 복제의 경우는 무료지만, 다른 지역의 복제는 비용이 발생합니다. 따라서 다중 AZ 기능을 사용하기 전에 비용 측면에서 고려해야 합니다.

다중 AZ

 

RDS 다중 AZ 사용 사례

RDS 다중 AZ는 데이터베이스의 가용성과 내구성을 높이기 위해 사용됩니다. 다중 AZ를 사용하면 데이터베이스 인스턴스를 여러 가용 영역에 복제하여 자동 장애 조치 및 재해 복구를 제공합니다. 예를 들어, 온라인 쇼핑몰에서 주문 처리와 같은 트랜잭션 처리가 많은 서비스에서 다중 AZ를 사용할 수 있습니다. 이 경우, 다중 AZ를 사용하여 장애나 중단 없이 고객의 주문 처리를 계속할 수 있습니다.

RDS 읽기 전용 복제와 다중 AZ의 차이점

목적

  • 다중 AZ는 가용성을 높이기 위한 기능으로, 주로 장애 대비를 위해 사용됩니다.
  • 읽기 전용 복제는 주로 읽기 작업을 분산시키기 위한 기능으로, 성능 향상을 위해 사용됩니다.

가용성

  • 다중 AZ는 프라이머리 데이터베이스 인스턴스와 미러링된 스탠바이 인스턴스를 자동으로 생성하여 가용성을 높입니다.
  • 읽기 전용 복제는 프라이머리 인스턴스에 대한 읽기 전용 복제본을 생성하여 가용성을 높이지는 않습니다.

데이터 동기화:

  • 다중 AZ는 프라이머리 인스턴스와 스탠바이 인스턴스 간에 자동으로 데이터 동기화를 수행합니다.
  • 읽기 전용 복제는 데이터베이스 엔진 내부에서 동기화 작업을 수행하지 않으며, 스냅샷 복제를 사용하여 데이터 동기화를 수행합니다.

비용:

  • 다중 AZ는 스탠바이 인스턴스의 생성 및 유지에 따른 비용이 발생합니다.
  • 읽기 전용 복제는 복제본의 생성 및 유지에 따른 비용이 발생합니다.

따라서, 다중 AZ는 장애 대비를 위해 가용성을 높이는 기능으로 사용되며, 읽기 전용 복제는 성능 향상을 위해 읽기 작업을 분산시키는 기능으로 사용됩니다.

반응형

'AWS' 카테고리의 다른 글

AWS - Cross-Zone Load Balancing & SSL / TLS & SNL  (0) 2023.04.02
AWS - Auto Scaling Group (ASG)  (0) 2023.04.02
ELB - Session Persistence  (0) 2023.04.02
AWS - Elastic Load Balancer  (0) 2023.04.02
AWS - 고가용성과 확장성이란?  (0) 2023.03.29