DB & AWS Knowledge
RDS, Aurora MySQL 의 binlog retention hours 본문
RDS, Aurora MySQL 의 binlog retention hours
`O` 2024. 1. 23. 01:36해당 페이지에서는 AWS RDS, Aurora MySQL 의 binlog 보관 주기를 관리 할 때 사용하는 binlog retention hours 에 대해서 다룬다.
이 페이지는 아래의 AWS Document 를 참조한다.
[1] https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql-stored-proc-configuring.html
이 페이지는 아래의 이전 게시글과 연관되어 있다.
[2] 2021.06.28 - [MySQL/명령어] - Purge Logs (Binary Log Purge)
MySQL 의 Binary Log (binlog) Purge
[1] 에서 설명한데로, MySQL 의 Binary Log 는 일별로 일정 수준의 서비스 트랜잭션으로 인해 발생하는 데이터 변동분을 보관하면서 일정 수준의 size 만큼 보관되는게 좋으나 가끔씩 서비스 부하로 인하여 DB 부하 또한 급격하게 발생하면서 이로 인해 할당 storage 를 고갈 시킬 수준의 binlog 를 발생시키고 이를 DBA 또는 관리자들이 긴급으로 조치 해야 할 때가 있다. 이 때, 사용하는 것이 purge 명령어다.
RDS, Aurora Cluster 의 binlog retention hours 와 purge 와의 차이점
RDS, Aurora Cluster 에서는 purge 를 사용할 수 없다. 이는 super user (rdsadmin) 만 사용할 수 있도록 되어 있다.
그러면 RDS, Aurora Cluster 에서는 binlog 를 어떻게 관리해야 하는지 생각 할 수 있다.
일반적으로, RDS, Aurora Cluster 에서는 rds_set_configuration 이라는 프로시저를 사용하여 binlog 보관주기를 설정 할 수 있다. 명령어 예시는 아래와 같다.(이 명령어는 master user 권한을 받은 유저만 사용 가능하다.)
Call mysql.rds_set_configuration('binlog retention hours', 24)
여기서 보관주기 시간은 24 를 다른 숫자로 바꾸면 되며, 최대 보관시간은 168시간 (7일) 이다.
즉, 이 시간 이상으로 binlog 를 보관할 수 없음을 유념하자. 또한, AWS 측에서도 각 사용자측의 삭제된 binlog file을 따로 보관하지 않으므로 이에 대해서 복구를 해 줄 수 없다. 그렇기에 binlog 보관주기 내에서 이에 대해서 어떻게 관리를 할지 생각 해 보면 좋다.
또한, 운영 중인 instance 에서 위의 purge 와 같이 긴급으로 binlog 를 삭제 해야 한다는 작업을 수행 해야 할 수가 없다.
하지만, RDS, Aurora Cluster 에서는 이를 사용할 수 없고, RDS 에서 storage full 로 인한 장애를 예방하기 위해서는 storage 를 긴급으로 늘리는 것이 가장 빠른 조치 방법임을 유의하자.
Aurora Cluster 는 RDS 와 달리 DB 사용량에 따른 storage autoscaling 이 기본사상이고, 여러 scaling 제한사항이 없기에 이에 대해서 자유로운 편이다.
'AWS 및 클라우드 지식 > AWS RDS, Aurora 및 관련 지식' 카테고리의 다른 글
RDS, Aurora Cluster 내 OS patch 작업 유형 및 특징 (0) | 2024.02.23 |
---|---|
RDS, Aurora PostgreSQL 에서 발생하는 CommitThroughput 과 SELECT 간의 관계 (0) | 2024.02.23 |
RDS, Aurora Cluster 복합 변경 작업 수행 시 고려사항 (0) | 2024.01.23 |
RDS, Aurora Cluster endpoint 사용의 의의 (0) | 2024.01.18 |
RDS, Aurora Cluster 변경 작업 수행 시, 재기동 영향여부 파악 (0) | 2024.01.17 |