Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Wie behebe ich einen HTTP 500- oder 503-Fehler von Amazon S3?
Wenn ich eine Anfrage an Amazon Simple Storage Service (Amazon S3) stelle, gibt Amazon S3 einen 5xx-Statusfehler zurück.
Kurzbeschreibung
Amazon S3 gibt einen 5xx-Statusfehler zurück, der den folgenden Beispielen ähnelt:
- "AmazonS3Exception: Internal Error (Service: Amazon S3; Statuscode: 500; Fehlercode: 500 Internal Error; Request ID: A4DBBEXAMPLE2C4D)"
- "AmazonS3Exception: Slow Down (Service: Amazon S3; Statuscode: 503; Fehlercode: 503 Slow Down; Request ID: A4DBBEXAMPLE2C4D)"
Der Fehlercode 500 Internal Error weist darauf hin, dass Amazon S3 die Anfrage zu diesem Zeitpunkt nicht bearbeiten kann. Der Fehlercode 503 Slow Down weist in der Regel darauf hin, dass die Anzahl der Anfragen an Ihren S3-Bucket sehr hoch ist. Sie können beispielsweise 3.500 PUT/COPY/POST/DELETE- oder 5.500 GET/HEAD-Anfragen pro Sekunde pro partitioniertem Amazon S3-Präfix senden. Amazon S3 kann jedoch eine 503 Slow Down-Antwort zurückgeben, wenn Ihre Anfragen die Bandbreite überschreiten, die für regionsübergreifendes Kopieren verfügbar ist.
Führen Sie die folgenden Aufgaben aus, um 5xx-Statusfehler zu beheben oder zu vermeiden:
- Verwenden Sie für die Anwendung, die die Anforderungen stellt, einen Wiederholungsmechanismus.
- Konfigurieren Sie Ihre Anwendung, um die Anforderungsraten schrittweise zu erhöhen.
- Verteilen Sie Objekte auf mehrere Präfixe.
- Überwachen Sie die Anzahl der 5xx-Fehlerantworten.
**Hinweis:**Wenn ein Präfix erstellt wird, weist Amazon S3 nicht automatisch zusätzliche Ressourcen für die unterstützte Anforderungsrate zu. Amazon S3 skaliert basierend auf Anforderungsmustern. Wenn die Anforderungsrate steigt, optimiert Amazon S3 dynamisch für die neue Anforderungsrate.
Behebung
Verwenden Sie einen Wiederholungsmechanismus
Aufgrund der verteilten Natur von Amazon S3 können Sie Anfragen, die 500 oder 503 Fehler zurückgeben, erneut versuchen. Es ist eine bewährte Methode, Wiederholungslogik in Anwendungen zu integrieren, die Anfragen an Amazon S3 stellen.
Alle AWS-SDKs verfügen über einen integrierten Wiederholungsmechanismus mit einem Algorithmus, der exponentiellen Backoff verwendet. Dieser Algorithmus implementiert immer längere Wartezeiten zwischen Wiederholungsversuchen für aufeinanderfolgende Fehlerantworten. Viele exponentielle Backoff-Algorithmen verwenden Jitter (randomisierte Verzögerung), um aufeinanderfolgende Kollisionen zu verhindern. Weitere Informationen finden Sie unter Verhalten bei Wiederholungen.
**Hinweis:**Amazon S3 unterstützt Anforderungsraten von bis zu 3500 Put-Anfragen pro Sekunde pro partitioniertem Amazon S3-Präfix. In einigen Szenarien können schnelle gleichzeitige Put-Anfragen an denselben Schlüssel zu einer 503-Antwort führen. In diesen Fällen empfiehlt es sich, fehlgeschlagene Anfragen erneut zu versuchen.
Konfigurieren Sie Ihre Anwendung, um die Anforderungsraten schrittweise zu erhöhen
Wenn Sie Anfragen mit einer hohen Anforderungsrate stellen, die nahe am Ratenlimit liegt, gibt Amazon S3 möglicherweise 503 Slowdown-Fehler zurück. Wenn die Anforderungsrate für Objekte in einem Präfix plötzlich ansteigt, erhalten Sie 503 Slowdown-Fehler. Konfigurieren Sie Ihre Anwendung so, dass die Anforderungsrate beibehalten wird, und implementieren Sie einen Wiederholungsversuch mit exponentiellem Backoff. Diese Konfiguration gibt Amazon S3 Zeit, um die Anforderungsmuster zu überwachen und im Backend zu skalieren, um die Anforderungsrate zu verarbeiten.
Konfigurieren Sie Ihre Anwendung so, dass sie mit einer niedrigeren Anforderungsrate (Transaktionen pro Sekunde) beginnt, um den Fehler 503 Slow Down zu vermeiden. Erhöhen Sie dann die Anforderungsrate der Anwendung exponentiell. Amazon S3 skaliert automatisch, um eine höhere Anforderungsrate zu bewältigen.
Objekte auf mehrere Präfixe verteilen
Die Anforderungsraten gelten pro Präfix in einem Amazon S3-Bucket. Um Ihren Bucket so einzurichten, dass er insgesamt höhere Anforderungsraten verarbeitet, und um 503 Slowdown-Fehler zu vermeiden, verteilen Sie Objekte auf mehrere Präfixe. Wenn Sie beispielsweise einen Amazon S3-Bucket zum Speichern von Bildern und Videos verwenden, verteilen Sie die Dateien auf zwei Präfixe:
- mybucket/images
- mybucket/videos
Wenn die Anforderungsrate für die Präfixe allmählich steigt, skaliert Amazon S3 so, dass Anfragen für jedes der beiden Präfixe separat bearbeitet werden. Amazon S3 kann auf 3.500 PUT/POST/DELETE- oder 5.500 GET-Anfragen pro Sekunde pro partitioniertem Amazon S3-Präfix skaliert werden. Infolgedessen verdoppelt sich die Gesamtanforderungsrate, die der Bucket verarbeitet.
Überwachen Sie die Anzahl der Antworten auf 5xx-Statusfehler
Verwenden Sie eine der folgenden Optionen, um die Anzahl der 5xx-Statusfehlerantworten zu überwachen, die Sie erhalten:
- Schalten Sie die Amazon CloudWatch-Metriken ein. Die Amazon S3 CloudWatch-Anforderungsmetriken beinhalten eine Metrik für 5xx-Statusantworten.
- Aktivieren Sie die Amazon S3-Serverzugriffsprotokollierung. Da die Serverzugriffsprotokollierung alle Anfragen erfasst, filtern und überprüfen Sie alle Anfragen, die eine 500/503-Fehlerantwort erhalten. Verwenden Sie Amazon Athena, um Logs zu analysieren.
Zusätzliche Gründe für 5xx-Fehler
Wenn Sie die Stufe für beschleunigte Wiederherstellung zum Abrufen archivierter Objekte verwenden, erhalten Sie möglicherweise eine Fehlermeldung, die der folgenden Beispiele ähnelt:
- "GlacierExpeditedRetrievalNotAvailable"
- "Glacier expedited retrievals are currently not available, please try again later"
Diese Fehler treten auf, wenn die Kapazität für die Bearbeitung der Expressanfrage nicht ausreicht. In einer Zeit anhaltend hoher Nachfrage lehnt Amazon S3 möglicherweise beschleunigte Abrufanfragen ab und gibt einen 503-Fehler zurück. Verwenden Sie bereitgestellte Kapazitätseinheiten (PCUs), um sicherzustellen, dass die Abrufkapazität für beschleunigte Abrufe bei Bedarf verfügbar ist. Jede Einheit ermöglicht mindestens drei beschleunigte Abrufe alle 5 Minuten. Jede Einheit bietet einen Abrufdurchsatz von bis zu 150 Megabyte pro Sekunde (Mbit/s). Sie können auch die Abrufoptionen „Standard“ oder „Bulk“ verwenden.
Sie können den Abruf erneut versuchen, obwohl der Wiederholungsversuch keinen Erfolg garantiert. Außer in Fällen extremer Nachfrage sind beschleunigte Abrufe ohne bereitgestellte Kapazität möglich. Aufgrund des ständigen Wandels und der hohen Nachfrage nach Verfügbarkeit von beschleunigtem Abruf aus nicht bereitgestellten Kapazitäten bietet der AWS-Support kein garantiertes SLA.
Wenn Sie weiterhin eine hohe Anzahl von 5xx Statusfehlerraten erhalten, wenden Sie sich an den AWS-Support. Fügen Sie mehrere Amazon S3-Anforderungs-ID-Paare für Anfragen ein, die mit einem 5xx Status-Fehlercode fehlschlagen.
Ähnliche Informationen

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 3 Monaten
- AWS OFFICIALAktualisiert vor 3 Jahren