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ètrecapacityProviderStrategy
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
etweight
à 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 statutACTIVE
ouUPDATING
peuvent être utilisés.Si un
capacityProviderStrategy
est spécifié, le paramètrelaunchType
doit être omis. Lorsque nicapacityProviderStrategy
nilaunchType
ne sont spécifiés, ledefaultCapacityProviderStrategy
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
deFARGATE_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
etrevision
(family:revision
) de la définition de tâche à exécuter dans votre service. Si unrevision
n'est pas spécifié, la dernière révisionACTIVE
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
etWINDOWS_SERVER_2022_CORE
.La valeur
platformFamily
pour chaque tâche que vous spécifiez pour le service doit correspondre à la valeurplatformFamily
du service. Par exemple, si vous définissezplatformFamily
surWINDOWS_SERVER_2019_FULL
, la valeurplatformFamily
de toutes les tâches doit êtreWINDOWS_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 planificationDAEMON
, 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ètremaximumPercent
représente une limite supérieure du nombre de tâches de votre service autorisées à avoir l'étatRUNNING
,STOPPING
ouPENDING
pendant un déploiement. Il est exprimé en tant que pourcentage dedesiredCount
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 deREPLICA
services et comporte quatre tâches et unemaximumPercent
valeurdesiredCount
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 valeurmaximumPercent
par défaut pour un service à l'aide du planificateur de serviceREPLICA
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
, lemaximumPercent
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 lemaximumPercent
/100, arrondi au nombre entier inférieur le plus proche.Si un service utilise le type bleu/vert (
CODE_DEPLOY
) ou le type deEXTERNAL
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 dansRUNNING
l'état alors que les instances de conteneur sont dansDRAINING
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 deEXTERNAL
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 deEXTERNAL
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'étatRUNNING
pendant un déploiement. Cela est exprimé en tant que pourcentage dedesiredCount
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 uneminimumHealthyPercent
de 100 %, le planificateurmaximumPercent
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 laminimumHealthyPercent
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 ECSPour 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 %. LaminimumHealthyPercent
valeur par défaut pour un service utilisant le calendrier deDAEMON
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é parminimumHealthyPercent
/100, arrondi au nombre entier supérieur le plus proche.Si un service utilise le type bleu/vert (
CODE_DEPLOY
) ou le type deEXTERNAL
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 dansRUNNING
l'état alors que les instances de conteneur sont dansDRAINING
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 deEXTERNAL
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
) ouEXTERNAL
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. UtilisezmemberOf
pour limiter la sélection à un groupe de candidats valides. La valeurdistinctInstance
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 placementspread
répartit le placement sur les candidats disponibles de façon uniforme en fonction du paramètre dufield
. La stratégiebinpack
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ètrefield
. 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 sontinstanceId
(ouhost
, qui produit le même effet), ou toute plateforme ou tout attribut personnalisé appliqué à une instance de conteneur, commeattribute:ecs.availability-zone
. Pour la stratégie de placementbinpack
, les valeurs valides sontcpu
etmemory
. Pour la stratégie de placementrandom
, ce champ n'est pas utilisé.
Étiquettes
-
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é).
-
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éseauawsvpc
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 mappagehostPort
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ètrerole
, vous devez également spécifier un objet d'équilibreur de charge avec le paramètreloadBalancers
.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 auname
de l'un desportMappings
de tous les conteneurs dans la définition de tâche de ce service Amazon ECS. discoveryName
-
Type : chaîne
Obligatoire : non
discoveryName
Il 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 lediscoveryName
n'est pas spécifié, leportName
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, commemysql
ouredis
.
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 leportMapping
nommé dans la définition de tâche de cette application. En modebridge
, 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
conteneurfluent-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
ouhost
, vous devez spécifier une combinaisoncontainerName
etcontainerPort
à 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éseauawsvpc
et qu'un registre DNS de type SRV est utilisé, vous devez spécifier une combinaisoncontainerName
etcontainerPort
ou une valeurport
, 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
ouhost
, vous devez spécifier une combinaisoncontainerName
etcontainerPort
à 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éseauawsvpc
et qu'un registre DNS de type SRV est utilisé, vous devez spécifier une combinaisoncontainerName
etcontainerPort
ou une valeurport
, 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 sur
false
, 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 êtretrue
.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
volumegp2
et, la plage valide est comprise entre 1 et 16 384.Pour les types de
io2
volumeio1
et, la plage valide est comprise entre 4 et 16 384.Pour les types de
sc1
volumest1
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
ousizeInGiB
. 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 un
snapshotId
. 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
etio2
, cela représente le nombre d'IOPS provisionnés pour le volume. Pour lesgp2
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 volumesio1
etio2
. Ce paramètre n'est pas pris en charge pour lesstandard
volumesgp2
st1
sc1
,, 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.
-
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.
AmazonECSCreated
etAmazonECSManaged
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 sont
NTFS
. La valeur par défaut pour les volumes attachés à des tâches Windows estNTFS
.