Ressources créées par 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.

Ressources créées par les services Amazon ECS Express Mode

Un service en mode express réduit la complexité du déploiement d'applications conteneurisées en fournissant des valeurs par défaut pertinentes et en automatisant la configuration des services de support. AWS Au lieu de gérer des centaines de paramètres de configuration sur plusieurs services, un service en mode express ne nécessite qu'une image de conteneur, un rôle d'exécution de tâches et un rôle d'infrastructure pour démarrer.

Les services Express Mode proposent des procédures simplifiées de mise en service et de configuration d'un service Amazon ECS qui regroupe l'infrastructure préférée pour exécuter une application Web de production. Les services en mode express intègrent automatiquement les meilleures pratiques opérationnelles et de configuration. Les ressources suivantes sont créées :

  • Le cluster par défaut ECS (s'il n'existe pas déjà) avec les fournisseurs de capacité Fargate

  • Une définition de tâche avec des configurations de conteneur, de journalisation et de mise en réseau

  • Un service avec déploiement Canary et mise à l'échelle automatique

  • Application Load Balancer avec écouteur HTTPS, règles d'écouteur et groupes cibles

  • Groupes de sécurité avec une entrée minimale requise

  • Rôles liés aux services pour l'auto-scaling et l'équilibrage de charge

  • Application Auto Scaling : cible évolutive et politique de dimensionnement du suivi des cibles.

    La politique de mise à l'échelle ajoute ou supprime des tâches de service si nécessaire pour maintenir la métrique à la valeur cible spécifiée ou proche de celle-ci. En plus de maintenir la métrique proche de la valeur cible, une politique de suivi des objectifs et d'échelonnement s'ajuste également aux fluctuations de la métrique dues à un modèle de charge fluctuant, et minimise les fluctuations rapides du nombre de tâches exécutées dans votre service.

  • Groupe de journaux spécifique au service

  • Alarme métrique pour détecter les déploiements défectueux

  • Certificat ACM

Utilisez les valeurs par défaut pour démarrer avec les services en mode express ou configurez votre application à l'aide d'un ensemble minimal de paramètres.

Valeurs par défaut du cluster

Les valeurs par défaut suivantes sont configurables depuis le mode Express pour le cluster :

  • ClusterName : utilise le default cluster.

    Vous pouvez personnaliser cette option en utilisant l'option Configurations supplémentaires de la console ou en spécifiantcreate-express-gateway-service --cluster.

Les valeurs par défaut suivantes sont définies par le mode Express mais peuvent être mises à jour directement dans le cluster.

  • Fournisseurs de capacités : [« FARGATE »] - Utilise Fargate

Valeurs par défaut de définition des tâches

Les valeurs par défaut suivantes sont configurables depuis le mode Express pour la définition de la tâche :

  • cpu : 1024 - 1 unité vCPU allouée à la tâche

    Vous pouvez personnaliser cette option en utilisant l'option Configurations supplémentaires de la console ou en exécutantcreate-express-gateway-service --cpu.

  • mémoire : 2048 - 2 Go de mémoire allouée à la tâche

    Vous pouvez personnaliser cette option en utilisant l'option Configurations supplémentaires de la console ou en exécutantcreate-express-gateway-service --memory.

Les valeurs par défaut suivantes sont définies par le mode Express mais peuvent être mises à jour directement dans la définition de tâche.

  • NetworkMode : « awsvpc » - Utilise le mode réseau awsvpc

  • operatingSystemFamily: « LINUX » - Fonctionne sur le système d'exploitation Linux

  • CPUArchitecture : « X86_64" - Utilise l'architecture du processeur x86_64

  • Compatibilité requise : ["FARGATE"] - Compatible avec le type de lancement Fargate

  • PlatformVersion : « LATEST » - Utilise la dernière version de la plateforme Fargate

Valeurs par défaut de définition du conteneur

Les valeurs par défaut suivantes sont configurables depuis le mode Express pour le conteneur :

  • port : 80 - Port par défaut pour le trafic de conteneurs

