AWS(아마존 웹 서비스) 프로비저닝은 아마존 웹 서비스 클라우드 환경에서 컴퓨팅, 스토리지, 네트워크 등의 리소스를 할당하고 구성하여 사용 가능한 상태로 만드는 과정을 말합니다. 

 

AWS 프로비저닝을 통해 가상 서버(인스턴스), 데이터베이스, 네트워크, 스토리지 등의 IT 인프라를 빠르게 구축하고 관리할 수 있습니다.

AWS 프로비저닝의 주요 기능 및 단계는 다음과 같습니다:

EC2 인스턴스 프로비저닝: Amazon Elastic Compute Cloud (EC2)를 사용하여 가상 서버(인스턴스)를 프로비저닝할 수 있습니다. 

인스턴스를 시작하기 위해 원하는 운영체제, CPU, 메모리, 스토리지 등의 사양을 선택하고 필요한 애플리케이션을 설치하고 구성할 수 있습니다.

데이터베이스 프로비저닝: Amazon RDS (Relational Database Service)를 사용하여 관계형 데이터베이스를 프로비저닝할 수 있습니다. 

MySQL, PostgreSQL, Oracle, SQL Server 등 다양한 데이터베이스 엔진을 지원하며, 데이터베이스 사양 및 구성을 선택하여 데이터베이스를 구축하고 관리할 수 있습니다.

네트워크 프로비저닝: Amazon VPC (Virtual Private Cloud)를 사용하여 가상 네트워크를 프로비저닝할 수 있습니다. 

VPC를 생성하고, 서브넷을 설정하고, 라우팅 테이블과 보안 그룹을 구성하여 네트워크를 관리할 수 있습니다.

스토리지 프로비저닝: Amazon S3 (Simple Storage Service)를 사용하여 객체 스토리지를 프로비저닝할 수 있습니다. 

S3 버킷을 생성하고, 데이터를 업로드하고, 버전 관리와 액세스 권한을 관리할 수 있습니다.

자동화 프로비저닝: AWS CloudFormation, AWS Elastic Beanstalk, AWS OpsWorks 등과 같은 서비스를 사용하여 프로비저닝 프로세스를 자동화할 수 있습니다. 

이를 통해 인프라 구축과 관리를 자동화하고, 재현 가능하고 일관된 환경을 제공할 수 있습니다.

AWS 프로비저닝은 클라우드 환경에서 확장 가능하고 유연한 IT 인프라를 제공하기 위해 중요한 단계이며, 사용자는 필요한 리소스를 프로비저닝하여 비용을 최적화하고 높은 성능과 가용성을 유지할 수 있습니다.

이전에는 DB 관리팀이 있어 크게 신경을 쓰지 않았던것들이 AWS이용하고 스타트업이다 보니 직접해야 될 것들이 많아졌다.

대략적으로는 알고 있던것들을 다시 한번 정리하고자 한다.

 

AWS RDS(Relational Database Service)는 관리형 데이터베이스 서비스로서, 클라우드에서 관계형 데이터베이스를 쉽게 설정, 운영 및 확장할 수 있도록 도와주는 서비스로 AWS RDS에는 클러스터(Cluster)와 인스턴스(Instance)라는 두 가지 주요 구성 요소가 있습니다.

 

RDS 클러스터(Cluster)

AWS RDS 클러스터는 고가용성과 확장성을 제공하기 위해 여러 데이터베이스 인스턴스의 그룹이다.

 

주요 특징

  • 고가용성 : 클러스터는 여러 가용 영역에 걸쳐서 데이터베이스 인스턴스를 복제함으로써 고가용성을 보장하며 하나의 가용 영역에 장애가 발생하더라도 다른 가용 영역의 인스턴스가 데이터베이스 작업을 계속 처리할 수 있게 되어있다.

  • 확장성 : 클러스터는 자동 확장 기능을 제공하며, 트래픽이 증가하면 자동으로 추가 데이터베이스 인스턴스를 생성하여 처리 능력을 확장할 수 있음.

  • 분리된 읽기 작업 : 읽기 작업을 분산시키기 위해 읽기 전용 인스턴스(Read Replica)를 만들 수 있으며 이는 읽기 트래픽을 여러 인스턴스에 분산하여 성능을 향상시킬 수 있다.

RDS 인스턴스(Instance)

RDS 인스턴스는 단일 데이터베이스 서버로서 클러스터 내에서 실행되는 개별 데이터베이스 환경이다.

 

주요 특징

  • DB 엔진 선택 : 인스턴스를 생성할 때 원하는 데이터베이스 엔진(MYSQL, PostgreSQL, Oracle 등)을 선택할 수 있음.

  • 인스턴스 유형 : 인스턴스 유형은 CPU, 메모리, 스토리지 등의 리소스를 정의하며 애플리케이션의 요구 사항에 맞게 적절한 인스턴스 유형을 선택하여 성능과 비용을 조정할 수 있음.

  • 보안 및 네트워킹 : 인스턴스는 보안 그룹을 통해 액세스 제어를 설정하고, VPC(Virtual Private Cloud) 내에서 실행이 됨.

요약하자면, RDS 클러스터는 여러 데이터베이스 인스턴스의 집합으로 고가용성과 확장성을 제공하며, RDS 인스턴스는 단일 데이터베이스 서버로서 클러스터 내에서 실행되는 개별 데이터베이스 환경을 나타낸다고 보면 됨.

클러스터를 사용하면 여러 인스턴스를 관리하고 고가용성을 확보할 수 있으며, 인스턴스를 사용하면 개별 데이터베이스를 설정하고 제어할 수 있음.

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

AWS RDS major version automatically upgrade (10.21 -> 14.7)  (0) 2023.08.25
[AWS] Aurora PostgreSQL 삭제중 상태  (0) 2023.07.18

기존 database를 스냅샷 생성후 스냅샷의 버전업그레이드를 진행했다.

이후 복원을 진행했고 복원을 된것을 확인 후 바로 삭제 작업을 진행했는데.. 삭제중에서 넘어가지 않고 3일간 끝나지 않은 상태로 이어졌다.

관련해서 상황을 전달하니 전달 받은 피드백은 

 

"원인은 RDS PostgreSQL 인스턴스의 Aurora PostgreSQL 읽기 전용 복제본 클러스터가 일치하는 주 엔진 버전 및 소스의 부 버전보다 크거나 같은 부 버전으로 생성되어야 한다는 것입니다" 이라고 한다.

 

음.. 어디서 버전 문제가 발생한 것일까? 스냅샷을 업그레이드하고 복원하는 과정에서 설정이 잘 못 된걸까?

설정때 상태값들을 다시 한번 정의하고 다시 해봐야겠다.

 

또 그러면 어쩌지? AWS 다시 요청해서 삭제를 진행 할 수 밖에 없다.

 

최종 확인된 내용은

RDS 스냅샷 업그레이드 기능을 통한 복원 후 이슈 원인
우선 RDS 스냅샷을 통한 업그레이드 기능은 RDS Postgres 와 Aurora MySQL 엔진은 해당 기능을 지원하지만,
Aurora Postgres에 대한 스냅샷 업그레이드 기능은 지원하지 않는 것으로 확인 됨.

 

 

 

참고 자료 : https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html#AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica

 

+ Recent posts