설명
백업 보존 기간은 자동 백업을 얼마나 유지할지 정하는 설정으로, 복구 가능한 시점과 데이터 보호 수준에 영향을 줍니다. 운영 데이터베이스는 장애나 실수에 대비해 필요한 복구 기간을 명확히 정의해야 합니다.
아래 Aurora 예시에서 보존 기간을 생략한다고 자동 백업이 꺼지지는 않습니다. Aurora 자동 백업은 비활성화할 수 없으며 1~35일 동안 보존합니다. AWS 공급자 v6.14.0의 aws_rds_cluster.backup_retention_period 기본값은 1일입니다.
잠재적 영향
- 복구 계획 불명확: 필요한 시점까지 복구할 수 있는지 판단하기 어려울 수 있습니다.
- 데이터 손실 위험: 자동 백업 보존 기간이 요구보다 짧으면 필요한 복구 데이터가 남아 있지 않을 수 있습니다.
- 운영 일관성 저하: 환경별 백업 기준이 달라져 점검과 감사가 어려워집니다.
해결 방법
backup_retention_period를 복구 요구에 맞게 명시적으로 설정하세요.- 서비스 중요도에 맞는 보존 기준을 정하고 클러스터에 일관되게 적용하세요.
- 실제 복구 가능 시점을 확인하고 정기적인 복구 테스트를 운영 절차에 포함하세요.
예시
Aurora 클러스터 설정의 발췌입니다. 인스턴스와 네트워크는 별도로 구성하고 리전과 가용 영역을 맞추세요. var.db_password에는 엔진 요구에 맞는 비밀번호를 안전하게 제공하고, 비밀번호가 포함될 수 있는 Terraform 상태도 보호하세요.
기본 보존 기간 사용
hcl
resource "aws_rds_cluster" "example" {
cluster_identifier = "aurora-cluster-demo"
engine = "aurora-postgresql"
availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"]
database_name = "mydb"
master_username = "foo"
master_password = var.db_password
preferred_backup_window = "07:00-09:00"
}
보존 기간 명시
hcl
resource "aws_rds_cluster" "example" {
cluster_identifier = "aurora-cluster-demo"
engine = "aurora-postgresql"
availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"]
database_name = "mydb"
master_username = "foo"
master_password = var.db_password
backup_retention_period = 5
preferred_backup_window = "07:00-09:00"
}
첫 번째 예시는 공급자의 기본 보존 기간을 사용합니다. 두 번째 예시는 5일을 명시합니다. 5일이 모든 서비스에 적절한 것은 아니므로 업무상 필요한 복구 기간을 기준으로 정하세요.