Paramètres de définition du service Amazon ECS - 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.

Paramètres de définition du service Amazon ECS

Une définition de service définit comment exécuter votre service Amazon ECS service. Les paramètres suivants peuvent être spécifiés dans une définition de service.

Type de lancement

launchType

Type : String

Valeurs valides : EC2 | FARGATE | EXTERNAL

Obligatoire : non

Type de lancement sur lequel vous pouvez exécuter votre service. Si aucun type de lancement n'est spécifié, the capacityProviderStrategy par défaut est utilisé par défaut. Pour de plus amples informations, veuillez consulter Types de lancement Amazon ECS.

Si un launchType est spécifié, le paramètre capacityProviderStrategy doit être omis.

Stratégie de fournisseur de capacité

capacityProviderStrategy

Type : tableau d'objets

Obligatoire : non

Stratégie du fournisseur de capacité à utiliser pour le service.

Une stratégie de fournisseur de capacité consiste en un ou plusieurs fournisseurs de capacité avec le base et weight à leur attribuer. Un fournisseur de capacité doit être associé au cluster à utiliser dans une stratégie de fournisseur de capacité. L' PutClusterCapacityProviders API est utilisée pour associer un fournisseur de capacité à un cluster. Seuls les fournisseurs de capacité ayant un statut ACTIVE ou UPDATING peuvent être utilisés.

Si un capacityProviderStrategy est spécifié, le paramètre launchType doit être omis. Lorsque ni capacityProviderStrategy ni launchType ne sont spécifiés, le defaultCapacityProviderStrategy pour le cluster est utilisé.

Si vous souhaitez spécifier un fournisseur de capacité qui utilise un groupe Auto Scaling, le fournisseur de capacité doit déjà être créé. De nouveaux fournisseurs de capacité peuvent être créés à l'aide de l'opération CreateCapacityProvider API.

Pour utiliser un AWS fournisseur de capacité Fargate, spécifiez le ou les fournisseurs FARGATE de FARGATE_SPOT capacité. Les fournisseurs AWS de capacité Fargate sont disponibles pour tous les comptes et doivent uniquement être associés à un cluster pour être utilisés.

L'opération PutClusterCapacityProviders API est utilisée pour mettre à jour la liste des fournisseurs de capacité disponibles pour un cluster après sa création.

capacityProvider

Type : String

Obligatoire : oui

Le nom abrégé ou l'Amazon Resource Name (ARN) complet du fournisseur de capacité.

weight

Type : entier

Plage valide : entiers compris entre 0 et 1 000.

Obligatoire : non

La valeur de poids indique le pourcentage relatif du nombre total de tâches lancées qui utilisent le fournisseur de capacité spécifié.

Par exemple, supposons que vous avez une stratégie qui contient deux fournisseurs de capacité et que les deux ont un poids de un. Lorsque la base est satisfaite, les tâches sont réparties équitablement entre les deux fournisseurs de capacité. Dans la même logique, supposons que vous spécifiez un poids de 1 pour capacityProviderA et un poids de 4 pour capacityProviderB. Ensuite, pour chaque tâche exécutée avec capacityProviderA, quatre tâches utilisent capacityProviderB.

base

Type : entier

Plage valide : entiers compris entre 0 et 100 000.

Obligatoire : non

La valeur de base indique le nombre minimum de tâches à exécuter sur le fournisseur de capacité spécifié. Une base ne peut être définie que pour un seul fournisseur de capacité dans une stratégie de fournisseur de capacité.

Définition de tâche

taskDefinition

Type : chaîne

Obligatoire : non

L'Amazon Resource Name (ARN) complet ou family et revision (family:revision) de la définition de tâche à exécuter dans votre service. Si un revision n'est pas spécifié, la dernière révision ACTIVE de la famille spécifiée est utilisée.

Une définition de tâche doit être spécifiée lors de l'utilisation du contrôleur de déploiement de mise à jour continue (ECS).

Système d'exploitation de la plateforme

platformFamily

Type : chaîne

Obligatoire : Conditionnelle

Par défaut : Linux

Ce paramètre est requis pour les services Amazon ECS services hébergés sur Fargate.

Ce paramètre est ignoré pour les services Amazon ECS hébergés sur Amazon EC2.

Système d'exploitation des conteneurs qui exécutent le service. Les valeurs valides sont LINUX, WINDOWS_SERVER_2019_FULL, WINDOWS_SERVER_2019_CORE, WINDOWS_SERVER_2022_FULL et WINDOWS_SERVER_2022_CORE.

La valeur platformFamily pour chaque tâche que vous spécifiez pour le service doit correspondre à la valeur platformFamily du service. Par exemple, si vous définissez platformFamily sur WINDOWS_SERVER_2019_FULL, la valeur platformFamily de toutes les tâches doit être WINDOWS_SERVER_2019_FULL.

Version de plateforme

platformVersion

Type : chaîne

Obligatoire : non

Version de la plateforme sur laquelle s'exécutent vos tâches dans le service. Une version de plateforme est spécifiée uniquement pour les tâches utilisant le type de lancement Fargate. Si vous ne spécifiez aucune valeur, la dernière version (LATEST) est utilisée par défaut.

AWS Les versions de la plate-forme Fargate sont utilisées pour faire référence à un environnement d'exécution spécifique pour l'infrastructure de tâches Fargate. Lorsque vous spécifiez LATEST comme version de plateforme lors de l'exécution d'une tâche ou de la création d'un service, vous obtenez la version de plateforme la plus récente pour vos tâches. Lorsque vous mettez à l'échelle votre service, ces tâches reçoivent la version de plateforme spécifiée dans le déploiement actuel du service. Pour de plus amples informations, veuillez consulter Versions de la plateforme Fargate pour Amazon ECS.

