본문 바로가기

AWS

[AWS] S3 Recycle Bin 구성 가이드

반응형

AWS에서 Recycle Bin이 EBS 볼륨 자체(volume) 복구를 지원하기 시작했습니다. 이 기능을 활용하면 실수로 삭제된 EBS 볼륨을 스냅샷 없이도 복구할 수 있고, 운영 또는 자동화 스크립트 오류로 인한 데이터 삭제 리스크를 크게 줄일 수 있습니다. 본 글에서는 Recycle Bin을 EBS 볼륨 보호/복구 수단으로 구성하는 방법을 정리합니다.

 

1. Recycle Bin 이란

Recycle Bin은 삭제된 EBS 자원(EBS 볼륨, EBS 스냅샷, EBS-backed AMI 등)을 “즉시 완전 삭제” 대신 지정한 보존 기간(retention period) 동안 보관했다가, 필요 시 복구할 수 있게 해주는 AWS의 기능입니다.

보존 대상은 리전 단위 또는 태그(tag) 기반으로 지정할 수 있어서, 모든 볼륨을 보호하거나 특정 워크로드/팀 단위로 선택적으로 보호할 수 있습니다.

보존 기간 내에는 콘솔 혹은 CLI/API를 통해 언제든 복구 가능하며, 복구된 자원은 “정상” 상태의 EBS 볼륨/스냅샷/AMI로 즉시 사용할 수 있습니다.


2. 장점

인적 실수나 스크립트 오류에 대한 방어막: 수동 삭제나 자동화 에러로 인해 중요한 볼륨이 삭제되었을 때, 보존 기간 내라면 복구가 가능해서 데이터 손실 리스크 완화.

스냅샷 없이도 복구 가능: 기존에는 스냅샷을 만들어 두지 않으면 복구할 수 없었던 볼륨도 보호 대상이 될 수 있음. 특히, 실수로 루트 볼륨을 삭제했을 때 유용.

운영 효율성 향상: 매번 스냅샷 정책을 강제하지 않아도, 삭제 보호만으로도 안전망 확보 가능.

복구 간편성: 콘솔이나 CLI/API로 “Recover(복구)”만 하면 끝 — 별도 백그라운드 블록 로딩이나 수동 재설정이 필요 없는 경우도 있음.

단, 보존 기간 만료 후에는 완전 삭제되므로, “보존 → 복구” 타이밍을 놓치지 않아야 합니다.

 

3. 구성 방법

아래는 Recycle Bin을 EBS 볼륨 보호를 위해 설정하는 절차입니다.

 

3.1 보존 규칙(Retention Rule) 생성

  1. AWS 콘솔에서 Recycle Bin 화면으로 이동 (https://console.aws.amazon.com/rbin/home/) — 또는 AWS CLI 사용.
  2. “Create retention rule” 클릭
  3. 설정 항목:
    • Resource type: “EBS volumes” (혹은 snapshots / AMIs도 필요하면 함께)
    • Scope: Region-level (해당 리전 모든 볼륨) 또는 Tag-level (특정 태그가 붙은 볼륨만) — 조직/팀 단위로 정책 관리할 경우 태그 기반이 권장됨
  4. Retention period: 얼마나 오래 보관할지 지정 (예: 7일, 30일, 90일 등)
  5. (선택) Name / Description / Tags / Lock 설정 — 정책 식별과 관리 편의를 위해 의미 있는 이름과 태그 부여 권장
  6. Rule 생성 완료 → 해당 리전에서 이후 삭제되는 볼륨은 자동으로 Recycle Bin에 들어감

 

3.2 권한 설정 (IAM)

Recycle Bin에 있는 자원을 복구하거나 태그를 관리하려면 IAM 정책을 통해 다음 권한을 허용해야 합니다.

  • ec2:ListVolumesInRecycleBin / ec2:RestoreVolumeFromRecycleBin (볼륨 복구)
  • Snapshot이나 AMI도 함께 보호하려면, 각각 ec2:ListSnapshotsInRecycleBin, ec2:RestoreSnapshotFromRecycleBin, ec2:CreateTags, ec2:DeleteTags, ec2:DescribeTags 등이 필요합니다.

콘솔 사용자는 DescribeTags 정도만 있으면 볼 수 있고, 태그 조작이 필요하다면 추가 권한이 필요합니다.

3.3 복구 절차

볼륨 또는 스냅샷을 복구할 때는 다음 절차를 따릅니다.

  1. 콘솔 사용 시
    • Recycle Bin 콘솔 열기 → Navigation Pane 에서 “Recycle Bin” 선택
    • 복구할 리소스 선택 → Recover (혹은 Restore) 클릭 → 복구 확인
    • 복구 즉시 해당 자원이 계정의 정상 자원으로 복귀 → 기존과 동일하게 사용 가능
  2. CLI/API 사용 시
aws ec2 restore-volume-from-recycle-bin --volume-id vol-0123456789abcdef0

 

 

주의점

Recycle Bin은 보존 기간 만료 시 영구 삭제: 보존 규칙을 잘 설계하고, 보존 만료 전에 복구 여부를 판단해야 합니다.

만약 삭제된 볼륨이 “error” 상태가 된 경우 (예: underlying hardware failure 등), Recycle Bin으로도 복구되지 않습니다. 이 경우 기존 스냅샷/백업에서 복원해야 합니다.

보호 범위를 너무 넓게 잡으면, 단순한 용량 삭제도 장기간 보존돼 비용이 늘 수 있음. 특히 스냅샷/AMI까지 포함하면 주의 필요.

이미 삭제된 후에는 Recycle Bin의 적용을 받을 수 없으므로, 정책은 사전 설정이 필수입니다.

 

고려사항

모든 프로덕션/스테이징 볼륨에 대해 Region-level rule을 걸기보다, 팀/환경 단위 태그를 사용해 필요한 볼륨만 보호하는 것이 현실적입니다.

태그 규칙과 보존 기간은 조직 정책에 맞춰 설계할 것 — 예: 개발용은 7일, 운영 DB는 30/90일 등.

IAM으로 “누가 복구할 수 있는지” 명확히 통제할 것 — 모든 개발자에게 권한을 열어두면 실수로 복구/사용될 수 있음.

정기적으로 Recycle Bin을 모니터링하고, 만료 예정 항목이 있으면 자동 알림 (예: CloudTrail + SNS/EventBridge)로 운영 안정성 확보.

 

결론

AWS Recycle Bin은, 스냅샷 없이도 EBS 볼륨 삭제에 대한 안전망을 제공해주는 유용한 기능입니다. 제대로 구성하면 운영 실수, 자동화 버그, 권한 착오 등으로 인한 데이터 손실 리스크를 크게 낮출 수 있습니다.

반응형