Uso Capacity Blocks para cargas de trabajo de aprendizaje automático - Amazon EC2 Auto Scaling

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.

Uso Capacity Blocks para cargas de trabajo de aprendizaje automático

Capacity Blocks lo ayudan a reservar GPU instancias muy solicitadas en una fecha futura para respaldar sus cargas de trabajo de aprendizaje automático (ML) de corta duración.

Para obtener una descripción general de Capacity Blocks y cómo funcionan, consulte Capacity Blocks para ML en la Guía del EC2 usuario de Amazon.

Para empezar a usar Capacity Blocks, se crea una reserva de capacidad en una zona de disponibilidad específica. Capacity Blocks se entregan como reservas targeted de capacidad en una única zona de disponibilidad. Al crear la plantilla de lanzamiento, especifique el ID de reserva y el tipo de instancia del bloque de capacidad. A continuación, actualice su grupo de Auto Scaling para usar la plantilla de lanzamiento que creó y la zona de disponibilidad del bloque de capacidad. Cuando comience su reserva de bloque de capacidad, utilice el escalado programado para lanzar la misma cantidad de instancias que su reserva de bloque de capacidad.

importante

Capacity Blocks solo están disponibles para determinados tipos de EC2 instancias de Amazon y Regiones de AWS. Para obtener más información, consulta los requisitos previos en la Guía del EC2 usuario de Amazon.

Directrices operativas

A continuación, se detallan las directrices operativas básicas que se deben seguir al utilizar un bloque de capacidad con un grupo de escalado automático.

  • Reduzca horizontalmente su grupo de escalado automático a cero más de 30 minutos antes de la hora de finalización de la reserva del bloque de capacidad. Amazon EC2 cancelará todas las instancias que sigan ejecutándose 30 minutos antes de la hora de finalización del bloque de capacidad.

  • Le recomendamos que utilice el escalado programado para ampliar (añadir instancias) y ampliarlo (eliminar instancias) en los horarios de reserva adecuados. Para obtener más información, consulte Escalado programado para Amazon EC2 Auto Scaling.

  • Añada enlaces de ciclo de vida según sea necesario para cerrar correctamente la aplicación dentro de las instancias al reducir horizontalmente. Deje tiempo suficiente para que se complete la acción del ciclo de vida antes de que Amazon EC2 comience a cancelar sus instancias por la fuerza 30 minutos antes de la hora de finalización de la reserva de Capacity Block. Para obtener más información, consulte Enlaces de ciclo de vida de Amazon EC2 Auto Scaling.

  • Asegúrese de que el grupo de escalado automático apunte a la versión correcta de la plantilla de lanzamiento durante toda la reserva. Recomendamos apuntar a una versión específica de la plantilla de lanzamiento en lugar de la versión $Default o $Latest.

nota

Si dejas una instancia de Capacity Block en ejecución hasta el final de la reserva y Amazon la EC2 recupera, las actividades de escalado de tu grupo de Auto Scaling indican que era taken out of service in response to an EC2 health check that indicated it had been terminated or stopped «», aunque se haya reclamado a propósito al final del bloque de capacidad. Del mismo modo, Amazon EC2 Auto Scaling intentará reemplazar la instancia de la misma manera que lo hace con cualquier instancia que no supere una comprobación de estado. Para obtener más información, consulte Comprobaciones de estado para instancias en un grupo de escalado automático.

Especificación de un bloque de capacidad en la plantilla de lanzamiento

Para crear una plantilla de lanzamiento destinada a un bloque de capacidad específico para su grupo de Auto Scaling, utilice uno de los siguientes métodos:

Console
Especificación de un bloque de capacidad en la plantilla de lanzamiento (consola)
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/.

  2. En la barra de navegación superior, selecciona el Región de AWS lugar donde creaste tu bloque de capacidad.

  3. En el panel de navegación, en Instances, seleccione Launch Templates.

  4. Elija Crear plantilla de lanzamiento y cree la plantilla de lanzamiento. Incluye el ID de Amazon Machine Image (AMI), el tipo de instancia y cualquier otra configuración de la plantilla de lanzamiento según sea necesario.

  5. Expanda la sección Detalles avanzados para ver la configuración avanzada.

  6. En Opción de compra, elija Bloques de capacidad.

  7. En Reserva de capacidad, elija Destino por ID y, a continuación, en Reserva de capacidad - Destino por ID, elija el ID de reserva de capacidad de un bloque de capacidad existente.

  8. Cuando haya terminado, seleccione Crear plantilla de lanzamiento.

    Si necesita ayuda para crear un grupo de Auto Scaling con una plantilla de lanzamiento, consulteCreación de un grupo de Auto Scaling mediante una plantilla de lanzamiento.

AWS CLI
Especificación de un bloque de capacidad en la plantilla de lanzamiento (AWS CLI)

Utilice el siguiente create-launch-templatecomando para crear una plantilla de lanzamiento que especifique un ID de reserva de bloque de capacidad existente. Sustituya cada user input placeholder con tu propia información.

aws ec2 create-launch-template --launch-template-name my-template-for-capacity-block \ --version-description AutoScalingVersion1 --region us-east-2 \ --launch-template-data file://config.json
sugerencia

Si este comando arroja un error, asegúrese de haber actualizado la versión AWS CLI local a la última versión.

Contenido de config.json.

{ "ImageId": "ami-04d5cc9b88example", "InstanceType": "p4d.24xlarge", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-02168da1478b509e0" } } }

A continuación, se muestra un ejemplo del resultado.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-capacity-block", "CreateTime": "2023-10-27T15:12:44.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }

Puede usar el siguiente describe-launch-template-versionscomando para verificar el ID de reserva del bloque de capacidad asociado a la plantilla de lanzamiento.

aws ec2 describe-launch-template-versions --launch-template-names my-template-for-capacity-block \ --region us-east-2

A continuación, se muestra un resultado de ejemplo para una plantilla de lanzamiento que especifica una reserva de bloque de capacidad.

{ "LaunchTemplateVersions": [ { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-capacity-block", "VersionNumber": 1, "CreateTime": "2023-10-27T15:12:44.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersion": true, "LaunchTemplateData": { "ImageId": "ami-04d5cc9b88example", "InstanceType": "p5.48xlarge", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-02168da1478b509e0" } } } } ] }

Limitaciones

  • Compatibilidad con Capacity Blocks solo está disponible si su grupo de Auto Scaling tiene una configuración compatible. No se admiten grupos de instancias mixtas ni grupos en caliente.

  • Solo puede seleccionar un bloque de capacidad a la vez.

  • Para conocer los requisitos previos y las recomendaciones para usar instancias P5, consulte Comenzar con las instancias P5 en la Guía del usuario de Amazon EC2.

  • Amazon EKS admite el uso Capacity Blocks para respaldar sus cargas de trabajo de aprendizaje automático (ML) de corta duración en los EKS clústeres de Amazon. Para obtener más información, consulte Capacity Blocks para ML en la Guía del EKS usuario de Amazon.

  • Puede usar… Capacity Blocks con los tipos de instancias y regiones compatibles. Sin embargo, las reservas de capacidad bajo demanda ofrecen flexibilidad para reservar capacidad para otros tipos de instancias y regiones. Para ver un tutorial que muestra cómo utilizar la opción de reserva de capacidad bajo demanda, consulteReserve capacidad en zonas de disponibilidad específicas con reservas de capacidad .