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.
Meilleures 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
-
Utilisez 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 les 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émentez la 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
-
Utilisez des sous-réseaux privés pour les applications sensibles - Déployez des applications qui n'ont pas besoin d'un accès direct à Internet dans des sous-réseaux privés.
Pour plus d'informations sur les architectures recommandées, consultez Connecter l'application 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 Express Mode, vous pouvez le modifier directement dans la console Amazon EC2 Security Groups en modifiant les règles de trafic sortant, ou utiliser 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 Amazon VPC Flow Logs : surveillez le trafic réseau à des fins d'analyse de sécurité et de dépannage.
Vous pouvez l'activer dans chaque sous-réseau utilisé par vos applications Express Mode 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 courants sur le Web.
Vous pouvez l'activer en créant une ACL Web, puis en l'associant à l'équilibreur de charge des applications utilisé par votre service Express Mode. Dans la console, créez une ACL Web dans le service WAF & Shield et associez-la à votre équilibreur de charge d'application. Ou utilisez
aws wafv2 create-web-acletaws wafv2 associate-web-acl --resource-arn <alb>.
Optimisation des performances et du calcul
Dimensionnement des ressources
-
Right-size CPU et mémoire : 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 pour 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 dimensionnement et les allocations de ressources donnés, effectuez des tests de charge.
Configuration de mise à l'échelle automatique
-
Définissez des seuils de mise à l'échelle appropriés - Configurez des seuils de processeur ou de mémoire qui déclenchent la mise à l'échelle 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 Express Mode.
Envisagez d'ajouter une politique de dimensionnement prédictif, en particulier si votre trafic suit un schéma temporel. Pour plus d'informations, consultez la section Predictive Auto Scaling.
-
Utilisez plusieurs mesures de dimensionnement - Envisagez d'utiliser à la fois le processeur ou la mémoire et une mise à l'échelle basée 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 des politiques supplémentaires directement à votre service.
-
Configurez les limites minimales et maximales des tâches - Fixez 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 de disponibilité. Vous pouvez mettre à jour le nombre minimum de tâches dans la console du mode Express ou en utilisant
update-express-gateway-service --scaling-target '{“minTaskCount”=3}'.
Surveillance de l'état
-
Implémentez des bilans de santé significatifs : créez des points de terminaison de contrôle de santé qui vérifient les dépendances critiques des applications.
Vous pouvez mettre à jour le chemin du contrôle de santé dans la console du mode Express. Ou en utilisant
update-express-gateway-service --health-check-path "/health".Pour plus d'informations sur la création de bilans de santé pour votre candidature, reportez-vous à la section Mise en œuvre des bilans de santé
-
Simplifiez les bilans de santé : évitez les opérations coûteuses sur les terminaux des bilans de santé.
Les exemples peuvent inclure des appels d'API externes, des opérations gourmandes en processeur ou en mémoire, ou des opérations de longue durée pouvant entraîner un délai d'expiration.
-
Utilisez les délais d'attente appropriés - Configurez des délais de contrôle de santé qui permettent des temps de réponse normaux tout en détectant rapidement les défaillances.
Les délais de contrôle de santé pour le mode Express sont configurables sur le groupe cible Application Load Balancer. Dans la console Amazon EC2, accédez à la section Groupes cibles et sélectionnez votre groupe cible en mode Express. Sélectionnez l'onglet Bilans de santé et cliquez sur Modifier. Sous Paramètres avancés du bilan de santé, vous pouvez régler le délai d'attente. Ou utilisez
aws 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 malsains.
Meilleures pratiques opérationnelles
Surveillance et journalisation
-
Activez Enhanced Container Insights - Utilisez CloudWatch ; Enhanced Container Insights pour une surveillance complète de vos applications de service en mode Express.
Pour plus d'informations, consultez Configuration de Container Insights sur Amazon ECS.
-
Configurer des mesures personnalisées : publiez des mesures spécifiques à l'application dans CloudWatch ; pour la surveillance de la logique métier.
Pour plus d'informations, consultez la section Publier des mesures personnalisées dans le Guide de CloudWatch l'utilisateur.
-
Configuration de 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 CloudWatch Log Group.
-
Créez des tableaux de bord et des alertes - Configurez des CloudWatch tableaux de bord et des alarmes pour une surveillance proactive.
Stratégies de déploiement
-
Implémentez les temps de cuisson : le mode Express met en œuvre un temps de cuisson canarien pour garantir que les déploiements aient 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, vous pouvez le configurer dans la définition du service Amazon ECS de votre service Express Mode. Pour plus d'informations, consultez Création d'un déploiement Amazon ECS Canary.
-
Mettez en œuvre des procédures de restauration - Établissez un plan pour 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 d'application ou de configuration défectueux.
Quand utiliser une définition de tâche personnalisée
Envisagez de fournir votre propre définition de tâche personnalisée uniquement dans les cas suivants :
-
Votre équipe dispose de définitions de tâches standardisées avec des agents de sécurité, des sidecars de journalisation ou des configurations de conformité qui doivent être présentes sur tous les services.
-
Vous avez besoin de paramètres au niveau des tâches qui ne sont pas directement configurables via le mode Express, tels que des contrôles de santé des conteneurs, des pilotes de journal personnalisés (par exemple FireLens), des paramètres Linux (
initProcessEnabled,tmpfsmontages) ou des conteneurs sidecar supplémentaires. -
Vous utilisez l'infrastructure en tant que code et souhaitez définir la définition de votre tâche dans vos modèles et la transmettre à votre service Express Mode.