Mise à jour des environnements informatiques - AWS Batch

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_PROGRESSIVESPOT_CAPACITY_OPTIMIZED, ouSPOT_PRICE_CAPACITY_OPTIMIZED. BEST_FITn'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. Le jobExecutionTimeoutMinutes 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 le jobExecutionTimeoutMinutes paramètre. Par défaut, le jobExecutionTimeoutMinutes 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 soit BEST_FIT_PROGRESSIVESPOT_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 que SPOT_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 imageIdimageIdOverride, 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ètre launchTemplateId 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.