일반 목적 버킷 삭제

일반 목적 버킷 삭제

빈 Amazon S3 일반 목적 버킷을 삭제할 수 있어요. 얀반 목적 버킷을 비우는 방법은 "일반 목적 버킷 비우기" 문서를 참고하세요. 버킷은 Amazon S3 콘솔, AWS CLI, AWS SDK, 또는 Amazon S3 REST API로 삭제할 수 있어요.

중요: 일반 목적 버킷을 삭제하기 전에 다음을 고려하세요.

  • 버킷이 삭제되면 AWS가 복원할 수 없어요. 삭제 전에 데이터를 백업하거나 복제했는지 확인하세요.
  • 일반 목적 버킷 이름은 전역 네임스페이스에서 고유해요. 공유 전역 네임스페이스에서 버킷을 삭제하면 다른 AWS 계정이 같은 이름으로 새 버킷을 만들어 삭제된 버킷을 대상으로 한 요청을 받을 수 있어요. 이를 막거나 같은 이름을 계속 쓰려면 버킷을 삭제하지 마세요. 버킷을 비워 유지하고 필요에 따라 요청을 차단하는 것을 권장해요.
  • 오직 내 계정만 버킷 이름을 소유할 수 있다는 보장을 받으려면 계정 리전별 네임스페이스에 버킷을 만들 것을 권장해요.
  • 버킷을 삭제해도 즉시 제거되지 않을 수 있어요. 대신 Amazon S3가 버킷 삭제를 큐에 넣어요. Amazon S3는 AWS 리전에 분산되어 있어 시스템 전반에 완전히 전파되고 일관성을 얻는 데 시간이 걸려요.
  • 버킷이 정적 웹사이트를 호스팅하고 Route 53 호스팅 영역을 만들었다면, 버킷과 관련된 Route 53 호스팅 영역 설정을 정리해야 해요.
  • 버킷이 Elastic Load Balancing(ELB) 로그 데이터를 받고 있다면, 삭제 전에 ELB 로그 전달을 중지하는 것을 권장해요. 삭제 후 다른 사용자가 같은 이름으로 버킷을 만들면 로그 데이터가 그 버킷으로 전달될 수 있어요.

출처: 문서

본문

버킷 삭제가 안 될 때 확인할 것들

Amazon S3 일반 목적 버킷을 삭제할 수 없다면 다음을 고려하세요.

  • 버킷이 비어 있는지 확인 – 객체가 없는 버킷만 삭제할 수 있어요. 버킷이 비어 있는지 확인하세요.
  • 연결된 액세스 포인트가 없는지 확인 – 같은 계정에 S3 액세스 포인트나 Multi-Region 액세스 포인트가 연결되지 않은 버킷만 삭제할 수 있어요. 삭제 전에 같은 계정의 액세스 포인트를 먼저 삭제하세요.
  • s3:DeleteBucket 권한이 있는지 확인 – IAM 관리자와 협의해 s3:DeleteBucket 권한이 있는지 확인하세요.
  • AWS Organizations 서비스 제어 정책(SCP)과 리소스 제어 정책(RCP)의 s3:DeleteBucket Deny 문장 확인 – SCP와 RCP가 버킷에 대한 삭제 권한을 거부할 수 있어요.
  • 버킷 정책의 s3:DeleteBucket Deny 문장 확인 – IAM 사용자/역할 정책에 삭제 권한이 있는데도 삭제할 수 없다면, 버킷 정책에 s3:DeleteBucket에 대한 Deny 문장이 있을 수 있어요. AWS Elastic Beanstalk이 만든 버킷은 기본적으로 이 문장을 포함해요.

삭제 절차

일반 목적 버킷을 삭제하려면 먼저 비워야 해요.

콘솔 사용: AWS Management Console에 로그인하고 Amazon S3 콘솔(https://console.aws.amazon.com/s3/)을 엽니다. 왼쪽 탐색 창에서 General purpose buckets를 선택하고, 삭제하려는 버킷 이름 옆의 옵션 버튼을 선택한 다음 Delete를 선택해요. Delete bucket 페이지에서 텍스트 필드에 버킷 이름을 입력해 확인하고 Delete bucket을 선택해요.

참고: 버킷에 객체가 있으면 This bucket is not empty 오류 알림에서 Empty bucket 버튼을 선택해 먼저 비운 뒤, 다시 Delete bucket 페이지로 돌아와 삭제하세요.

삭제가 성공했는지 확인하려면 General purpose buckets 목록을 열어 삭제한 버킷 이름을 입력해 보세요. 버킷을 찾을 수 없다면 삭제가 성공한 거예요.

AWS SDK for Java 사용: 먼저 일반 목적 버킷의 모든 객체를 삭제한 다음 버킷을 삭제해야 해요. 버전 관리가 활성화된 버킷은 모든 객체 버전을 삭제한 후에 버킷을 삭제할 수 있어요.

AWS CLI 사용: 버전 관리가 활성화되지 않은 버킷만 삭제할 수 있어요. 객체가 포함된 버킷을 삭제하면 S3 Glacier Flexible Retrieval 스토리지 클래스로 전환된 객체를 포함해 모든 객체가 영구 삭제돼요. rb(remove bucket) 명령에 --force 파라미터를 사용하면 버킷과 안의 모든 객체를 삭제할 수 있어요. 버전 관리가 활성화되어 있으면 --force는 버전 관리된 객체를 삭제하지 않아 버킷이 비어 있지 않아 삭제가 실패해요.

$ aws s3 rb s3://amzn-s3-demo-bucket --force

더 알아보기 (Learn more)