Note

Les versions de plateforme ne sont pas spécifiées pour les tâches utilisant le type de lancement EC2.

Cluster

cluster

Type : chaîne

Obligatoire : non

Nom court ou Amazon Resource Name (ARN) complet du cluster sur lequel exécuter votre service. Si vous ne spécifiez aucun cluster, le cluster default est sélectionné.

Nom du service

serviceName

Type : String

Obligatoire : oui

Nom de votre service. Il peut comporter jusqu'à 255 lettres (majuscules et minuscules), des chiffres, des tirets ou des traits de soulignement. Dans un cluster, les noms de service doivent être uniques, mais certains services peuvent avoir des noms similaires dans des clusters différents d'une même région ou de plusieurs régions.

Stratégie de planification

schedulingStrategy

Type : String

Valeurs valides : REPLICA | DAEMON

Obligatoire : non

Stratégie de planification à utiliser. Si aucune stratégie de planification n'est spécifiée, la stratégie REPLICA est utilisée. Pour de plus amples informations, veuillez consulter Services Amazon ECS.

Deux stratégies de planificateur de service sont disponibles :

  • REPLICA – La stratégie de planification des réplicas place et gère le nombre de tâches souhaité dans votre cluster. Par défaut, le planificateur de service répartit les tâches entre les zones de disponibilité. Vous pouvez utiliser des stratégies et des contraintes de placement des tâches afin de personnaliser la façon dont les tâches sont placées. Pour de plus amples informations, veuillez consulter Stratégie de réplication.

  • DAEMON – La stratégie de planification du démon déploie exactement une tâche sur chaque instance de conteneur active qui répond à toutes les contraintes de placement des tâches spécifiées dans votre cluster. Lors de l'utilisation de cette stratégie, il n'est pas nécessaire de spécifier un nombre de tâches souhaité, une stratégie de placement des tâches ou d'utiliser les politiques Service Auto Scaling. Pour de plus amples informations, veuillez consulter Stratégie Daemon.

    Note

    Les tâches Fargate ne prennent pas en charge la stratégie de planification DAEMON.

Nombre souhaité

desiredCount

Type : entier

Obligatoire : non

Nombre d'instances de la définition de tâche spécifiée à placer et à exécuter dans votre service.

Ce paramètre est requis si la stratégie de planification REPLICA est utilisée. Si le service utilise la stratégie de planification DAEMON, ce paramètre est facultatif.

Lorsque vous utilisez le dimensionnement automatique des services, lorsque vous mettez à jour un service en cours d'exécution avec un nombre de tâches desiredCount inférieur au nombre de tâches en cours d'exécution, le service est redimensionné jusqu'au niveau spécifiédesiredCount.

Configuration de déploiement

deploymentConfiguration

Type : objet

Obligatoire : non

Paramètres de déploiement facultatifs qui contrôlent le nombre de tâches exécutées durant le déploiement et la commande d'arrêt et de démarrage des tâches.

maximumPercent

Type : entier

Obligatoire : non

Si un service utilise le type de déploiement de mise à jour propagée (ECS), le paramètre maximumPercent représente une limite supérieure du nombre de tâches de votre service autorisées à avoir l'état RUNNING, STOPPING ou PENDING pendant un déploiement. Il est exprimé en tant que pourcentage de desiredCount arrondi à la valeur inférieure la plus proche. Vous pouvez utiliser ce paramètre pour définir la taille des lots de déploiement. Par exemple, si votre service utilise le planificateur de REPLICA services et comporte quatre tâches et une maximumPercent valeur desiredCount de 200 %, le planificateur démarre quatre nouvelles tâches avant d'arrêter les quatre tâches plus anciennes. Cela s'applique à condition que les ressources de cluster nécessaires à cette opération soient disponibles. La valeur maximumPercent par défaut pour un service à l'aide du planificateur de service REPLICA est de 200 %.

Le planificateur Amazon ECS utilise ce paramètre pour remplacer les tâches défectueuses en démarrant d'abord les tâches de remplacement, puis en arrêtant les tâches défectueuses, à condition que les ressources du cluster permettant de démarrer les tâches de remplacement soient disponibles. Pour plus d'informations sur la façon dont le planificateur remplace les tâches défectueuses, consultez. Services Amazon ECS

Si votre service utilise le type de planificateur de service DAEMON, le maximumPercent doit rester à 100 %. C’est la valeur par défaut.

Le nombre maximum de tâches lors d'un déploiement est le desiredCount multiplié par le maximumPercent/100, arrondi au nombre entier inférieur le plus proche.

Si un service utilise le type bleu/vert (CODE_DEPLOY) ou le type de EXTERNAL déploiement et les tâches utilisant le type de EC2 lancement, la valeur maximale en pourcentage est définie sur la valeur par défaut. La valeur est utilisée pour définir la limite supérieure du nombre de tâches du service qui restent dans RUNNING l'état alors que les instances de conteneur sont dans DRAINING cet état.

Note

Vous ne pouvez pas spécifier de maximumPercent valeur personnalisée pour un service qui utilise le type bleu/vert (CODE_DEPLOY) ou le type de EXTERNAL déploiement et dont les tâches utilisent le type de EC2 lancement.

Si le service utilise le type bleu/vert (CODE_DEPLOY) ou le type de EXTERNAL déploiement, et que les tâches du service utilisent le type de lancement Fargate, la valeur maximale en pourcentage n'est pas utilisée. La valeur est toujours renvoyée lors de la description de votre service.

minimumHealthyPercent

Type : entier

Obligatoire : non

