Zum Hauptinhalt springen

Fehlerbehebung — S3-Buckets

AccessDenied beim Zugriff auf den Bucket​

Ursache: Die verwendeten Schlüssel sind falsch, der verwendete Bucket-Name ist nicht der tatsächliche S3-Name, oder der Benutzer hat nur Lesezugriff und versucht zu schreiben.

Lösung:

  1. Öffnen Sie die Seite des Buckets und notieren Sie den Bucket name in der Karte Access & Configuration. Verwenden Sie diesen Namen und nicht den im Assistenten eingegebenen:
    aws --endpoint-url https://<endpoint> s3 ls s3://<s3-bucket-name>/
  2. Prüfen Sie in der Karte Users & Access das Recht des Benutzers (Read-only oder Read / Write); ändern Sie es bei Bedarf mit Edit access.
  3. Prüfen Sie, ob Access Key ID und Secret Access Key in Ihrem Tool korrekt konfiguriert sind. Ist der geheime Schlüssel verloren, erstellen Sie einen neuen Benutzer.

ListBucket schlägt auf der Wurzel fehl​

Ursache: Die Schlüssel eines Benutzers sind auf seinen Bucket beschränkt. Es ist nicht möglich, alle Buckets des Endpunkts aufzulisten.

Lösung:

  1. Zielen Sie in Ihren Befehlen immer auf den Bucket:
    aws --endpoint-url https://<endpoint> s3 ls s3://<s3-bucket-name>/
    mc ls hikube/<s3-bucket-name>/
  2. Um alle Ihre Buckets zu sehen, verwenden Sie die Seite Object Storage Buckets der Konsole.

Anmeldedaten nicht auffindbar​

Ursache: Der geheime Schlüssel wird nur bei der Erstellung des Benutzers angezeigt, oder es wurde kein Benutzer erstellt (zum Beispiel, wenn der Bucket am Ende des Assistenten nicht bereit war).

Lösung:

  1. Öffnen Sie die Seite des Buckets und prüfen Sie die Karte Users & Access.
  2. Klicken Sie auf Add User, um einen Benutzer zu erstellen und neue Schlüssel zu erhalten.
  3. Endpunkt und S3-Name bleiben jederzeit unter Access & Configuration einsehbar.

„No S3 connection information available currently.“​

Ursache: Der Bucket wird noch bereitgestellt, oder er hat noch keinen Benutzer: S3-Name und Endpunkt erscheinen mit seinem ersten Benutzer.

Lösung: Warten Sie, bis der Status des Buckets auf Ready wechselt, erstellen Sie bei Bedarf mit Add User einen Benutzer und laden Sie die Seite dann neu. Bleibt der Status auf Provisioning oder wechselt er auf Error, wenden Sie sich an den Support und geben Sie den Namen des Buckets und seine Kennung an.


Erstellung fehlgeschlagen: „A bucket with this name already exists.“​

Ursache: Ein Bucket des Projekts trägt bereits diesen Namen.

Lösung: Kehren Sie zum Schritt General des Assistenten zurück und wählen Sie einen anderen Bucket name.


Objekte sind nach dem Löschen eines Buckets verschwunden​

Ursache: Das Löschen eines Buckets ohne Sperre löscht auch alle seine Objekte, auch wenn er nicht leer ist; sie lassen sich nicht wiederherstellen. Das Bestätigungsfenster weist darauf hin. Ausnahme ist ein gesperrter Bucket (WORM): Seine Objekte bleiben nach dem Löschen erhalten.

Lösung: Kopieren Sie vor dem Löschen eines Buckets die zu behaltenden Objekte, zum Beispiel auf Ihren Rechner:

aws --endpoint-url https://<endpoint> s3 sync s3://<s3-bucket-name>/ ./bucket-backup/

Das Löschen des Buckets schlägt fehl​

Lösung: Versuchen Sie das Löschen in der Konsole erneut. Besteht der Fehler weiterhin, wenden Sie sich an den Support und geben Sie den Namen des Buckets an.


Langsamer Upload oder Timeout​

Ursache: Netzwerkproblem, große Datei ohne Multipart-Upload gesendet.

Lösung:

  1. Prüfen Sie Ihre Verbindung zum Endpunkt:
    curl -s -o /dev/null -w "%{time_total}\n" https://<endpoint>
  2. Verwenden Sie für große Dateien einen Client, der Multipart-Upload unterstützt: aws s3 cp und mc cp tun dies ab einer bestimmten Größe automatisch.
  3. Erhöhen Sie bei Bedarf die Parallelität auf Client-Seite (zum Beispiel aws configure set default.s3.max_concurrent_requests 20).

AccessDenied mit dem beim Erstellen eines Benutzers angezeigten Namen​

Ursache: Der S3-Client verwendet den in der Konsole gewählten Namen (zum Beispiel demo-assets) statt des tatsächlichen S3-Namens (bucket-…). Frühere Versionen der Konsole konnten beim Erstellen eines Buckets oder Benutzers diesen Namen anstelle des S3-Namens anzeigen. Die Schlüssel eines Benutzers gewähren nur Zugriff auf den tatsächlichen S3-Bucket: Jeder andere Name wird mit AccessDenied abgelehnt, nie mit NoSuchBucket, selbst wenn in der Konsole ein Bucket mit diesem Namen existiert.

Lösung: Notieren Sie den Bucket name in der Karte Access & Configuration der Seite des Buckets und verwenden Sie ihn stattdessen in der Konfiguration Ihrer Clients. Die Schlüssel des Benutzers bleiben gültig.

Warnung

Verwechseln Sie nicht den Namen des Buckets in der Konsole und seinen S3-Namen. Nur Letzterer funktioniert mit den S3-Clients.