Löschen eines Allzweck-Buckets - Amazon Simple Storage Service

Löschen eines Allzweck-Buckets

Sie können einen leeren Amazon S3-Allzweck-Bucket löschen. Informationen zum Entleeren eines Allzweck-Buckets finden Sie unter Entleeren eines Allzweck-Buckets.

Sie können einen Bucket über die Amazon-S3-Konsole, die AWS Command Line Interface (AWS CLI), die AWS SDKs oder die Amazon S3 REST-API löschen.

Wichtig

Bevor Sie einen Allzweck-Bucket löschen, sollten Sie Folgendes bedenken:

  • Wenn ein Bucket gelöscht wird, kann er von AWS nicht wiederhergestellt werden. Bevor Sie einen Bucket löschen, stellen Sie sicher, dass Sie Ihre Daten gesichert oder repliziert haben.

  • Allzweck-Bucket-Namen sind innerhalb eines globalen Namespaces eindeutig. Wenn Sie einen Bucket löschen, sollten Sie sich bewusst sein, dass ein anderer AWS-Konto denselben Allzweck-Bucket-Namen für einen neuen Bucket verwenden kann und daher möglicherweise Anfragen entgegennehmen kann, die für den gelöschten Bucket bestimmt sind. Wenn Sie weiterhin denselben Bucket-Namen verwenden wollen, sollten Sie den Bucket nicht löschen. Wir empfehlen, den Bucket zu leeren und beizubehalten und stattdessen alle Bucket-Anfragen nach Bedarf zu blockieren. Für Buckets, die nicht mehr aktiv verwendet werden, empfehlen wir, den Bucket mit allen Objekten zu leeren, um die Kosten zu minimieren und gleichzeitig den Bucket selbst beizubehalten.

  • Wenn Sie einen Allzweck-Bucket löschen, wird der Bucket möglicherweise nicht sofort entfernt. Stattdessen stellt Amazon S3 den Bucket in die Warteschlange für die Löschung. Da Amazon S3 über AWS-Regionen verteilt ist, dauert es einige Zeit, bis der Löschvorgang vollständig im gesamten System verbreitet ist und Konsistenz erreicht ist.

  • Wenn der Bucket eine statische Website hostet und Sie eine gehostete Zone von Amazon Route 53, wie unter Tutorial: Konfigurieren einer statischen Website mithilfe einer benutzerdefinierten bei Route 53 registrierten Domäne beschrieben, erstellt und konfiguriert haben, müssen Sie die gehosteten Route 53-Zoneneinstellungen bereinigen, die sich auf den Bucket beziehen. Weitere Informationen finden Sie unter Schritt 2: Löschen der von Route 53 gehosteten Zone.

  • Wenn der Bucket Protokolldaten von Elastic Load Balancing (ELB) erhält, empfehlen wir, die Lieferung von ELB-Protokollen an den Bucket zu stoppen, bevor Sie ihn löschen. Erstellt ein anderer Benutzer nach dem Löschen des Buckets einen Bucket mit demselben Namen, dann könnten Ihre Protokolldaten potenziell an diesen Bucket übermittelt werden. Informationen über ELB-Zugriffsprotokolle finden Sie unter Zugriffsprotokolle für Ihren Classic Load Balancer im Benutzerhandbuch für Classic Load Balancer und Zugriffsprotokolle für Ihren Application Load Balancer im Benutzerhandbuch für Application Load Balancer.

Fehlerbehebung

Wenn Sie einen Amazon S3-Allzweck-Bucket nicht löschen können, sollten Sie Folgendes beachten:

  • Stellen Sie sicher, dass der Bucket leer ist - Sie können Buckets nur löschen, wenn sie keine Objekte enthalten. Vergewissern Sie sich, dass der Bucket leer ist. Weitere Informationen über Bucket-Tags finden Sie unter Entleeren eines Allzweck-Buckets.

  • Stellen Sie sicher, dass keine Zugangspunkte angeschlossen sind – Sie können Buckets nur löschen, wenn ihnen keine S3-Zugangspunkte oder multiregionale Zugangspunkte innerhalb desselben Kontos zugeordnet sind. Löschen Sie alle Zugangspunkte, die dem Bucket angefügt sind, bevor Sie den Bucket löschen.

  • Stellen Sie sicher, dass Sie die s3:DeleteBucket entsprechende Berechtigung haben – Wenn Sie einen Bucket nicht löschen können, bestätigen Sie mit Ihrem IAM-Administrator, dass Sie die s3:DeleteBucket Berechtigung haben. Informationen zum Anzeigen oder Aktualisieren von IAM-Berechtigungen finden Sie unter Ändern von Berechtigungen für einen IAM-Benutzer im IAM-Benutzerhandbuch. Informationen zur Problembehebung finden Sie unter Beheben von „Zugriff verweigert“-Fehlern (403 Forbidden) in Amazon S3.

  • Prüfen Sie auf s3:DeleteBucket Deny-Statements in AWS Organizations-Service-Kontrollrichtlinie (SCPs) und Ressourcen-Kontrollrichtlinie (RCPs) – SCPs und RCPs können die Löschberechtigung für einen Bucket verweigern. Weitere Informationen finden Sie unter Service-Kontrollrichtlinien und Ressourcen-Kontrollrichtlinien im AWS Organizations-Benutzerhandbuch.

  • Suchen Sie nach s3:DeleteBucket Deny Anweisungen in Ihrer Bucket-Richtlinie – Wenn Sie s3:DeleteBucket-Berechtigungen in Ihrer IAM-Benutzer- oder Rollenrichtlinie haben und einen Bucket nicht löschen können, enthält die Bucket-Richtlinie möglicherweise eine Deny Anweisung fürs3:DeleteBucket. Buckets, die von AWS Elastic Beanstalk erstellt wurden, haben standardmäßig eine Richtlinie, die diese Anweisung enthält. Bevor Sie den Bucket löschen können, müssen Sie diese Anweisung oder die Bucket-Richtlinie löschen.