Si un service utilise le type de déploiement de mise à jour propagée (ECS), minimumHealthyPercent représente une limite inférieure du nombre de tâches de votre service qui doivent rester l'état RUNNING pendant un déploiement. Cela est exprimé en tant que pourcentage de desiredCount arrondi à la valeur supérieure la plus proche. Vous pouvez utiliser ce paramètre pour procéder au déploiement sans avoir recours à une capacité de cluster supplémentaire.

Par exemple, si votre service comporte quatre tâches, une desiredCount de 50 % et une minimumHealthyPercent de 100 %, le planificateur maximumPercent de services arrête deux tâches existantes pour libérer de la capacité du cluster avant de démarrer deux nouvelles tâches.

Si des tâches ne fonctionnent pas correctement et s'il maximumPercent n'autorise pas le planificateur Amazon ECS à démarrer des tâches de remplacement, le planificateur arrête les tâches défectueuses one-by-one (en utilisant la minimumHealthyPercent contrainte) afin de libérer la capacité de lancer des tâches de remplacement. Pour plus d'informations sur la façon dont le planificateur remplace les tâches défectueuses, consultez. Services Amazon ECS

Pour les services qui n'utilisent pas d'équilibreur de charge, il convient de noter ce qui suit :

  • Un service est considéré comme intègre si tous les conteneurs essentiels dans les tâches du service réussissent leurs surveillances d'état.

  • Si une tâche n'a pas de conteneurs essentiels avec une surveillance de l'état définie, le planificateur de service attend 40 secondes une fois qu'une tâche a atteint l'état RUNNING avant que celle-ci soit comptée dans le pourcentage minimal total d'intégrité.

  • Si une tâche comporte un ou plusieurs conteneurs essentiels avec une surveillance de l'état définie, le planificateur de service attend que la tâche atteigne un état intègre avant de la compter dans le pourcentage minimum total d'intégrité. Une tâche est considérée comme intègre lorsque tous ses conteneurs essentiels ont réussi leurs surveillances d'état. La durée pendant laquelle le planificateur de service peut attendre est déterminée par les paramètres de surveillance de l'état du conteneur. Pour de plus amples informations, veuillez consulter Surveillance de l'état.

Pour les services qui utilisent un équilibreur de charge, il convient de noter ce qui suit :

  • Si une tâche n'a pas de conteneurs essentiels avec une surveillance de l'état définie, le planificateur de services attend que la surveillance de l'état du groupe cible de l'équilibreur de charge retrouve un état intègre avant de compter la tâche dans le pourcentage minimal total d'intégrité.

  • Si une tâche possède un conteneur essentiel avec une surveillance de l'état définie, le planificateur de services attend que la tâche atteigne un état intègre et que la surveillance de l'état du groupe cible d'équilibrage de charge retrouve un état intègre avant de compter la tâche dans le pourcentage minimal total d'intégrité.

La valeur par défaut d'un service de réplica pour minimumHealthyPercent est 100 %. La minimumHealthyPercent valeur par défaut pour un service utilisant le calendrier de DAEMON service est 0 % pour le AWS CLI AWS SDKs, le, APIs et 50 % pour le AWS Management Console.

Le nombre minimum de tâches saines lors d'un déploiement correspond à desiredCount multiplié par minimumHealthyPercent/100, arrondi au nombre entier supérieur le plus proche.

Si un service utilise le type bleu/vert (CODE_DEPLOY) ou le type de EXTERNAL déploiement et exécute des tâches utilisant le type de EC2 lancement, la valeur minimale du pourcentage sain est définie sur la valeur par défaut. La valeur est utilisée pour définir la limite inférieure du nombre de tâches du service qui restent dans RUNNING l'état alors que les instances de conteneur sont dans DRAINING cet état.

Note

Vous ne pouvez pas spécifier de maximumPercent valeur personnalisée pour un service qui utilise le type bleu/vert (CODE_DEPLOY) ou le type de EXTERNAL déploiement et dont les tâches utilisent le type de EC2 lancement.

Si un service utilise les types de déploiement bleu/vert (CODE_DEPLOY) ou EXTERNAL et exécute des tâches employant le type de lancement Fargate, la valeur de pourcentage minimum d'instances saines n'est pas utilisée, même si elle est renvoyée pour décrire votre service.

Contrôleur de déploiement

deploymentController

Type : objet

Obligatoire : non

Le contrôleur de déploiement à utiliser pour le service. Si aucun contrôleur de déploiement n'est spécifié, le contrôleur ECS est utilisé. Pour de plus amples informations, veuillez consulter Services Amazon ECS.

type

Type : String

Valeurs valides : ECS | CODE_DEPLOY | EXTERNAL

Obligatoire : oui

Type de contrôleur de déploiement à utiliser. Il existe trois types de contrôleurs de déploiement disponibles :

ECS

Le type de déploiement de mise à jour propagée (ECS) implique que le planificateur de service remplace la version de conteneur actuellement en cours d'exécution par la version la plus récente. Le nombre de conteneurs ajoutés ou supprimés par Amazon ECS du service lors de la propagation des mises à jour est contrôlé en ajustant le nombre minimum et maximum de tâches saines lors d'un déploiement de service autorisé, tel que spécifié dans le deploymentConfiguration.

CODE_DEPLOY

Le type de déploiement blue/green (CODE_DEPLOY) utilise le modèle de blue/green déploiement optimisé par CodeDeploy, qui vous permet de vérifier un nouveau déploiement d'un service avant de lui envoyer du trafic de production.

EXTERNAL

Utilisez le type de déploiement externe lorsque vous souhaitez utiliser n'importe quel contrôleur de déploiement tiers pour contrôler complètement le processus de déploiement d'un service Amazon ECS.

Placement des tâches

placementConstraints

