DB & AWS Knowledge
RDS, Aurora Cluster 복합 변경 작업 수행 시 고려사항 본문
해당 페이지에서는 RDS, Aurora Cluster 에서 복합 작업 수행 시, 고려해야 할 사항에 대해서 다룬다.
또한 이 페이지는 아래의 이전 게시글과 연관되어 있다.
[1] 2024.01.17 - [AWS 및 클라우드 지식/AWS RDS, Aurora 및 관련 지식] - RDS, Aurora Cluster 변경 작업 수행 시, 재기동 영향여부 파악
[2]
RDS, Aurora Cluster 에서 수행하는 변경 작업들
RDS, Aurora Cluster 에서는 [1] 에서 언급한 데로 여러 작업들을 사용자가 수행 할 수 있고 이에 따라 관련된 작업들을 수행시는 온프레미스와 같이 영향도 검토가 중요하다. 그래서 [1] 에 소개 된 Document 를 자주 확인하면서 변경작업시 어떤 영향도가 있을 수 있는지 파악 해 두면서 친숙 해 지는 것이 중요하다.
RDS, Aurora Cluster 에서 복합 작업 시 권장되는 순서
각각의 변경작업들에서는 크게 재기동이 필요한지 필요하지 않은지에 따라 사용자에 변경작업을 복합적으로 수행 시 이에 대한 적절성 여부를 판별할 수 있다.
몇개의 예시를 들면 아래와 같다.
- 버전 업그레이드 (major, minor 포함) -> Instance class 변경
두 작업 모두 재기동이 수행되는 작업이다. 그러므로 두 작업의 순서를 바꿔도 크게 상관없다. 이 때, 작업 실패가능성은 버전 업그레이드가 더 높으며, (Instance Class 변경 실패는 손에 꼽는 가능성이고 이정도 이슈가 발생하면 AWS 내부에도 이러한 이슈를 확인 및 조치할 수 있도록 참여할 가능성이 높다.) 이에 따라 빠른 작업 취소 및 이후 재작업을 처음부터 계획할 여지가 있다면 버전 업그레이드를 먼저 수행하고, 이후에 특정 작업은 현재 작업에서 마무리 짓기를 원한다면 Instance class 변경을 앞에 두는 것이 좋다.
- CA 교체 (무중단이 지원되는 DB engine 및 버전으로 가정) -> 버전 업그레이드
현재 이 글을 쓰는 시점으로 자주 수행되는 작업 중 하나인 CA 교체는 (CA 개념은 [2] 참조) RDS 및 Aurora Cluster 의 CA 교체는 DB engine 및 버전에 따라 재기동 필요여부가 달라지는데 이 예시에서는 무중단이 지원되는 DB engine 및 버전을 사용하는 걸로 간주하겠다. CA 교체는 무중단으로 수행할 수 있기 때문에, 실제 업그레이드 작업을 위해 확보하는 downtime 에 이를 넣어 작업시간을 늘리는 것은 적절치 못한 방법일 수 있다. 그래서 이 때 downtime 확보는 버전 업그레이드에 집중하여 작업을 계획하는 것이 더 적절 한 방법이다.
- CA 교체 (무중단이 지원되는 DB engine 및 버전으로 가정) -> 버전 업그레이드 -> Instance Class 교체
이제 위의 작업들을 한꺼번에 조합하면 이렇게 복합적으로 수행해야하는 경우가 있을 수 있다.
이렇게 재기동 여부, 영향도를 복합적으로 조합할 때는 재기동 -> 영향도 순서로 정리하여 수행하는 것이 적절한 방법이다. 즉, 버전 업그레이드는 실패의 가능성이 있으므로 다음으로 작업을 미루기 전에, 무중단, 성공가능성이 높은 작업 순서인 CA, Instance class 를 현재 작업에서 먼저 수행되도록 계획하고 업그레이드가 실패했을 시, 이에 대해서만 다음작업으로 고려하는 것이 적절 한 방법일 것이다.
이와 같이, 여러 작업들을 하루에 전부 수행하도록 계획했을 때 이러한 순서로 RDS, Aurora Cluster 작업 순서를 고려하고 결정하는 것이 좋다. 물론, AWS 서비스를 사용하는 게 익숙한 동료 또는 AWS 측 직원의 지원을 받을 수 있다면, 이에 대해서 조언을 먼저 구하고 작업을 계획하면 더 좋다.
'AWS 및 클라우드 지식 > AWS RDS, Aurora 및 관련 지식' 카테고리의 다른 글
RDS, Aurora PostgreSQL 에서 발생하는 CommitThroughput 과 SELECT 간의 관계 (0) | 2024.02.23 |
---|---|
RDS, Aurora MySQL 의 binlog retention hours (0) | 2024.01.23 |
RDS, Aurora Cluster endpoint 사용의 의의 (0) | 2024.01.18 |
RDS, Aurora Cluster 변경 작업 수행 시, 재기동 영향여부 파악 (0) | 2024.01.17 |
RDS, Aurora Cluster 의 subnet group (0) | 2024.01.16 |