Les valeurs par défaut suivantes sont définies par le mode Express mais peuvent être mises à jour directement dans la définition de tâche - Définition du conteneur :

  • essential : true - Le conteneur est marqué comme essentiel pour le bon fonctionnement de la tâche

  • protocol : « tcp » - Protocole par défaut pour la communication avec l'équilibreur de charge

  • name : « Main » - Nom par défaut du conteneur principal

    La modification du nom du conteneur par défaut peut affecter la capacité du mode Express à apporter des mises à jour ultérieures à votre service. Cela n'est pas recommandé si vous avez l'intention de continuer à utiliser la console du mode Express ou APIs

  • VersionConsistency : activé - Résout les balises d'image pour les assimiler IDs pour des déploiements cohérents

  • initProcessEnabled: true - Active le support du processus d'initialisation Docker.

  • StopTimeout : 30 secondes - Durée entre les signaux SIGTERM et SIGKILL.

Paramètres de journalisation par défaut

Les valeurs par défaut suivantes sont configurables depuis le mode Express pour les CloudWatch journaux :

  • awslogs-group : « /aws/ecs/<cluster>/<name>-#### » - Nom du groupe de journaux dérivé du cluster et du nom du service

    Vous pouvez personnaliser cette option en utilisant l'option Configurations supplémentaires de la console ou en exécutantcreate-express-gateway-service --primary-container “awsLogsConfiguration”=[{“logGroup”=“/my/logGroup/”}].

  • awslogs-stream-prefix: « ecs » - Préfixe pour les noms des flux de journaux

    Vous pouvez personnaliser cette option en utilisant l'option Configurations supplémentaires de la console ou en exécutantcreate-express-gateway-service --primary-container “awsLogsConfiguration”=[{“logStreamPrefix”=“myprefix”}].

Les valeurs par défaut suivantes sont définies par le mode Express mais peuvent être mises à jour directement dans la définition des tâches - Configuration du journal :

  • LogDriver : « awslogs » - Utilise les journaux CloudWatch

  • awslogs-region : région actuelle - Utilise la même région que le service Express Mode

  • mode : « non bloquant » - Mode de journalisation défini sur non bloquant

  • max-buffer-size: « 25 m » - Taille maximale de la mémoire tampon pour les écritures de journal

Défauts du service

