HTTPCode d'état 503 (service non disponible) - Amazon CloudFront

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

HTTPCode d'état 503 (service non disponible)

Un code d'état HTTP 503 (Service non disponible) indique généralement un problème de performance sur le serveur d'origine. Dans de rares cas, cela indique qu'il est CloudFront temporairement impossible de satisfaire une demande en raison de contraintes de ressources à un emplacement périphérique.

Si vous utilisez Lambda @Edge ou CloudFront Functions, le problème peut être dû à une erreur d'exécution ou à une erreur de dépassement de la limite Lambda @Edge.

Le serveur d’origine n’a pas suffisamment de capacité pour prendre en charge le débit de requêtes

Lorsqu'un serveur d'origine n'est pas disponible ou ne peut pas traiter les demandes entrantes, il renvoie un code d'état HTTP 503 (Service Unavailable). CloudFront transmet ensuite l'erreur à l'utilisateur. Pour résoudre ce problème, essayez les solutions suivantes :

  • Si vous utilisez Amazon S3 comme serveur d'origine :

    • Vous pouvez envoyer 3 500 HEAD requêtesPUT/COPYPOST/DELETEou 5 500GET/par seconde par préfixe Amazon S3 partitionné. Lorsqu'Amazon S3 renvoie une réponse 503 Slow Down, cela indique généralement un taux de demandes excessif par rapport à un préfixe Amazon S3 spécifique.

      Étant donné que les taux de demandes s'appliquent par préfixe dans un compartiment S3, les objets doivent être répartis entre plusieurs préfixes. À mesure que le taux de demandes sur les préfixes augmente progressivement, Amazon S3 évolue pour traiter les demandes pour chacun des préfixes séparément. Par conséquent, le taux de demandes global traité par le bucket est un multiple du nombre de préfixes.

    • Pour plus d’informations, consultez Optimisation de la performance d’Amazon S3 dans le Guide de l’utilisateur Amazon Simple Storage Service.

  • Si vous utilisez Elastic Load Balancing comme serveur d'origine :

    • Assurez-vous que vos instances de backend peuvent répondre aux tests de santé.

    • Assurez-vous que votre équilibreur de charge et vos instances de backend peuvent gérer la charge.

    Pour plus d’informations, consultez :

  • Si vous utilisez une origine personnalisée :

    • Examinez les journaux de l'application pour vous assurer que votre ordinateur d'origine dispose de ressources suffisantes, telles que de la mémoire et de la taille du disque. CPU

    • Si vous utilisez Amazon EC2 comme backend, assurez-vous que le type d'instance dispose des ressources appropriées pour répondre aux demandes entrantes. Pour plus d'informations, consultez la section Types d'instances dans le guide de EC2 l'utilisateur Amazon.

  • Si vous utilisez API Gateway :

    • Cette erreur est liée à l'intégration du backend lorsque la API passerelle API ne parvient pas à recevoir de réponse. Le serveur principal peut être :

      • Surchargé au-delà de sa capacité et incapable de traiter les nouvelles demandes des clients.

      • En maintenance temporaire.

    • Pour résoudre cette erreur, consultez les journaux de votre application API Gateway afin de déterminer s'il existe un problème lié à la capacité du backend, à l'intégration ou à autre chose.

CloudFront a provoqué l'erreur en raison de contraintes de ressources à l'emplacement périphérique

Vous recevrez cette erreur dans les rares cas où vous ne CloudFront pouvez pas acheminer les demandes vers le meilleur emplacement périphérique disponible suivant et ne pouvez donc pas satisfaire une demande. Cette erreur est courante lorsque vous effectuez des tests de charge sur votre CloudFront distribution. Pour essayer d’éviter ceci, suivez les conseils de Tests de charge CloudFront pour éviter les erreurs 503 (dépassement de capacité).

Si cela se produit dans votre environnement de production, contactez AWS Support.

Lambda @Edge ou erreur d'exécution de CloudFront la fonction

Si vous utilisez Lambda @Edge ou CloudFront Functions, un code d'état HTTP 503 peut indiquer que votre fonction a renvoyé une erreur d'exécution.

Pour plus de détails sur la façon d'identifier et de résoudre les erreurs Lambda @Edge, consultez. Tester et déboguer les fonctions Lambda @Edge

Pour plus d'informations sur le test CloudFront des fonctions, consultezFonctions de test.

Limite Lambda @Edge dépassée

Si vous utilisez Lambda @Edge, un code d'état HTTP 503 peut indiquer que Lambda a renvoyé une erreur. Cette erreur peut être due à l’une des raisons suivantes :

  • Le nombre d'exécutions de fonctions a dépassé l'un des quotas définis par Lambda pour limiter les exécutions dans un Région AWS (exécutions simultanées ou fréquence d'invocation).

  • La fonction a dépassé le quota d’expiration de la fonction Lambda.

Pour plus d'informations sur les quotas Lambda @Edge, consultez. Quotas sur Lambda@Edge Pour plus de détails sur la façon d'identifier et de résoudre les erreurs Lambda @Edge, consultez. Tester et déboguer les fonctions Lambda @Edge Vous pouvez également consulter les quotas du service Lambda dans le Guide du AWS Lambda développeur.