Voraussetzungen

Bevor Sie einen Allzweck-Bucket löschen können, müssen Sie ihn leeren. Weitere Informationen über Bucket-Tags finden Sie unter Entleeren eines Allzweck-Buckets.

Einen S3-Bucket löschen
  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Allzweck-Buckets aus.

  3. Wählen Sie in der Liste Buckets die Option neben dem Namen des Buckets aus, den Sie löschen möchten, und wählen Sie dann oben auf der Seite Löschen aus.

  4. Bestätigen Sie auf der Seite Delete bucket (Bucket löschen), dass Sie den Bucket löschen möchten. Geben Sie dazu den Bucket-Namen in das Textfeld ein und wählen Sie Delete bucket (Bucket löschen).

    Anmerkung

    Wenn der Bucket Objekte enthält, leeren Sie den Bucket vor dem Löschen, indem Sie in der Fehlermeldung Dieser Bucket ist nicht leer die Schaltfläche Leerer Bucket wählen und den Anweisungen auf der Seite Leerer Bucket folgen. Kehren Sie dann zur Seite Delete bucket (Bucket löschen) zurück und löschen Sie den Bucket.

  5. Um zu überprüfen, ob Sie den Bucket gelöscht haben, öffnen Sie die Liste Allzweck-Bucket und geben Sie den Namen des Buckets ein, den Sie gelöscht haben. Wenn der Buckets nicht gefunden wird, war der Löschvorgang erfolgreich.

Um einen Allzweck-Bucket mit dem AWS SDK für Java zu leeren und zu löschen, müssen Sie zuerst alle Objekte im Allzweck-Bucket und dann den Bucket löschen.

Beispiele in anderen Sprachen finden Sie unter Verwendung von DeleteBucket mit einem AWS SDK oder einer CLI in der Amazon Simple Storage Service API-Referenz. Für Informationen über die Verwendung anderer AWS SDKs siehe Tools für Amazon Web Services.

Java

Um mithilfe des AWS SDK für Java einen Bucket zu löschen, der Objekte enthält, müssen Sie zuerst alle Objekte und dann den Bucket löschen. Dieser Ansatz funktioniert für Buckets mit oder ohne aktivierter Versionsverwaltung.

Anmerkung

Bei Buckets ohne aktiviertes Versioning können Sie alle Objekte direkt löschen und danach den Bucket löschen. Bei Buckets mit aktiviertem Versioning müssen Sie zuerst alle Objektversionen löschen, bevor Sie den Bucket löschen.

Beispiele für das Löschen eines Buckets mit dem AWS SDK für Java finden Sie unter Löschen eines Buckets in der Amazon S3 API Referenz.

Sie können einen Allzweck-Bucket löschen, der Objekte mit der Bezeichnung AWS CLI enthält, wenn die Versionsverwaltung für den Bucket nicht aktiviert ist. Wenn Sie einen Bucket löschen, der Objekte enthält, werden alle Objekte in diesem Bucket dauerhaft gelöscht, einschließlich der Objekte, die in die Speicherklasse S3 Glacier Flexible Retrieval überführt wurden.

Wenn für Ihren Bucket die Versionsverwaltung nicht aktiviert ist, können Sie den AWS CLI-Befehl rb (Bucket entfernen) mit dem Parameter --force verwenden, um den Bucket und alle darin enthaltenen Objekte zu löschen. Dieser Befehl löscht zuerst alle Objekte und dann den Bucket.

Wenn die Versionsverwaltung aktiviert ist, werden mit dem Befehl rb und dem Parameter --force keine versionierten Objekte gelöscht, so dass das Löschen des Buckets fehlschlägt, weil der Bucket nicht leer ist. Informationen zum Löschen versionierter Objekte finden Sie unter Löschen von Objektversionen.

Um den folgenden Befehl zu verwenden, ersetzen Sie amzn-s3-demo-bucket durch den Namen des Buckets, den Sie löschen möchten:

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

Weitere Informationen finden Sie unter Verwendung von High-Level-S3-Befehlen mit dem AWS Command Line Interface im AWS Command Line Interface Benutzerhandbuch.