Les valeurs par défaut suivantes sont configurables depuis le mode Express pour le service Amazon ECS :

  • ServiceName : service Express Mode → Nom - Nom du service (fourni par le client ou dérivé du nom de l'image)

    Le nom ne peut être configuré que lors de la création et n'est pas disponible pour être configuré lors des mises à jour.

  • cluster : service en mode express → Cluster - cluster ECS pour ce service (fourni par le client ou par défaut)

    Le cluster ne peut être configuré que lors de la création et n'est pas disponible pour être configuré lors des mises à jour.

  • DesiredCount : service en mode express → MinTasks - Nombre souhaité pour le service (la valeur par défaut est 1)

    Vous pouvez personnaliser cette option en utilisant l'option Configurations supplémentaires de la console ou en exécutant create-express-gateway-service --scaling-target ‘{“minTaskCount”=3}',

  • tags : Service en mode express Étiquettes pour le AWS balisage (fournies par le client)

    Vous pouvez personnaliser cette option en utilisant l'option Configurations supplémentaires de la console ou en exécutantcreate-express-gateway-service --tags. Les balises ne peuvent être ajoutées que lors de la création d'une nouvelle ressource.

Les valeurs par défaut suivantes sont définies par le mode Express mais peuvent être mises à jour directement dans le service Amazon ECS :

  • availabilityZoneRebalancing: true - Active le rééquilibrage automatique de l'AZ

  • CapacityProviderStrategy: {"base » : 1, « CapacityProvider » : « FARGATE », « weight » : 1} - Utilise Fargate pour la capacité de calcul

  • DeploymentConfiguration : Canary par défaut - Le service Express Mode utilise les déploiements Canary

    Notez que la stratégie de déploiement ne peut pas être mise à jour sur les services en mode express.

  • enable ECSManaged Tags : true - Active le balisage des ressources géré par ECS

  • healthCheckGracePeriodSeconds: 300 - Période de grâce avant que le planificateur n'examine les vérifications de santé ELB ou Lattice (correspond à la période de grâce par défaut des vérifications de santé ELB)

  • Type de lancement : <Not set>- Utilise des fournisseurs de capacité

  • LoadBalancers : configuration de l'équilibreur de charge gérée par ECS

    Notez que les configurations de l'équilibreur de charge ne peuvent pas être mises à jour sur les services en mode express.

  • Stratégie de placement : non définie - Utilise Fargate au lancement (doit toujours être AZ Spread)

  • Version de la plateforme : DERNIÈRE - Version de la plateforme Fargate (codée en dur à la dernière version)

  • PropagateTags : « SERVICE » - PropagateTags du service vers les tâches

  • SchedulingStrategy : « REPLICA » - Les services en mode express sont des services REPLICA

  • TaskDefinition : service Express Mode créé - Définition de tâche à utiliser (fournie par le service Express Mode)

Paramètres de configuration réseau par défaut

Les valeurs par défaut suivantes sont configurables depuis le mode Express pour le service Amazon ECS - Configuration réseau :

  • NetworkConfiguration.subnets : si aucun n'est fourni, le mode Express utilisera les sous-réseaux publics par défaut dans le VPC par défaut.

    Le VPC par défaut doit avoir au moins deux sous-réseaux publics, dans au moins deux zones de disponibilité, avec au moins 8 sous-réseaux IPs disponibles gratuitement, par bloc CIDR attribué, par sous-réseau.

    Si vous fournissez des sous-réseaux publics personnalisés, le mode Express fournira un ALB connecté à Internet et activera AssignPublicIP pour vos tâches. Si vous fournissez des sous-réseaux privés (sous-réseaux sans passerelle Internet dans leur table de routage), Express Mode fournira un ALB interne.

    Si vous spécifiez des sous-réseaux, le premier service en mode express pour un VPC définit les sous-réseaux associés à l'équilibreur de charge interne ou connecté à Internet pour ce VPC. Les services en mode Express suivants lancés dans le même VPC doivent avoir des sous-réseaux correspondant aux zones de disponibilité prises en charge par l'équilibreur de charge. C'est pourquoi nous recommandons de créer des services en mode express avec des sous-réseaux provenant de toutes les zones de disponibilité.

  • NetworkConfiguration. SecurityGroups: Si aucun n'est fourni, Express Mode crée à la fois un groupe de sécurité des services et un groupe de sécurité Load Balancer

    Le groupe de sécurité des services autorise le trafic sortant vers l'Internet public, mais cela peut être restreint en fonction d'autres aspects de votre réseau, tels que la configuration de votre sous-réseau.

    Le groupe de sécurité Load Balancer Le groupe de sécurité Load Balancer autorise le trafic entrant pour la résolution HTTPS et le trafic sortant vers votre groupe de sécurité des services sur le port de conteneur que vous spécifiez (80 par défaut). Et il est automatiquement mis à jour pour correspondre au port de conteneur indiqué dans vos appels de création ou de mise à jour en mode express.

    Vous pouvez personnaliser cette option en utilisant l'option Configurations supplémentaires de la console ou en exécutantcreate-express-gateway-service --network-configuration '{"securityGroup": ["sg-xxxxxxx"]}'. Lorsque vous fournissez un groupe de sécurité, vous fournissez un chemin d'entrée supplémentaire vers votre service.

Les valeurs par défaut suivantes sont définies par le mode Express mais peuvent être mises à jour directement dans le service Amazon ECS - Configuration réseau :

  • assignPublicIp: En fonction du type de sous-réseau - Activé pour les sous-réseaux publics afin de garantir que les utilisateurs du VPC par défaut puissent accéder à l'Internet public, nous activons le public IPs sur chaque tâche par défaut. Ceci est désactivé si vous fournissez un sous-réseau privé, et vous êtes alors responsable de la configuration d'une passerelle NAT si vos tâches nécessitent un accès Internet.

Valeurs par défaut des rôles IAM

Les rôles IAM suivants sont configurables pour un service en mode express avec création automatique de rôles liés au service, le cas échéant.

  • executionRoleArn: Rôle d'exécution de la tâche (paramètre obligatoire)

    Tant que les autorisations requises figurent dans la politique gérée, des politiques et autorisations supplémentaires peuvent être associées. Informations supplémentaires sur Amazon ECSTask ExecutionRolePolicy dans le AWS Managed Policy Reference Guide

  • infrastructureRoleArn: Rôle d'infrastructure pour les services Express Gateway (paramètre obligatoire)

    Tant que les autorisations requises figurent dans la politique gérée, des politiques et autorisations supplémentaires peuvent être associées. Informations supplémentaires sur la politique ECSInfrastructure RoleforExpressGatewayServices gérée par Amazon dans le guide de référence des politiques AWS gérées

  • taskRoleArn: rôle de tâche pour les appels depuis le code de l'application du conteneur (facultatif)

    Vous pouvez personnaliser cette option en utilisant l'option Configurations supplémentaires de la console ou en exécutantcreate-express-gateway-service --task-role-arn.

    Vous devez créer le nouveau rôle IAM avant de créer ou de mettre à jour le service Express Mode.

Les rôles IAM suivants sont configurés automatiquement par le mode Express.

  • ecsServiceRoleForeCS : permet à Amazon ECS de gérer votre cluster

  • AWSServiceRoleForElasticLoadBalancing: appelle d'autres AWS services pour vous en votre nom, créé automatiquement par Elastic Load Balancing

  • AWSServiceRoleForApplicationAutoScaling_ECSService: appelle d'autres AWS services en votre nom, créé automatiquement par Application Auto Scaling

Paramètres par défaut de Application Auto Scaling

Les paramètres Application Auto Scaling suivants peuvent être configurés en mode Express :

  • autoScalingTargetValeur : 60 - Pourcentage d'utilisation du processeur cible pour la mise à l'échelle

  • autoScalingMetric: "CPUUtilization" - Métrique utilisée pour les décisions de mise à l'échelle automatique

  • desiredMinTaskNombre : 1 - Nombre minimum de tâches à gérer

  • desiredMaxTaskNombre : 20 - Nombre maximum de tâches à adapter (peut être augmenté ou diminué)

Les paramètres suivants peuvent être configurés directement dans Application Auto Scaling :

  • PolicyType : TargetTrackingScaling "» - Utilise la politique de dimensionnement du suivi des cibles

  • disableScaleIn: false - Permet de réduire la taille lorsque la demande diminue

Valeurs cibles par défaut du dimensionnement des applications

Les cibles Application Auto Scaling définissent les limites de ressources et de capacités évolutives pour les opérations de dimensionnement automatique. Les éléments suivants peuvent être modifiés en mode Express :

  • MaxCapacity: Service en mode express → MaxTasks - Nombre maximum de tâches que le service peut atteindre (par défaut, fournies par le client CreateLoadBalancedService ou fournies par le client)

  • MinCapacity: Service en mode express → MinTasks - Tâches minimales auxquelles le service sera réduit (par défaut, celles fournies par le client CreateLoadBalancedService ou fournies par le client)

  • ScalableDimension: ecs:service : DesiredCount - La propriété à redimensionner

  • Balises : dérivées des balises transmises CreateLoadBalancedService - Balises de ressource pour cette ressource

Les valeurs par défaut suivantes peuvent être modifiées dans la cible évolutive Application Auto Scaling :

  • DynamicScalingInSuspended: false - Indique si la mise à l'échelle est suspendue

  • DynamicScalingOutSuspended: false - Indique si le redimensionnement est suspendu

  • ScheduledScalingSuspended: false - Indique si le dimensionnement planifié est suspendu

Paramètres par défaut de la politique de dimensionnement des applications

Les politiques de dimensionnement mettent en œuvre des algorithmes de suivi des cibles qui surveillent l'utilisation du processeur et ajustent le nombre de tâches pour maintenir des performances optimales. Les éléments suivants peuvent être modifiés à partir du mode Express :

  • TargetValue: 60 % - La valeur cible pour la politique de suivi (service Express Mode → scaling-target-value)

  • PredefinedMetricType: ECSService Average CPUUtilization  : nom du type de métrique suivi (service en mode express → scaling-metric)

    Le mode Express fournit des mesures de dimensionnement pour l'utilisation moyenne et moyenne de la mémoire et le nombre de demandes par cible. CPUUtilization Le nombre de demandes par cible provient de l'Application Load Balancer et peut être configuré jusqu'à 65 536 demandes par cible et par seconde, ce qui correspond à votre service Amazon ECS dans le groupe cible Application Load Balancer.

Les valeurs par défaut suivantes sont définies par Express Mode mais peuvent être modifiées dans la politique Application Auto Scaling :

  • PolicyName: < ServiceName >< » TargetMetric « > - Nom de cette politique de dimensionnement (dérivé du nom du service ECS et de la métrique cible)

  • PolicyType: TargetTrackingScaling - Le type de mise à l'échelle effectué (par défaut prédéfini)

  • ScalableDimension: « ecs:service :DesiredCount" - La propriété à redimensionner (valeur par défaut prédéfinie)

  • DisableScaleIn: false - Indique si la mise à l'échelle est désactivée

Paramètres par défaut de l'Application Load Balancer

Les valeurs par défaut d'Application Load Balancer suivantes peuvent être configurées en mode Express :

  • schéma : dépend des sous-réseaux - Crée un équilibreur de charge connecté à Internet avec des adresses IP publiques lorsque des sous-réseaux publics sont fournis. Crée un équilibreur de charge interne avec des adresses IP privées lorsque des sous-réseaux privés sont fournis.

  • ip-address-type: dépend des sous-réseaux - Crée un Application Load Balancer IPv4 uniquement lorsque les adresses le sont. IPv4 Lorsque des sous-réseaux sont IPv6 activés, un Application Load Balancer à double pile est créé. Notez que si vous avez des sous-réseaux IPv6 activés, le premier service en mode express d'un VPC définit l'équilibreur de charge interne ou connecté à Internet pour ce VPC. C'est pourquoi nous vous recommandons de créer d'abord vos IPv6 sous-réseaux réservés ou dans un nouveau VPC.

Les valeurs par défaut suivantes sont définies en mode Express et peuvent être configurées dans Application Load Balancer :

  • desync-mitigation-mode: Désactivé : l'atténuation de la désynchronisation HTTP est désactivée

  • access-logs.enabled : false - La journalisation des accès est désactivée

  • listener-configurations.protocol : communication https - Uses HTTPS protocol for secure com

  • listener-configurations.port : 443 - Écoute sur le port HTTPS standard

  • listener-configurations.rule-type : host-header - Achemine le trafic en fonction des règles d'en-tête de l'hôte

Valeurs par défaut du groupe cible

Les valeurs par défaut d'Amazon EC2 Target Group suivantes peuvent être configurées en mode Express :

  • health-check-path: (par défaut «/») Chemin de vérification de l'état du service en mode Express - Chemin URL pour les demandes de contrôle de santé

  • port : (80 par défaut) - Port sur lequel les cibles reçoivent le trafic

  • health-check-port: (80 par défaut) - Port pour les demandes de contrôle de santé

Les valeurs par défaut suivantes sont définies par le mode Express et peuvent être configurées dans Amazon EC2 Target Groups :

  • protocol : HTTP - Protocole pour acheminer le trafic vers des cibles

  • protocol-version : HTTP1 - Version du protocole HTTP pour la communication

  • vpc-id : par défaut est l'identifiant VPC - Virtual Private Cloud par défaut pour le groupe cible, mais il sera dérivé des sous-réseaux fournis

  • health-check-protocol: Identique au protocole - Protocole pour les demandes de bilan de santé

  • health-check-enabled: Toujours activé - Les bilans de santé sont automatiquement activés

  • health-check-interval-seconds: 30 - Temps entre les bilans de santé de chaque cible

  • health-check-timeout-seconds: 5 - Délai d'attente pour les réponses aux bilans de santé

  • healthy-threshold-count: 5 - Des bilans de santé consécutifs réussis sont nécessaires pour garantir l'état de santé

  • unhealthy-threshold-count: 2 - Des échecs consécutifs à des bilans de santé sont requis en cas d'état insalubre

  • target-type : ip - Les cibles sont enregistrées par adresse IP

  • ip-address-type: ipv4 - Utilise les IPv4 adresses pour l'enregistrement des cibles

Partage des ressources et optimisation des coûts

Les services en mode express partagent automatiquement les ressources lorsque cela est possible afin d'optimiser les coûts :

  • Partage d'un équilibreur de charge : jusqu'à 25 services en mode express d'un même VPC peuvent partager un Application Load Balancer. Le mode Express fournira des équilibreurs de charge d'application supplémentaires si nécessaire en fonction de la quantité de services en mode express que vous avez fournis. Et à mesure que vous réduisez le nombre de services en mode express dans votre VPC, le mode express déprovisionne également les équilibreurs de charge d'application inutilisés. Ce partage réduit le coût effectif par application lorsque vous déployez davantage de services en mode express.

  • Partage de clusters : les services en mode express peuvent être regroupés dans des clusters Amazon ECS. Les services en mode Express peuvent également partager des clusters Amazon ECS avec des services Amazon ECS non gérés par Express Mode.