Bonnes pratiques pour les services Amazon ECS Express Mode - Amazon Elastic Container Service

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.

Bonnes pratiques pour les services Amazon ECS Express Mode

Découvrez les meilleures pratiques et les recommandations pour utiliser efficacement le service Express Mode dans les environnements de production.

Bonnes pratiques de sécurité

Gestion des secrets

  • Utiliser Secrets Manager pour les secrets - Stockez les données sensibles dans Secrets Manager (par exemple, un référentiel privé ou des informations d'identification de base de données).

    Pour plus d'informations sur les meilleures pratiques de Secrets Manager, consultez la section Meilleures pratiques de Secrets Manager dans le Guide de l'utilisateur de Secrets Manager

  • Activer le chiffrement au repos : assurez-vous que les secrets sont chiffrés lorsqu'ils sont stockés dans AWS les services.

    L'utilisation d'un service tel que Secrets Manager vous permet de chiffrer à l'aide d'une clé AWS gérée ou fournie par le client.

  • Implémenter une rotation secrète : utilisez la rotation automatique pour les mots de passe de base de données et les clés d'API.

    L'utilisation d'un service tel que Secrets Manager permet de gérer la rotation des secrets pour des services tels qu'Amazon Aurora et Amazon RDS

Exemple d'utilisation de secrets dans le service Express Mode :

aws ecs update-express-gateway-service \ --primary-container \ ‘{“environment”=[{“name”=“DB_PASSWORD”,”value”=“arn:aws:secretsmanager:us-west-2:123456789012:secret:prod/db/password”}, \ {“name”=“API_KEY”,”value”=“arn:aws:ssm:us-west-2:123456789012:parameter/prod/api-key”}]}’ \

Sécurité du réseau

  • Utiliser des sous-réseaux privés pour les applications sensibles - Déployez des applications ne nécessitant pas d'accès direct à Internet dans des sous-réseaux privés.

    Pour plus d'informations sur les architectures recommandées, consultez l'application Connect Amazon ECS à Internet.

  • Configurez les groupes de sécurité de manière à ce qu'ils soient le moins permissifs possible : limitez le trafic entrant et sortant aux seuls ports et sources nécessaires.

    Pour restreindre le trafic sortant du groupe de sécurité du service en mode express, vous pouvez le modifier directement dans la console Amazon EC2 Security Groups en modifiant les règles de trafic sortant ou en utilisant les commandes suivantes :

    aws ec2 authorize-security-group-egress --group-id sg-xxxxxxxx \ --protocol tcp \ --port 443 \ --cidr 0.0.0.0/0 aws ec2 revoke-security-group-egress --group-id sg-xxxxxxxx \ --protocol tcp \ --port 443 \ --cidr 0.0.0.0/0
  • Activez les journaux de flux Amazon VPC : surveillez le trafic réseau à des fins d'analyse de sécurité et de résolution des problèmes.

    Vous pouvez l'activer dans chaque sous-réseau utilisé par vos applications en mode Express dans la console de sous-réseau VPC, ou utiliser aws ec2 create-flow-logs --resource-ids subnet-xxx

  • Utilisation AWS WAF pour les applications Web : protégez-vous contre les attaques et les exploits Web courants.

    Vous pouvez l'activer en créant une ACL Web, puis en l'associant à l'Application Load Balancer utilisé par votre service Express Mode. Dans la console, créez une ACL Web dans le service WAF & Shield et associez-la à votre Application Load Balancer. Ou utilisez aws wafv2 create-web-acl etaws wafv2 associate-web-acl --resource-arn <alb>.

Optimisation des performances et du calcul

Dimensionnement des ressources

  • Processeur et mémoire adaptés : surveillez les performances des applications et ajustez les allocations de processeur et de mémoire en fonction des habitudes d'utilisation réelles.

    Optimiseur de calcul AWS génère des recommandations concernant la taille des tâches et des conteneurs Amazon ECS. Pour plus d’informations, consultez Présentation de Optimiseur de calcul AWS dans le Guide de l’utilisateur Optimiseur de calcul AWS .

  • Testez les performances de votre application : pour vous assurer que votre application fonctionne à grande échelle et avec les seuils de mise à l'échelle et les allocations de ressources définis, effectuez des tests de charge.

Configuration de mise à l'échelle automatique

  • Définissez des seuils de dimensionnement appropriés : configurez des seuils de processeur ou de mémoire qui déclenchent le dimensionnement avant que les performances ne se dégradent.

    Vous pouvez modifier la valeur cible de la métrique de service dans votre console de service en mode Express.

    Envisagez d'ajouter une politique de dimensionnement prédictif, en particulier si votre trafic suit un modèle basé sur le temps. Voir Predictive Auto Scaling pour plus d'informations.

  • Utilisez plusieurs mesures de dimensionnement : pensez à utiliser à la fois le processeur ou la mémoire et le dimensionnement basé sur les demandes pour une mise à l'échelle plus réactive.

    Vous pouvez ajouter plusieurs politiques à un service. Le mode Express en ajoute une par défaut, mais vous pouvez associer directement des politiques supplémentaires à votre service.

  • Configurez les limites minimales et maximales des tâches : définissez des limites raisonnables pour contrôler les coûts et garantir la disponibilité.

    Pour les charges de travail de production, une fois les tests initiaux terminés, nous vous recommandons de les exécuter dans trois zones de disponibilité afin de suivre les meilleures pratiques en matière de disponibilité. Vous pouvez mettre à jour le nombre minimum de tâches dans la console du mode Express ou en utilisantupdate-express-gateway-service --scaling-target '{“minTaskCount”=3}'.

Surveillance de l'état

  • Mettez en œuvre des contrôles de santé significatifs : créez des points de terminaison de contrôle de l'état qui vérifient les dépendances critiques des applications.

    Vous pouvez mettre à jour le chemin du Health check dans la console Express Mode. Ou en utilisantupdate-express-gateway-service --health-check-path "/health".

    Pour plus d'informations sur la création de bilans de santé pour votre application, reportez-vous à Implementation des bilans de santé

  • Simplifiez les bilans de santé : évitez les opérations coûteuses sur les terminaux de contrôle de santé.

    Les exemples peuvent inclure des appels d'API externes, des opérations gourmandes en CPU ou en mémoire, ou des opérations de longue durée pouvant entraîner un délai d'expiration.

  • Utilisez des délais d'expiration appropriés : configurez des délais de vérification de l'état qui permettent des temps de réponse normaux tout en détectant rapidement les défaillances.

    Les délais d'expiration des contrôles de santé pour le mode Express peuvent être configurés sur le groupe cible Application Load Balancer. Dans la EC2 console Amazon, accédez à la section Groupes cibles et sélectionnez votre groupe cible en mode Express. Sélectionnez l'onglet Health Checks et cliquez sur Modifier. Sous Paramètres de contrôle de santé avancés, vous pouvez ajuster le délai d'expiration. Ou utilisezaws elbv2 modify-target-group --target-group-arn <targetgroup> --health-check-timeout.

  • Renvoie les codes d'état HTTP appropriés - Utilisez 200 pour les états sains et 4xx/5xx pour les états malsains.

Bonnes pratiques opérationnelles

Surveillance et journalisation

  • Activez Enhanced Container Insights CloudWatch : utilisez Enhanced Container Insights pour une surveillance complète de vos applications de service en mode Express.

    Consultez Configuration de Container Insights sur Amazon ECS pour plus d'informations.

  • Configurez des métriques personnalisées : publiez des métriques spécifiques à l'application dans CloudWatch ; pour la surveillance de la logique métier.

    Pour plus d'informations, consultez la section Mesures personnalisées publiques dans le guide de l'CloudWatch utilisateur.

  • Configurer la conservation des journaux : définissez des périodes de conservation des journaux appropriées pour équilibrer les coûts et les exigences de conformité.

    CloudWatch Les groupes de journaux créés par le mode Express sont configurés pour ne jamais expirer et sont conservés lorsque le service Express Mode est supprimé. Vous pouvez ajuster ce paramètre dans le groupe de CloudWatch journaux.

  • Créez des tableaux de bord et des alertes : CloudWatch configurez des tableaux de bord et des alarmes pour une surveillance proactive.

Stratégies de déploiement

  • Implémentation des temps de cuisson : le mode Express implémente un temps de cuisson canari pour garantir que les déploiements ont le temps de se stabiliser tout en réduisant le rayon d'action des déploiements problématiques. Si votre application a besoin de plus de temps pour se stabiliser, cela peut être configuré dans la définition du service Amazon ECS de votre service Express Mode. Reportez-vous à la section Création d'un déploiement Amazon ECS Canary pour plus de détails.

  • Mettez en œuvre des procédures de restauration : prévoyez de revenir rapidement aux versions précédentes en cas de problème.

    Des bilans de santé significatifs et des annulations basées sur des alarmes peuvent tous deux contribuer à la restauration. La stratégie de déploiement Canary d'Express Mode, combinée à des annulations basées sur des alarmes sur le trafic 4xx et 5xx, permet de configurer vos déploiements pour des annulations rapides en cas de code ou de configuration d'application défectueux.