Type : tableau d'objets

Obligatoire : non

Tableau d'objets de contraintes de placement à utiliser pour les tâches de votre service. Vous pouvez spécifier un maximum de 10 contraintes par tâche. Cette limite inclut les contraintes de la définition de tâche et celles spécifiées lors de l'exécution. Si vous utilisez le type de lancement Fargate, les contraintes de placement des tâches ne sont pas prises en charge.

type

Type : chaîne

Obligatoire : non

Type de contrainte. Utilisez distinctInstance pour vous assurer que chaque tâche d'un groupe particulier s'exécute sur une instance de conteneur différente. Utilisez memberOf pour limiter la sélection à un groupe de candidats valides. La valeur distinctInstance n'est pas prise en charge dans les définitions de tâche.

expression

Type : chaîne

Obligatoire : non

Expression de langage de requête de cluster à appliquer à la contrainte. Vous ne pouvez pas spécifier d'expression si le type de contrainte est distinctInstance. Pour de plus amples informations, veuillez consulter Création d'expressions pour définir des instances de conteneur pour les tâches Amazon ECS.

placementStrategy

Type : tableau d'objets

Obligatoire : non

Objets de stratégie de placement à utiliser pour les tâches de votre service. Vous pouvez spécifier jusqu'à quatre règles de stratégie par service.

type

Type : String

Valeurs valides : random | spread | binpack

Obligatoire : non

Type de stratégie de placement. La stratégie de placement random place les tâches de façon aléatoire sur les candidats disponibles. La stratégie de placement spread répartit le placement sur les candidats disponibles de façon uniforme en fonction du paramètre du field. La stratégie binpack place les tâches sur les candidats disponibles qui ont la quantité disponible la moins élevée de la ressource spécifiée avec le paramètre field. Par exemple, si vous utilisez un BinPack sur la mémoire, une tâche est placée sur l'instance avec la quantité la moins élevée de mémoire restante, mais tout de même suffisante pour exécuter la tâche.

field

Type : chaîne

Obligatoire : non

Champ sur lequel appliquer la stratégie de placement. Pour la stratégie de placement spread, les valeurs valides sont instanceId (ou host, qui produit le même effet), ou toute plateforme ou tout attribut personnalisé appliqué à une instance de conteneur, comme attribute:ecs.availability-zone. Pour la stratégie de placement binpack, les valeurs valides sont cpu et memory. Pour la stratégie de placement random, ce champ n'est pas utilisé.

Étiquettes

tags

Type : tableau d'objets

Obligatoire : non

Métadonnées que vous appliquez au service pour faciliter le classement et l'organisation. Chaque étiquette est constituée d'une clé et d'une valeur facultative que vous définissez. Lorsqu'un service est supprimé, les étiquettes sont également supprimées. Un maximum de 50 balises peut être appliqué au service. Pour de plus amples informations, veuillez consulter Marquage des ressources Amazon ECS.

key

Type : String

Contraintes de longueur : Longueur minimum de 1. Longueur maximale de 128.

Obligatoire : non

Partie d'une paire clé-valeur qui constitue une étiquette. Une clé est une étiquette générale qui fait office de catégorie pour les valeurs d'étiquette plus spécifiques.

value

Type : String

Contraintes de longueur : Longueur minimum de 0. Longueur maximale de 256.

Obligatoire : non

Partie facultative d'une paire clé-valeur qui constitue une étiquette. Une valeur agit comme un descripteur au sein d'une catégorie d'étiquette (clé).

enableECSManagedTags

Type : booléen

Valeurs valides : true | false

Obligatoire : non

Spécifie si utiliser les identifications gérées par Amazon ECS pour les tâches dans le service. La valeur par défaut est false si aucune valeur n'est spécifiée. Pour de plus amples informations, veuillez consulter Utiliser des tags pour la facturation.

propagateTags

Type : String

Valeurs valides : TASK_DEFINITION | SERVICE

Obligatoire : non

Indique s'il faut copier les étiquettes de la définition de tâche ou du service dans les tâches du service. Si aucune valeur n'est spécifiée, les étiquettes ne sont pas copiées. Les étiquettes ne peuvent être copiées dans les tâches du service que lors de la création du service. Pour ajouter des balises à une tâche après la création du service ou de la tâche, utilisez l'action d'API TagResource.

Configuration réseau

networkConfiguration

Type : objet

Obligatoire : non

Configuration réseau du service. Ce paramètre est obligatoire pour les définitions de tâches qui utilisent le mode réseau awsvpc afin de recevoir leur propre interface réseau Elastic. Il n'est pas pris en charge avec les autres modes réseau. Si vous utilisez le type de lancement Fargate, le mode réseau awsvpc est requis. Pour plus d'informations sur la mise en réseau pour le type de EC2 lancement Amazon, consultezOptions de mise en réseau des tâches Amazon ECS pour le type de EC2 lancement. Pour plus d'informations sur la mise en réseau pour le type de lancement Fargate, consultez les options de mise en réseau des tâches Amazon ECS pour le type de lancement Fargate.

awsvpcConfiguration

Type : objet

Obligatoire : non

Objet représentant les sous-réseaux et les groupes de sécurité pour une tâche ou un service.

subnets

Type : tableau de chaînes

Obligatoire : oui

Sous-réseaux associés à la tâche ou au service. Il existe une limite de 16 sous-réseaux pouvant être spécifiés selon awsvpcConfiguration.

securityGroups

Type : tableau de chaînes

Obligatoire : non

Groupes de sécurité associés à la tâche ou au service. Si vous ne spécifiez pas de groupe de sécurité, c'est le groupe de sécurité par défaut du VPC qui est utilisé. Il existe une limite de cinq groupes de sécurité pouvant être spécifiés selon awsvpcConfiguration.

