얼마전에 장애가 발생했다.

서비스가 죽은건 아니지만 CUD시 장애가 발생하기 시작했다.

월요일 오전이라 배포한것도 없고 도대체 무슨 문제지?

 

로그를 확인해보니 새벽시간에 RDS가 업그레이드 되버렸다.

PostgreSQL RDS에 Aurora PostgreSQL 읽기전용 복제본을 생성하여 사용중인데 PostgreSQL RDS만 업그레이드가 진행되 

데이타복제가 안되는 현상이였다.

 

이전에 업그레이드 메일을 받기는 하였으나 다른업무들로 인해 우선순위가 계속 밀렸고 자동 업그레이드가 된다는 내용으로

업그레이드시 문제되는 부분을 일부 체크는 해두었기에 큰 문제는 없을거라 오판을 했다.

 

자동업그레이드가 RDS만 되고 Aurora는 안될거라고는 생각도 못했다.

RDS와 Aurora PostgreSQL 는 독립적인 서비스이며 그렇기 때문에 자동 업그레이드 별도로 진행되게 된다.

 

AWS에서 RDS PostgreSQL 10 버전의 인스턴스들은 maintenance window 시간에 관계없이 강제로 업그레이드되며 

내부적으로 담당자들이 수동으로 수행하는 작업이 아니라 back-end 로 무작위 scan 후 특정 공지 없이 업그레이드를 수행되기때문에 

RDS와 Aurora PostgreSQL 동시에 진행 될 수 없다.

 

클라우드 인프라는 처음이라 쓴 경험을 쌓고 있다.

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

[AWS] RDS 클러스터(Cluster)와 인스턴스(Instance)  (0) 2023.07.18
[AWS] Aurora PostgreSQL 삭제중 상태  (0) 2023.07.18

이전에는 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