Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Utilice las plantillas de lanzamiento de Amazon EC2 con AWS Batch
AWS Batch admite el uso de plantillas de lanzamiento de Amazon EC2 con sus entornos informáticos de EC2. Con las plantillas de lanzamiento, puede modificar la configuración predeterminada de su AWS Batch recursos informáticos sin necesidad de crear AMI personalizadas.
Las plantillas de lanzamiento pueden especificar las AMI que tienen prioridad en el orden de selección de las AMI. Para obtener más información, consulte Orden de selección AMI.
nota
Al especificar una plantilla de inicio personalizada para un AWS Batch entorno informático, AWS Batch no adjunta directamente la plantilla de lanzamiento al grupo de Auto Scaling subyacente. En su lugar, AWS Batch crea un espacio separado, Batch-managed lanza una plantilla para el grupo Auto Scaling e incorpora en ella la configuración relevante de tu plantilla de lanzamiento personalizada. Como resultado, la plantilla de lanzamiento que ves asociada al grupo de Auto Scaling es diferente de la que especificaste originalmente. Este es el comportamiento esperado.
nota
Las plantillas de lanzamiento no son compatibles con AWS Recursos de Fargate.
Es necesario crear una plantilla de lanzamiento para poder asociarla a un entorno de computación. Puede crear una plantilla de lanzamiento en la consola de Amazon EC2. O bien, puede usar el AWS CLI o un AWS SDK. Por ejemplo, el siguiente archivo JSON representa una plantilla de lanzamiento que cambia el tamaño predeterminado del volumen de datos de Docker AWS Batch recurso informático AMI y también lo configura para que se cifre.
{ "LaunchTemplateName": "increase-container-volume-encrypt", "LaunchTemplateData": { "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "Encrypted": true, "VolumeSize": 100, "VolumeType": "gp2" } } ] } }
Puede crear la plantilla de lanzamiento anterior guardando el JSON en un archivo llamado lt-data.json y ejecutando lo siguiente AWS CLI comando.
aws ec2 --region<region>create-launch-template --cli-input-json file://lt-data.json
Para obtener más información sobre las plantillas de lanzamiento, consulte Lanzar una instancia desde una plantilla de lanzamiento en la Guía del usuario de Amazon EC2.
Si utiliza una plantilla de lanzamiento para crear el entorno de computación, puede mover los siguientes parámetros del entorno de computación existente a la plantilla de lanzamiento:
nota
Supongamos que alguno de estos parámetros (excepto las etiquetas de Amazon EC2) se especifica tanto en la plantilla de lanzamiento como en la configuración del entorno de procesamiento. Entonces, los parámetros del entorno de cómputo tienen prioridad. Las etiquetas Amazon EC2 se combinan entre la plantilla de lanzamiento y la configuración del entorno de cómputo. Si se produce una colisión en la clave de la etiqueta, el valor de la configuración del entorno de computación tiene prioridad.
-
Pares de claves de Amazon EC2
-
ID de la AMI de Amazon EC2
-
ID del grupo de seguridad
-
Etiquetas de Amazon EC2 (
computeResources.tags)
Los siguientes parámetros de la plantilla de lanzamiento son ignorado por AWS Batch:
-
Tipo de instancia (especifique los tipos de instancia que desea utilizar al crear el entorno de computación)
-
Rol de instancia (especifique el rol de instancia que desea utilizar al crear el entorno de computación)
-
Subredes de interfaz de red (especifique las subredes que desea utilizar al crear el entorno de computación)
-
Opciones de mercado de instancias (AWS Batch debe controlar la configuración de la instancia puntual)
-
Inhabilitar la terminación de la API (AWS Batch debe controlar el ciclo de vida de la instancia)
nota
Para autorizar las etiquetas de Amazon EC2 que se aplican a sus recursos informáticos mediante políticas de IAM, establezca esas etiquetas en el entorno de procesamiento computeResources.tags en lugar de solo en la plantilla de lanzamiento. ¿Cuándo AWS Batch procesa un CreateComputeEnvironment o UpdateComputeEnvironment solicitud, usa el batch:ComputeResourcesTag/ clave de condición para autorizar las etiquetas en tag-keycomputeResources.tags. Esta clave de condición no evalúa las etiquetas que solo están configuradas en la plantilla de lanzamiento. Para obtener más información, consulte Controle el acceso a las etiquetas de recursos informáticos con claves de condición.
AWS Batch solo actualiza la plantilla de lanzamiento con una nueva versión de la plantilla de lanzamiento durante las actualizaciones de la infraestructura. Para obtener más información, consulte Actualizar un entorno informático en AWS Batch.
Plantillas de lanzamiento predeterminadas y anuladas
Puede definir una plantilla de lanzamiento predeterminada para el entorno de computación y una plantilla de lanzamiento de anulación para los tipos y las familias de instancias específicos. Esto puede resultar útil para que la plantilla predeterminada se utilice en la mayoría de los tipos de instancias de los entornos de computación.
Las variables de sustitución $Default y $Latest se pueden utilizar en lugar de asignar un nombre a una versión específica. Si no proporciona una plantilla de lanzamiento de anulación, se aplicará automáticamente la predeterminada.
Si utiliza alguno de los $Default o $Latest variable, AWS Batch aplicará la información actual en el momento en que se cree el entorno informático. Si la versión predeterminada o la más reciente cambian en el futuro, debe actualizar la información mediante UpdateComputeEnvironment o a través del Consola de administración de AWS - AWS Batch.
Para brindar una flexibilidad adicional, puede definir plantillas de lanzamiento de anulación que se apliquen a tipos o familias de instancias de computación específicos.
nota
Puede especificar hasta diez (10) anulaciones de plantillas de lanzamiento para cada entorno de computación.
Utilice el parámetro targetInstanceTypes para seleccionar el tipo de instancia o la familia que se debe usar en esta anulación de plantilla de lanzamiento. El parámetro instanceTypes debe identificar primero el tipo o la familia de instancias.
Si se definen las anulaciones de plantillas de lanzamiento y se decide eliminarlas más adelante, puede pasar una matriz vacía para anular la configuración del parámetro overrides en la operación de la API UpdateComputeEnvironment. También puede optar por no incluir el parámetro overrides al enviar la operación de la API UpdateComputeEnvironment. Para obtener más información, consulte, LaunchTemplateSpecification.overrides
Para obtener más información, consulte LaunchTemplateSpecificationOverride.targetInstanceTypes en el AWS Batch Guía de referencia de API.
Datos de usuario de Amazon EC2 en las plantillas de lanzamiento
Puede proporcionar datos de usuario de Amazon EC2 en la plantilla de lanzamiento que será ejecutada por cloud-init
Los datos de usuario de Amazon EC2 en las plantillas de lanzamiento deben estar en el formato archivo multiparte MIME
Si estás usando AWS CloudFormation, el AWS::CloudFormation::Iniciarlo el tipo se puede usar con cfn-init script auxiliar para realizar escenarios de configuración comunes.
Un archivo multiparte MIME consta de los siguientes componentes:
-
El tipo de contenido y declaración de límite de partes:
Content-Type: multipart/mixed; boundary="==BOUNDARY==" -
La declaración de versión de MIME:
MIME-Version: 1.0 -
Uno o más bloques de datos de usuario, que contienen los siguientes componentes:
-
El límite de apertura, que señala el inicio de un bloque de datos de usuario:
--==BOUNDARY==. Debe dejar en blanco la línea anterior a este límite. -
La declaración de tipo de contenido para el bloque:
Content-Type:. Para obtener más información sobre los tipos de contenido, consulte Cloud-Init documentacióntext/cloud-config; charset="us-ascii". Debe dejar en blanco la línea que sigue a la declaración de tipo de contenido. -
El contenido de los datos de usuario, por ejemplo, una lista de shell o políticas de
cloud-init.
-
-
El límite de cierre, que señala el final del archivo multiparte MIME:
--==BOUNDARY==--. Debe dejar en blanco la línea anterior al límite de cierre.
nota
Si añade datos de usuario a una plantilla de lanzamiento en la consola de Amazon EC2, puede pegarlos como texto sin formato. O bien, puede cargarlos desde un archivo. Si utilizas el AWS CLI o un AWS SDK, primero debes base64 codificar los datos del usuario y enviar esa cadena como el valor del UserData parámetro cuando llamas CreateLaunchTemplate, como se muestra en este archivo JSON.
{ "LaunchTemplateName": "base64-user-data", "LaunchTemplateData": { "UserData": "ewogICAgIkxhdW5jaFRlbXBsYXRlTmFtZSI6ICJpbmNyZWFzZS1jb250YWluZXItdm9sdW..." } }
Valores de configuración de agentes de Amazon ECS reservados
AWS Batch escribe valores de configuración de agentes de Amazon ECS específicos en /etc/ecs/ecs.config cuando las instancias se lanzan en EC2-based entornos informáticos gestionados que utilizan Amazon ECS. AWS Batch también pueden sobrescribir estos valores durante las actualizaciones del entorno informático, por lo que es posible que los cambios no persistan.
importante
Los conflictos entre tus datos de usuario y AWS Batch-los valores administrados pueden impedir que se programen los trabajos, provocar un comportamiento de escalado inesperado y generar costos inesperados.
importante
No copie los datos de usuario de un AWS Batch-plantilla de lanzamiento gestionada en su propia plantilla de lanzamiento. AWS Batch-los datos de usuario gestionados contienen valores que difieren entre los entornos informáticos y cambian cuando se actualiza el entorno informático. Si su plantilla de lanzamiento contiene valores copiados, es posible que entren en conflicto con los valores esperados para el entorno informático actual.
No definas los siguientes valores en los datos de usuario de tu plantilla de lanzamiento. Estos valores son administrados por AWS Batch y los conflictos pueden provocar problemas de programación y escalado:
ECS_CLUSTERECS_INSTANCE_ATTRIBUTES
Para obtener más información sobre los parámetros enumerados anteriormente, consulte Configuración del agente contenedor de Amazon ECS en el Guía para desarrolladores de Amazon Elastic Container Service.