assignPublicIP

Type : String

Valeurs valides : ENABLED | DISABLED

Obligatoire : non

Si l'interface réseau Elastic de la tâche reçoit une adresse IP publique ou non. Si aucune valeur n'est spécifiée, la valeur par défaut de DISABLED est utilisée.

healthCheckGracePeriodSeconds

Type : entier

Obligatoire : non

Durée, en secondes, pendant laquelle le planificateur de services Amazon ECS ignore les vérifications incorrectes d'Elastic Load Balancing, de VPC Lattice et de l'état des conteneurs après le démarrage d'une tâche. Si vous ne spécifiez aucune valeur de période de grâce pour le bilan de santé, la valeur par défaut de 0 est utilisée. Si vous n'utilisez aucun des bilans de santé, cela signifie qu'il healthCheckGracePeriodSeconds n'est pas utilisé.

Si les tâches de votre service mettent un certain temps à démarrer et à répondre, vous pouvez définir un délai de grâce pour le bilan de santé d'une durée maximale de 2 147 483 647 secondes (environ 69 ans). Pendant ce temps, le planificateur de service Amazon ECS ignore l'état du bilan de santé. La période de grâce peut empêcher le planificateur de service de marquer les tâches comme étant non saines et de les arrêter avant qu'elles aient le temps de s'exécuter.

loadBalancers

Type : tableau d'objets

Obligatoire : non

Un objet d'équilibreur de charge qui représente l'équilibreur de charge à utiliser avec votre service. Pour les services qui utilisent un équilibreur de charge Application Load Balancer ou un Network Load Balancer, il existe une limite de cinq groupes cibles que vous pouvez attacher à un service.

Une fois que vous avez créé un service, la configuration de l'équilibreur de charge ne peut pas être modifiée à partir de la AWS Management Console. Vous pouvez utiliser le AWS Copilot AWS CLI ou le SDK pour modifier la configuration de l'équilibreur de charge uniquement pour le contrôleur de déploiement ECS évolutif, et non AWS CodeDeploy pour le bleu/vert ou externe. AWS CloudFormation Lorsque vous ajoutez, mettez à jour ou supprimez une configuration d'équilibreur de charge, Amazon ECS lance un nouveau déploiement avec la configuration mise à jour d'Elastic Load Balancing. Cela entraîne l'enregistrement et le désenregistrement des tâches auprès des équilibreurs de charge. Nous vous recommandons de vérifier cela dans un environnement de test avant de mettre à jour la configuration d'Elastic Load Balancing. Pour plus d'informations sur la façon de modifier la configuration, consultez le UpdateServicemanuel Amazon Elastic Container Service API Reference.

