

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.

# Résolution des problèmes liés aux services Amazon ECS Express Mode
<a name="express-service-troubleshooting"></a>

Cette section vous aide à identifier et à résoudre les problèmes courants lors du déploiement et de la gestion des services en mode Express.

## Problèmes de déploiement
<a name="express-service-deployment-issues"></a>

### Service bloqué en état ACTIF ou ÉPUISANT
<a name="express-service-service-stuck-provisioning"></a>

**Symptômes :** DescribeServiceRevisions indique que les ressources sont toujours en cours de provisionnement ou de déprovisionnement. DescribeServices indique que le déploiement n'est pas stabilisé

**Causes possibles et solutions :**
+ **Autorisations IAM insuffisantes** : vérifiez que le rôle d'exécution des tâches et le rôle d'infrastructure disposent des autorisations nécessaires, comme indiqué dans leurs politiques gérées respectives.

  ```
  # Check if the role has the required managed policy
  aws iam list-attached-role-policies --role-name ecsTaskExecutionRole
  ```
+ **Échec de l'extraction** de l'image : assurez-vous que l'image du conteneur existe et qu'elle est accessible.

  ```
  # Test image pull manually
  docker pull 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-app:latest
  ```
+ Problèmes de **connectivité réseau : vérifiez que les sous-réseaux disposent d'un accès à Internet ou de points** de terminaison AWS Amazon VPC pour les services.
+ **Limites de ressources** : vérifiez que votre compte dispose d'une capacité Fargate suffisante et que les quotas de service ne sont pas atteints.

**Étapes de diagnostic :**

1.  DescribeExpressGatewayService À utiliser pour obtenir votre révision de service actuelle, puis DescribeServiceRevisions pour ServiceRevision obtenir l'état du provisionnement ou du déprovisionnement

1. Consultez les événements de service dans la console Amazon ECS pour obtenir des messages d'erreur détaillés.

1. Vérifiez que le port du conteneur a été correctement configuré

1. Vérifiez les quotas AWS de service pour Amazon ECS et Fargate.

### Défaillances au démarrage des tâches
<a name="express-service-task-startup-failures"></a>

**Symptômes : les** tâches ne démarrent pas ou s'arrêtent immédiatement après le démarrage.

**Causes courantes :**
+ **Erreurs d'application** : l'application conteneur se ferme en raison d'erreurs de configuration ou d'exécution.
+ **Échec des tests de santé** : l'application ne répond pas aux contrôles de santé sur le port ou le chemin attendu.
+ **Contraintes de ressources** : allocation de processeur ou de mémoire insuffisante pour l'application.
+ **Variables ou secrets d'environnement manquants** - La configuration requise n'est pas disponible pour l'application.

**Étapes de résolution :**

1. Vérifiez les journaux de l'application dans CloudWatch Logs, obtenez le nom du groupe de journaux auprès de DescribeServiceRevisions :

   ```
   aws logs describe-log-streams --log-group-name /ecs/express-service-my-app
   aws logs get-log-events --log-group-name /ecs/express-service-my-app --log-stream-name stream-name
   ```

1. Vérifiez que le chemin de vérification de l'état renvoie le statut HTTP 200.

1. Testez l'image du conteneur localement pour vous assurer qu'elle démarre correctement.

1. Vérifiez et ajustez les allocations de processeur et de mémoire si nécessaire.

## Problèmes de connectivité
<a name="express-service-connectivity-issues"></a>

### Application inaccessible via l'équilibreur de charge
<a name="express-service-application-unreachable"></a>

**Symptômes :** l'URL de l'application renvoie des délais d'expiration ou des erreurs de connexion.

**Étapes de résolution des problèmes :**

1. Vérifiez que le provisionnement de vos ressources est terminé

1. Vérifiez que les tâches sont en cours d'exécution et qu'elles fonctionnent correctement :

   ```
   aws ecs describe-services --cluster my-cluster --services my-express-service
   ```

1. Vérifiez l'état du groupe cible Application Load Balancer :

   ```
   aws elbv2 describe-target-health --target-group-arn arn:aws:elasticloadbalancing:region:account:targetgroup/name/id
   ```

1. Assurez-vous que l'application écoute sur le port approprié à l'intérieur du conteneur.

## Problèmes de performance
<a name="express-service-performance-issues"></a>

### Temps de réponse lents
<a name="express-service-slow-response-times"></a>

**Symptômes : les** réponses aux demandes sont plus lentes que prévu.

**Approche diagnostique :**

1. Surveillez l'utilisation du processeur et de la mémoire :

   ```
   # Check CloudWatch metrics for the service
   aws cloudwatch get-metric-statistics \
       --namespace AWS/ECS \
       --metric-name CPUUtilization \
       --dimensions Name=ServiceName,Value=my-express-service Name=ClusterName,Value=my-cluster \
       --start-time 2024-01-01T00:00:00Z \
       --end-time 2024-01-01T01:00:00Z \
       --period 300 \
       --statistics Average
   ```

1. Consultez les journaux des applications pour détecter les erreurs ou les avertissements relatifs aux performances.

1. Vérifiez si le dimensionnement automatique répond correctement à la charge.

1. Analysez les métriques de l'équilibreur de charge pour la distribution des demandes.

**Stratégies d'optimisation :**
+ Augmentez l'allocation du processeur ou de la mémoire si les ressources sont limitées.
+ Ajustez les seuils de mise à l'échelle automatique pour effectuer une mise à l'échelle plus tôt.
+ Optimisez le code de l'application et les requêtes de base de données.

### Le dimensionnement automatique ne fonctionne pas comme prévu
<a name="express-service-scaling-issues"></a>

**Symptômes :** le service n'augmente pas en cas de charge élevée ou ne diminue pas en cas de faible charge.

**Étapes de résolution des problèmes :**

1. Vérifiez les politiques de dimensionnement automatique et leur configuration :

   ```
   aws application-autoscaling describe-scaling-policies \
       --service-namespace ecs \
       --resource-id service/my-cluster/my-express-service
   ```

1. Passez en revue CloudWatch les métriques pour vous assurer que les déclencheurs de mise à l'échelle sont respectés.

1. Vérifiez que le service est autorisé à évoluer (vérifiez les rôles IAM).

1. Vérifiez les activités de mise à l'échelle et leurs résultats.

## Outils de surveillance et de débogage
<a name="express-service-monitoring-debugging"></a>

### Utilisation de CloudWatch Container Insights
<a name="express-service-cloudwatch-insights"></a>

Activez Container Insights pour une surveillance complète :

```
aws ecs put-account-setting --name containerInsights --value enabled
```

Container Insights fournit :
+ Mesures relatives au processeur, à la mémoire, au disque et au réseau
+ Tableaux de bord de surveillance des performances
+ Corrélation et analyse des logs
+ Détection des anomalies