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.
Mise à jour des environnements informatiques
Après avoir créé un environnement informatique qui utilise les ressources EC2, vous pouvez directement mettre à jour de nombreux paramètres de l'environnement informatique. Cependant, la modification de certains paramètres nécessite le AWS Batch remplacement des instances dans l'environnement de calcul.
Pour les environnements de calcul qui utilisent les ressources Fargate, vous pouvez mettre à jour les éléments suivants.
-
securityGroupIds
-
subnets
-
desiredvCpus
-
maxvCpus
-
minvCpus
AWS Batchdispose de deux mécanismes de mise à jour. La première est une mise à jour de dimensionnement dans le cadre de laquelle des instances sont ajoutées ou supprimées de l'environnement informatique. La seconde est une mise à jour de l'infrastructure dans le cadre de laquelle les instances de l'environnement informatique sont remplacées. Une mise à jour de l'infrastructure prend beaucoup plus de temps qu'une mise à niveau.
Si vous mettez à jour les environnements informatiques avecAWS Batch, le fait de modifier uniquement ces paramètres entraîne une mise à jour du dimensionnement : vCPU souhaités (desiredvCpus
), nombre maximal de vCPU ()maxvCpus
, nombre minimal de vCPU (minvCpus
), rôle de service () et état (serviceRole
). state
Note
Lorsque vous mettez à jour le desiredvCpus
paramètre, la valeur doit être comprise entre les maxvCpus
valeurs minvCpus
et.
En outre, la desiredvCpus
valeur mise à jour doit être supérieure ou égale à la desiredvCpus
valeur actuelle. Pour plus d'informations, consultez Message d'erreur lorsque vous mettez à jour le desiredvCpus paramètre.
Si l'un des paramètres suivants est modifié dans le cadre d'une action d'UpdateComputeEnvironmentAPI, AWS Batch lance une mise à jour de l'infrastructure. Une mise à jour de l'infrastructure nécessite que le rôle de service soit défini sur AWSServiceRoleForBatch(valeur par défaut) et que la stratégie d'allocation soit BEST_FIT_PROGRESSIVE
SPOT_CAPACITY_OPTIMIZED
, ouSPOT_PRICE_CAPACITY_OPTIMIZED
. BEST_FIT
n'est pas pris en charge. À l'exception du rôle de service, tous les paramètres pouvant être modifiés pour une mise à jour de dimensionnement peuvent également être modifiés pour une mise à jour de l'infrastructure.
Note
Nous vous recommandons d'utiliser SPOT_PRICE_CAPACITY_OPTIMIZED
plutôt que SPOT_CAPACITY_OPTIMIZED
n dans la plupart des cas.
Lors d'une mise à jour de l'infrastructure, l'état de l'environnement de calcul passe àUPDATING
. Les nouvelles instances sont lancées à l'aide des paramètres mis à jour. De nouvelles tâches sont planifiées sur les nouvelles instances. Les tâches en cours d'exécution sont distribuées conformément à la politique de mise à jour de l'infrastructure. Pour plus d'informations, veuillez consulter les sections UpdateComputeEnvironment et UpdatePolicy (français non garanti) de la Référence d'API AWS Batch.
Dans le type de UpdatePolicy
données, considérez les scénarios suivants :
Note
Dans ces scénarios, ce qui suit est vrai. Lorsqu'une instance est arrêtée, les tâches en cours d'exécution sont arrêtées. Par défaut, ces tâches ne sont pas réessayées. Pour réessayer l'une de ces tâches après la fermeture d'une instance, configurez une stratégie de nouvelle tentative de tâche. Pour plus d’informations, consultez Nouvelles tentatives de travail automatisées dans le Guide de l’utilisateur AWS Batch.
-
Si le
terminateJobsOnUpdate
paramètre est défini surtrue
, les tâches en cours d'exécution sont interrompues lors d'une mise à jour de l'infrastructure. LejobExecutionTimeoutMinutes
paramètre est ignoré. -
Si le
terminateJobsOnUpdate
paramètre est défini surfalse
, les tâches peuvent être exécutées plus longtemps après la mise à jour de l'infrastructure. Ce délai supplémentaire est configuré dans lejobExecutionTimeoutMinutes
paramètre. Par défaut, lejobExecutionTimeoutMinutes
réglage est de 30 minutes.
Au fur et à mesure que la capacité devient disponible dans l'environnement informatique, de nouvelles instances sont lancées avec les paramètres mis à jour et des tâches sont lancées sur les nouvelles instances. Au fur et à mesure que toutes les tâches sont terminées sur des instances avec les anciens paramètres, les anciennes instances sont résiliées. La disponibilité de la capacité signifie que le nombre souhaité de vCPU est inférieur au nombre maximum de vCPU d'au moins autant de vCPU que celui requis par le plus petit type d'instance.
Mises à jour de
Une mise à jour de l'infrastructure est nécessaire pour modifier certains paramètres d'un environnement informatique. Si l'un des paramètres suivants est modifié, une mise à jour de l'infrastructure est lancée :
Important
L'environnement informatique doit utiliser le rôle AWSServiceRoleForBatchlié au service pour apporter des modifications nécessitant une mise à jour de l'infrastructure.
Si l'environnement informatique utilise un rôle lié à un service, il ne peut pas être modifié pour utiliser un rôle IAM normal. De même, si l'environnement informatique possède un rôle IAM normal, il ne peut pas être modifié pour utiliser un rôle lié à un service. Par conséquent, vous ne pouvez effectuer des mises à jour d'infrastructure que sur des environnements informatiques créés à l'aide d'un rôle lié à un service.
-
La stratégie d'allocation (
allocationStrategy
, doit être soitBEST_FIT_PROGRESSIVE
SPOT_CAPACITY_OPTIMIZED
, soitSPOT_PRICE_CAPACITY_OPTIMIZED
. Si la stratégie d'allocation d'origine l'estBEST_FIT
, les mises à jour de l'infrastructure ne sont pas prises en charge.)Note
Nous vous recommandons d'utiliser
SPOT_PRICE_CAPACITY_OPTIMIZED
plutôt queSPOT_CAPACITY_OPTIMIZED
n dans la plupart des cas. -
Pourcentage d'enchère (
bidPercentage
) -
Configuration EC2 ()
ec2Configuration
-
Paire de clés (
ec2KeyPair
) -
Identifiant de l'image (
imageId
) -
Rôle d'instance (
instanceRole
) -
Types d'instances (
instanceTypes
) -
Modèle de lancement (
launchTemplate
) -
Groupe de placement (
placementGroup
) -
Groupes de sécurité (
securityGroupIds
) -
Sous-réseaux VPC ()
subnets
-
Balises EC2 ()
tags
-
Type d'environnement de calcul (
type
, peut être l'un des types suivants :EC2
ouSPOT
) -
S'il faut effectuer la mise à jour vers la dernière AMI prise en charge AWS Batch lors d'une mise à jour de l'infrastructure
updateToLatestImageVersion
Mise à jour de l'ID AMI
Lors d'une mise à jour de l'infrastructure, l'ID d'AMI de l'environnement de calcul peut changer selon que les AMI sont spécifiées ou non dans l'un de ces trois paramètres. Les AMI sont spécifiées dans le imageId
(incomputeResources
), imageIdOverride
(inec2Configuration
) ou dans le modèle de lancement spécifié danslaunchTemplate
. Supposons qu'aucun ID d'AMI ne soit spécifié dans aucun de ces paramètres et que le updateToLatestImageVersion
paramètre soit le castrue
. Ensuite, la dernière AMI optimisée Amazon ECS prise en charge par AWS Batch est utilisée pour toute mise à jour de l'infrastructure.
Si un ID d'AMI est spécifié dans au moins l'un de ces paramètres, la mise à jour dépend du paramètre qui a fourni l'ID d'AMI utilisé avant la mise à jour. Lorsque vous créez un environnement informatique, la priorité pour sélectionner un ID d'AMI est d'abord le modèle de lancement, puis le imageId
paramètre, et enfin le imageIdOverride
paramètre. Toutefois, si l'ID d'AMI utilisé provient du modèle de lancement, la mise à jour des imageIdOverride
paramètres imageId
ou des paramètres ne met pas à jour l'ID d'AMI. La seule façon de mettre à jour un ID d'AMI sélectionné dans le modèle de lancement est de mettre à jour le modèle de lancement. Si le paramètre de version du modèle de lancement est $Default
ou$Latest
, la version par défaut ou la dernière version du modèle de lancement spécifié est évaluée. Si un autre ID d'AMI est sélectionné par défaut ou si la dernière version du modèle de lancement est sélectionnée, cet ID d'AMI est utilisé dans la mise à jour.
Si le modèle de lancement n'a pas été utilisé pour sélectionner l'ID d'AMI, l'ID d'AMI spécifié dans les imageIdOverride
paramètres imageId
ou est utilisé. Si les deux sont spécifiés, l'ID d'AMI spécifié dans le imageIdOverride
paramètre est utilisé.
Supposons que l'environnement de calcul utilise un ID d'AMI spécifié par les launchTemplate
paramètres imageId
imageIdOverride
, ou, et que vous souhaitiez utiliser la dernière AMI optimisée pour Amazon ECS prise en charge parAWS Batch. La mise à jour doit ensuite supprimer les paramètres qui ont fourni les ID d'AMI. En imageId
effet, cela nécessite de spécifier une chaîne vide pour ce paramètre. En imageIdOverride
effet, cela nécessite de spécifier une chaîne vide pour le ec2Configuration
paramètre.
Si l'ID d'AMI provient du modèle de lancement, vous pouvez passer à la dernière AMI optimisée pour Amazon ECS prise AWS Batch en charge de l'une des manières suivantes :
-
Supprimez le modèle de lancement en spécifiant une chaîne vide pour le
launchTemplateName
paramètrelaunchTemplateId
or. Cela supprime l'intégralité du modèle de lancement, plutôt que le seul ID de l'AMI. -
Si la version mise à jour du modèle de lancement ne spécifie pas d'ID d'AMI, le
updateToLatestImageVersion
paramètre doit être défini surtrue
.