Amazon RDS(관계형 데이터베이스 서비스)와 Amazon Aurora는 AWS 클라우드에서 매우 유용한 관리형 데이터베이스 서비스입니다. 안정적이고 확장 가능한 데이터베이스 환경을 제공하며, 다양한 백업 및 복원 옵션을 통해 데이터를 안전하게 보호할 수 있습니다. 이 글에서는 RDS와 Aurora에서 제공하는 자동화된 백업, 수동 스냅샷, 복원 옵션에 대해 깊이 있게 살펴보겠습니다.
RDS는 자동으로 데이터베이스의 전체 백업을 수행하며, 5분마다 트랜잭션 로그를 백업합니다. 이를 통해 사용자는 데이터베이스를 5분 전의 상태로 복원할 수 있습니다. 백업 보존 기간은 1일부터 35일 사이로 설정 가능하며, 필요에 따라 자동 백업을 비활성화할 수도 있습니다.
수동 스냅샷은 사용자가 직접 트리거하여 원하는 시점의 데이터베이스 상태를 보존할 수 있는 방법입니다. 수동 스냅샷은 자동 백업과 달리 만료되지 않으며, 사용자가 직접 삭제할 때까지 유지됩니다. 이 방법은 백업을 장기적으로 유지해야 할 때 유용합니다.
만약 RDS 인스턴스를 자주 사용하지 않는다면, 스냅샷을 사용해 비용을 절감할 수 있습니다. 예를 들어, 데이터베이스를 한 달에 2시간만 사용한다면, 인스턴스를 중지해도 스토리지 비용은 계속 발생합니다. 이 경우 스냅샷을 생성하고 원본 데이터베이스를 삭제함으로써 스토리지 비용을 절감할 수 있습니다. 데이터베이스가 다시 필요할 때 스냅샷에서 복원하면 됩니다.
Aurora 백업은 RDS와 유사하지만 몇 가지 차이점이 있습니다. 자동화된 백업은 RDS와 마찬가지로 1일에서 35일까지 가능하지만, 비활성화할 수 없습니다. Aurora는 또한 시점 복구(Point-in-Time Recovery) 기능을 통해 백업 보존 기간 내의 특정 시점으로 복구할 수 있습니다.
RDS 및 Aurora에서 백업이나 스냅샷을 복원하면 항상 새 데이터베이스 인스턴스가 생성됩니다. 이는 기존 인스턴스의 데이터를 보호하면서 복구할 수 있는 안전한 방법입니다.
RDS는 MySQL 백업 파일을 S3에서 복원할 수 있는 기능을 제공합니다. MySQL을 실행하는 새 인스턴스로 복원하거나, Aurora MySQL 클러스터로 복원할 수 있습니다. Aurora 복원의 경우 Percona XtraBackup 도구를 사용하여 온프레미스 데이터베이스를 백업한 후 S3로 전송해야 합니다.
Aurora에서는 기존 데이터베이스 클러스터를 복제해 새로운 클러스터를 생성할 수 있습니다. 이 기능은 프로덕션 데이터베이스에서 테스트 환경을 구성할 때 매우 유용합니다. 복제는 Copy-on-Write(COW) 프로토콜을 사용해 스냅샷 생성 및 복원보다 훨씬 빠르게 처리됩니다.
RDS와 Aurora는 강력한 백업 및 복원 기능을 제공하며, 다양한 요구 사항에 맞게 데이터를 보호할 수 있습니다. 자동화된 백업, 수동 스냅샷, 비용 절감 요령, S3를 통한 복원, 데이터베이스 복제 등 각 기능을 적절히 활용하면 효율적으로 데이터베이스를 관리할 수 있습니다. 특히 Aurora의 Copy-on-Write 복제 기능은 속도와 비용 절감 측면에서 매우 유용한 도구입니다. 이 글을 참고하여 자신의 환경에 맞는 백업 전략을 세우고 활용해 보세요.