Pour les équilibreurs de charge Application Load Balancer et les Network Load Balancer, cet objet doit contenir l'ARN du groupe cible de l'équilibreur de charge, le nom du conteneur (tel qu'il apparaît dans une définition de conteneur) et le port du conteneur pour permettre l'accès à partir de l'équilibreur de charge. Lorsqu'une tâche de ce service est placée sur une instance de conteneur, la combinaison d'instance et de port de conteneur est enregistrée comme cible dans le groupe cible spécifié.

targetGroupArn

Type : chaîne

Obligatoire : non

Amazon Resource Name (ARN) complet du groupe cible Elastic Load Balancing associés à un service.

L'ARN d'un groupe cible n'est spécifié que si vous utilisez un Application Load Balancer ou un Network Load Balancer.

loadBalancerName

Type : chaîne

Obligatoire : non

Nom de l'équilibreur de charge à associer au service.

Si vous utilisez un Application Load Balancer ou un Network Load Balancer, omettez le paramètre de nom de l'équilibreur de charge.

containerName

Type : chaîne

Obligatoire : non

Nom du conteneur (tel qu'il apparaît dans une définition de conteneur) à associer à l'équilibreur de charge.

containerPort

Type : entier

Obligatoire : non

Port du conteneur à associer à l'équilibreur de charge. Ce port doit correspondre à un élément containerPort dans la définition de tâche utilisée par les tâches du service. Pour les tâches utilisant le type de EC2 lancement, l'instance de conteneur doit autoriser le trafic entrant sur le mappage hostPort des ports.

role

Type : chaîne

Obligatoire : non

Nom abrégé ou ARN complet du rôle IAM qui permet à Amazon ECS d'adresser des appels à votre équilibreur de charge en votre nom. Ce paramètre est uniquement autorisé si vous utilisez un équilibreur de charge avec un seul groupe cible pour votre service, et si votre définition de tâche n'utilise pas le mode réseau awsvpc. Si vous spécifiez le paramètre role, vous devez également spécifier un objet d'équilibreur de charge avec le paramètre loadBalancers.

Si le rôle spécifié possède un chemin d'accès autre que /, vous devez spécifier l'ARN de rôle complet (solution recommandée) ou ajouter ce chemin d'accès comme préfixe du nom de rôle. Par exemple, si un rôle nommé bar a le chemin d'accès /foo/, vous devez spécifier /foo/bar comme nom du rôle. Pour plus d'informations, consultez Noms conviviaux et chemins dans le Guide de l'utilisateur IAM.

Important

Si votre compte a déjà créé le rôle lié à un service Amazon ECS service, ce rôle est utilisé par défaut pour votre service, sauf si vous spécifiez un rôle ici. Le rôle lié à un service est obligatoire si votre définition de tâche utilise le mode réseau awsvpc, auquel cas vous ne devez pas spécifier de rôle ici. Pour de plus amples informations, veuillez consulter Utilisation des rôles liés à un service pour Amazon ECS.

serviceConnectConfiguration

Type : objet

Obligatoire : non

Cette configuration permet à ce service de découvrir des services et de s'y connecter, et, inversement, elle permet à d'autres services au sein d'un espace de noms de découvrir ce service et de s'y connecter.

Pour de plus amples informations, veuillez consulter Utilisez Service Connect pour connecter les services Amazon ECS avec des noms abrégés.

enabled

Type : booléen

Obligatoire : oui

Spécifie s'il faut utiliser Service Connect avec ce service.

namespace

Type : chaîne

Obligatoire : non

Nom abrégé ou Amazon Resource Name (ARN) complet de l'espace de AWS Cloud Map noms à utiliser avec Service Connect. L'espace de noms doit se trouver dans la même Région AWS que le service Amazon ECS et le cluster. Le type d'espace de noms n'a aucune incidence sur Service Connect. Pour plus d'informations AWS Cloud Map, consultez la section Travailler avec les services dans le guide du AWS Cloud Map développeur.

services

Type : tableau d'objets

Obligatoire : non

Tableau d'objets de service Service Connect. Il s'agit de noms et d'alias (également appelés points de terminaison) utilisés par d'autres services Amazon ECS pour se connecter à ce service.

Ce champ n'est pas obligatoire pour un service Amazon ECS « client » membre d'un espace de noms uniquement pour se connecter à d'autres services au sein de cet espace de noms. Par exemple, une application frontale qui accepte les demandes entrantes provenant d'un équilibreur de charge attaché au service ou par d'autres moyens.

Un objet sélectionne un port dans la définition de la tâche, attribue un nom au AWS Cloud Map service et un ensemble d'alias (également appelés points de terminaison) et de ports permettant aux applications clientes de faire référence à ce service.

portName

Type : String

Obligatoire : oui

Le portName doit correspondre au name de l'un des portMappings de tous les conteneurs dans la définition de tâche de ce service Amazon ECS.

discoveryName

Type : chaîne

Obligatoire : non

discoveryNameIl s'agit du nom du nouveau AWS Cloud Map service créé par Amazon ECS pour ce service Amazon ECS. Ce nom doit être unique dans l'espace de noms AWS Cloud Map .

Si ce champ n'est pas spécifié, portName est utilisé.

clientAliases

Type : tableau d'objets

Obligatoire : non

Liste des alias clients pour ce service Service Connect. Vous les utilisez pour attribuer des noms qui peuvent être utilisés par les applications clientes. Le nombre maximum d'alias clients dont vous pouvez disposer dans cette est de 1.

Chaque alias (« point de terminaison ») est un nom DNS et un numéro de port que les autres services Amazon ECS (« clients ») peuvent utiliser pour se connecter à ce service.

Chaque nom et chaque combinaison de port doivent être uniques dans l'espace de noms.

Ces noms sont configurés dans chaque tâche du service client, et non dans AWS Cloud Map. Les demandes DNS visant à résoudre ces noms ne quittent pas la tâche et ne sont pas prises en compte dans le quota de demandes DNS par seconde par l'interface réseau Elastic.

port

Type : entier

Obligatoire : oui

Numéro de port d'écoute du proxy Service Connect. Ce port est disponible dans toutes les tâches du même espace de noms.

Pour éviter de modifier vos applications dans les services clients Amazon ECS, attribuez-lui le même port que celui que l'application client utilise par défaut.

dnsName

Type : chaîne

Obligatoire : non

Le dnsName est le nom que vous utilisez dans les applications des tâches client pour vous connecter à ce service. Le nom doit être une étiquette DNS valide.

Si ce champ n'est pas spécifié, la valeur par défaut est discoveryName.namespace. Si le discoveryName n'est pas spécifié, le portName issu de la définition de la tâche est utilisé.

Pour éviter de modifier vos applications dans les services clients Amazon ECS, attribuez-lui le même nom que celui que l'application client utilise par défaut. Par exemple, quelques noms courants sont database, db ou le nom en minuscules d'une base de données, comme mysql ou redis.

ingressPortOverride

Type : entier

Obligatoire : non

(Facultatif) Numéro de port que le proxy Service Connect utilise pour écouter.

Utilisez la valeur de ce champ pour contourner le proxy pour le trafic sur le numéro de port spécifié dans le portMapping nommé de la définition de tâche de cette application, puis utilisez-la dans les groupes de sécurité de votre Amazon VPC pour autoriser le trafic vers le proxy de ce service Amazon ECS.

En mode awsvpc, la valeur par défaut est le numéro du port du conteneur spécifié dans le portMapping nommé dans la définition de tâche de cette application. En mode bridge, la valeur par défaut correspond au port éphémère du proxy Service Connect.

logConfiguration

Type : LogConfigurationObjet

Obligatoire : non

Cela définit l'endroit où les journaux du proxy Service Connect sont publiés. Utilisez les journaux pour le débogage lors d'événements inattendus. Cette configuration définit le paramètre logConfiguration dans le conteneur de proxy Service Connect pour chaque tâche de ce service Amazon ECS. Le conteneur de proxy n'est pas spécifié dans la définition de tâche.

Nous vous recommandons d'utiliser la même configuration de journal que les conteneurs d'applications de la définition de tâche pour ce service Amazon ECS. Car FireLens il s'agit de la configuration du journal du conteneur d'applications. Ce n'est pas le conteneur FireLens log router qui utilise l'image du fluentd conteneur fluent-bit or.

serviceRegistries

Type : tableau d'objets

Obligatoire : non

Détails de la configuration de la découverte de service pour votre service. Pour de plus amples informations, veuillez consulter Utilisez la découverte des services pour connecter les services Amazon ECS aux noms DNS.

registryArn

Type : chaîne

Obligatoire : non

Amazon Resource Name (ARN) du registre de service. Le registre des services actuellement pris en charge est AWS Cloud Map. Pour plus d'informations, consultez Utilisation des services dans le Guide du développeur AWS Cloud Map .

port

Type : entier

Obligatoire : non

Valeur de port utilisée si votre service de découverte de service a spécifié un registre SRV. Ce champ est obligatoire si le mode réseau awsvpc et les registres SRV sont utilisés.

containerName

Type : chaîne

Obligatoire : non

La valeur du nom du conteneur, déjà spécifiée dans la définition de tâche, à utiliser pour votre service de découverte de service. Cette valeur est spécifiée dans la définition de tâche. Si la définition de tâche que votre tâche de service spécifie utilise le mode réseau bridge ou host, vous devez spécifier une combinaison containerName et containerPort à partir de la définition de tâche. Si la définition de tâche spécifiée par votre tâche de service utilise le mode réseau awsvpc et qu'un registre DNS de type SRV est utilisé, vous devez spécifier une combinaison containerName et containerPort ou une valeur port, mais pas les deux.

containerPort

Type : entier

Obligatoire : non

La valeur du port à utiliser pour votre service de découverte de service. Cette valeur est spécifiée dans la définition de tâche. Si la définition de tâche spécifiée par votre tâche de service utilise le mode réseau bridge ou host, vous devez spécifier une combinaison containerName et containerPort à partir de la définition de tâche. Si la définition de tâche spécifiée par votre tâche de service utilise le mode réseau awsvpc et qu'un registre DNS de type SRV est utilisé, vous devez spécifier une combinaison containerName et containerPort ou une valeur port, mais pas les deux.

Jeton client

clientToken

Type : chaîne

Obligatoire : non

L'identifiant unique, sensible à la casse, que vous devez fournir afin de garantir l'idempotence de la demande. Il peut comporter jusqu'à 32 ASCII caractères.

Rééquilibrage des zones de disponibilité

availabilityZoneRebalancing

Type : chaîne

Obligatoire : non

Indique si le service utilise le rééquilibrage des zones de disponibilité. Les valeurs valides sont et. ENABLED DISABLED Pour plus d'informations sur le rééquilibrage des zones de disponibilité, consultezÉquilibrer un service Amazon ECS entre les zones de disponibilité.

Configurations de volume

volumeConfigurations

Type : objet

Obligatoire : non

Configuration qui sera utilisée pour créer des volumes pour les tâches gérées par le service. Seuls les volumes marqués comme tels configuredAtLaunch dans la définition de tâche peuvent être configurés à l'aide de cet objet.

Cet objet est requis pour associer des volumes Amazon EBS à des tâches gérées par un service. Pour de plus amples informations, veuillez consulter Utiliser des volumes Amazon EBS avec Amazon ECS.

name

Type : String

Obligatoire : oui

Nom d'un volume configuré lors de la création ou de la mise à jour d'un service. Jusqu'à 255 lettres (majuscules et minuscules), chiffres, traits de soulignement () et _ tirets () sont autorisés. - Cette valeur doit correspondre au nom du volume spécifié dans la définition de la tâche.

managedEBSVolume

Type : objet

Obligatoire : non

Configuration de volume utilisée pour créer des volumes Amazon EBS attachés à des tâches gérées par un service lors de sa création ou de sa mise à jour. Un volume est joint par tâche.

encrypted

Type : booléen

Obligatoire : non

Valeurs valides : true|false

Spécifie s'il faut chiffrer chaque volume Amazon EBS créé. Si vous avez activé le chiffrement Amazon EBS par défaut pour un utilisateur en particulier Région AWS , Compte AWS mais que vous avez défini ce paramètre surfalse, ce paramètre sera remplacé et les volumes seront chiffrés avec la clé KMS spécifiée pour le chiffrement par défaut. Pour plus d'informations sur le chiffrement Amazon EBS par défaut, consultez la section Activer le chiffrement Amazon EBS par défaut dans le guide de l'utilisateur Amazon EBS. Pour plus d'informations sur le chiffrement des volumes Amazon EBS associés aux tâches Amazon ECS, consultez. Chiffrez les données stockées dans les volumes Amazon EBS associés aux tâches Amazon ECS

kmsKeyId

Type : chaîne

Obligatoire : non

Identifiant de la clé AWS Key Management Service (AWS KMS) à utiliser pour le chiffrement Amazon EBS. Si kmsKeyId est spécifié, l'état chiffré doit être true.

La clé spécifiée à l'aide de ce paramètre remplace la clé par défaut d'Amazon EBS ou toute clé KMS au niveau du cluster pour le chiffrement du stockage géré Amazon ECS que vous avez éventuellement spécifiée. Pour de plus amples informations, veuillez consulter Chiffrez les données stockées dans les volumes Amazon EBS associés aux tâches Amazon ECS.

Vous pouvez spécifier la clé KMS en utilisant l'une des méthodes suivantes :

  • ID de clé — Par exemple,1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias clé — Par exemple,alias/ExampleAlias.

  • ARN clé — Par exemple,arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN — Par exemple,arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Important

AWS authentifie la clé KMS de manière asynchrone. Par conséquent, si vous spécifiez un ID, un alias ou un ARN non valide, l'action peut sembler réussie, mais elle finit par échouer. Pour plus d'informations, consultez Résolution des problèmes de connexion aux volumes Amazon EBS.

volumeType

Type : chaîne

Obligatoire : non

Valeurs valides : gp2 | gp3 | io1 | io2 | sc1 | st1 | standard

Type de volume Amazon EBS. Pour plus d'informations sur les types de volumes, consultez les types de volumes Amazon EBS dans le guide de l'utilisateur Amazon EBS. Le type de volume par défaut est gp3.

Note

Le type de standard volume n'est pas pris en charge pour les tâches Fargate.

sizeInGiB

Type : entier

Obligatoire : non

Plage valide : entiers compris entre 1 et 16 384

Taille du volume EBS en gibioctets (GiB). Si vous ne fournissez pas d'ID de capture d'écran pour configurer un volume à joindre, vous devez fournir une valeur de taille. Si vous configurez un volume pour la pièce jointe à l'aide d'un instantané, la valeur par défaut est la taille de l'instantané. Vous pouvez ensuite spécifier une taille supérieure ou égale à la taille de l'instantané.

Pour les types de gp3 volume gp2 et, la plage valide est comprise entre 1 et 16 384.

Pour les types de io2 volume io1 et, la plage valide est comprise entre 4 et 16 384.

Pour les types de sc1 volume st1 et, la plage valide est comprise entre 125 et 16 384.

Pour le type de standard volume, la plage valide est comprise entre 1 et 1 024.

snapshotId

Type : chaîne

Obligatoire : non

L'ID de l'instantané d'un volume Amazon EBS existant qu'Amazon ECS utilise pour créer de nouveaux volumes à joindre. Vous devez spécifier snapshotId ou sizeInGiB.

volumeInitializationRate

Type : entier

Obligatoire : non

Débit, en Mbits/s, auquel les données sont extraites d'un instantané d'un volume Amazon EBS existant afin de créer de nouveaux volumes à joindre. Cette propriété ne peut être spécifiée que si vous spécifiez unsnapshotId. Pour plus d'informations sur ce taux d'initialisation de volume, y compris la gamme de taux pris en charge pour l'initialisation, consultez Initialiser les volumes Amazon EBS dans le guide de l'utilisateur Amazon EBS.

iops

Type : entier

Obligatoire : non

Le nombre d' I/O opérations par seconde (IOPS). Pour les volumes gp3, io1 et io2, cela représente le nombre d'IOPS provisionnés pour le volume. Pour les gp2 volumes, cette valeur représente les performances de base du volume et le taux auquel le volume accumule des I/O crédits en cas d'éclatement. Ce paramètre est requis pour les volumes io1 et io2. Ce paramètre n'est pas pris en charge pour les standard volumes gp2 st1sc1,, ou.

Pour les gp3 volumes, la plage de valeurs valide est comprise entre 3 000 et 16 000.

Pour les io1 volumes, la plage de valeurs valide est comprise entre 100 et 64 000.

Pour les io2 volumes, la plage de valeurs valide est comprise entre 100 et 64 000.

throughput

Type : entier

Obligatoire : non

Débit à provisionner pour les volumes attachés aux tâches gérées par un service.

Important

Ce paramètre n'est pris en charge que pour les gp3 volumes.

roleArn

Type : String

Obligatoire : oui

L'Amazon Resource ARN (ARN) du rôle d'infrastructure AWS Identity and Access Management (IAM) qui fournit les autorisations Amazon ECS pour gérer les ressources Amazon EBS pour vos tâches. Pour de plus amples informations, veuillez consulter Rôle IAM dans l'infrastructure Amazon ECS.

tagSpecifications

Type : objet

Obligatoire : non

Spécification des balises à appliquer à chaque volume Amazon EBS.

resourceType

Type : String

Obligatoire : oui

Valeurs valides : volume

Le type de ressource à baliser à la création.

tags

Type : tableau d'objets

Obligatoire : non

Les métadonnées que vous appliquez aux volumes pour vous aider à les classer et à les organiser. Chaque balise est composée d'une clé et d'une valeur facultative, que vous définissez toutes deux. AmazonECSCreatedet AmazonECSManaged sont des balises réservées ajoutées par Amazon ECS en votre nom. Vous pouvez donc spécifier vous-même un maximum de 48 balises. Lorsqu'un volume est supprimé, les balises sont également supprimées. Pour de plus amples informations, veuillez consulter Marquage des ressources Amazon ECS.

key

Type : String

Contraintes de longueur : Longueur minimum de 1. Longueur maximale de 128.

Obligatoire : non

Partie d'une paire clé-valeur constituant une balise. Une clé est une étiquette générale qui fait office de catégorie pour les valeurs d'étiquette plus spécifiques.

value

Type : String

Contraintes de longueur : Longueur minimum de 0. Longueur maximale de 256.

Obligatoire : non

Partie facultative d'une paire clé-valeur qui constitue une balise. Une valeur agit comme un descripteur au sein d'une catégorie d'étiquette (clé).

propagateTags

Type : String

Valeurs valides : TASK_DEFINITION | SERVICE | NONE

Obligatoire : non

Spécifie s'il faut copier les balises de la définition de tâche ou du service vers un volume. Si cette valeur NONE est spécifiée ou si aucune valeur n'est spécifiée, les balises ne sont pas copiées.

fileSystemType

Type : chaîne

Obligatoire : non

Valeurs valides : xfs | ext3 | ext4 | NTFS

Type de système de fichiers sur un volume. Le type de système de fichiers du volume détermine la manière dont les données sont stockées et récupérées dans le volume. Pour les volumes créés à partir d'un instantané, vous devez spécifier le même type de système de fichiers que celui utilisé par le volume lors de la création de l'instantané. Si le type de système de fichiers ne correspond pas, la tâche ne démarrera pas.

Les valeurs valides pour Linux sont xfs ext3, and ext4. La valeur par défaut pour les volumes attachés à des tâches Linux estXFS.

Les valeurs valides pour Windows sontNTFS. La valeur par défaut pour les volumes attachés à des tâches Windows estNTFS.