초보 개발자

AWS 실행중인 RDS 인스턴스 유형 변경 본문

AWS

AWS 실행중인 RDS 인스턴스 유형 변경

taehyeki 2023. 5. 2. 09:04

2023.04.14 - [분류 전체보기] - EC2, RDS Reserved Instance 크기 조절 가능

 

EC2, RDS Reserved Instance 크기 조절 가능

회사에서 사용하고 있는 RDS와 계약 되어있는 RI를 보던 중 크기가 다르길래 의아했다. 같은 클래스 인 것은 맞지만, 16xlarge가 아닌 8xlarge를 사용해도 되는 것인가 ? 그래서 찾아보았다. 아래의 표

taehyeki.tistory.com

 

 

전에 m5.8xlarge의 여유분이 있다는 것을 발견하였다. 현재 cpu 사용률이  계속해서 100%를 웃돌고 있었다.

스케일 업을 할지, 스케일 아웃을 할지 정해야했다.

스케일 아웃을 하는 경우에는 m5.8xlarge를 하나 만들어야 하는데,

단점

엔드포인트가 하나 더 생성이되고 소스코드의 변경이 필요하다. 또한 관리포인트 하나가 추가되기에 이 부분도 관리를 해야한다.

장점

이런 경우에 기존에 있던 RDS들은 중지하지 않아도 되기에, 접속은 유지시킬 수 있다.

 

스케일 업을 하는 경우에는 m5.8xlareg를 m5.12xlarege로 바꾸는 것인데, 

단점

RDS의 인스턴스 유형이 바뀌는 동안 다운타임이 발생하게 된다. 따라서 그 동안은 실제 유저들이 사용할 수 없게된다.

장점

기존에 있던 엔드포인트를 그대로 사용하게되고, 추가적인 부분이 생기는 것은 아니기에 관리포인트를 유지할 수 있다.

 

이를 적용하기 위해 rds사용이 가장 적은 시간대인 새벽 시간대에 이 작업을 수행하려고했지만, 100%가까이 되는 cpu사용률이 지속적으로 이어지고 있었기에, 회사 수익의 문제와도 직결되는 문제가 발생되기 시작했다. 응답시간이 20초 넘게 걸려, 타임아웃으로 인해서 예약이 불발되는 상황. 따라서 어쩔 수 없이 거래처들에게 긴급 수정 공지를 띄운 뒤, 8xlarge 2개를 12xlarege로 변경시켰다. 다운타임은 약 20분 정도 걸렸던 것 같다. 

 

실행중인 인스턴스 유형을 변경시킨 적은 처음이었다. 따라서 이로인해 발생할 문제들을 정확히 파악할 수는 없었지만, 다운타임 이외에는 문제될 만한 것이 없었다고 판단하여 진행하였다. 결과적으로는 문제없이 잘 업그레이드도 된 것을 확인하였다. 

 

작업 내용은 아래와 같다.

primary인스턴스 중지 -> replica중지 -> replica 인스턴스 유형 변경 -> primary, replica 실행

스케일 업 전후의 확연한 변화를 확인할 수가 있다. 

 

전에 설정해두었던 작업들의 설정이 조금 바뀌는 것들이 있을 수 있다.

1. 백업이 꺼져있었음