View a markdown version of this page

Tutorial: Configuración de la flota de EC2 para lanzar instancias en reservas de capacidad interrumpibles - Amazon Elastic Compute Cloud

Tutorial: Configuración de la flota de EC2 para lanzar instancias en reservas de capacidad interrumpibles

En este tutorial se explican los pasos que debe seguir para que su flota de EC2 lance instancias en reservas de capacidad interrumpibles.

Las reservas de capacidad interrumpibles representan la capacidad sobrante que le prestan los propietarios de reservas de capacidad bajo demanda de su organización de AWS. Estas reservas son adecuadas para cargas de trabajo interrumpibles, ya que el propietario de la capacidad puede recuperar la capacidad en cualquier momento con un aviso de interrupción de dos minutos, tras lo cual EC2 finaliza las instancias. Para obtener información sobre reservas de capacidad interrumpibles, consulte Reservas de capacidad interrumpible.

La capacidad de destino de la solicitud de la flota de EC2 debe ser menor o igual que la capacidad disponible de la reserva de capacidad interrumpible a la que se dirige. Si la solicitud de capacidad objetivo supera la capacidad disponible de su reserva de capacidad interrumpible, la flota de EC2 lanza tantas instancias como pueda e informa de las instancias lanzadas en la respuesta de la API.

Las instancias que se ejecutan en una reserva de capacidad interrumpible seguirán ejecutándose hasta que las detenga o terminen de forma manual, o hasta que el propietario de la capacidad recuperar la capacidad. Cuando el propietario de la capacidad recupera la capacidad, Amazon EC2 envía una notificación de Amazon EventBridge dos minutos antes de finalizar las instancias.

Consideraciones

  • Solo se admiten las solicitudes de la flota de EC2 de tipo instant para lanzar instancias en reservas de capacidad interrumpibles.

  • No se admite el uso de OnDemandTargetCapacity ni SpotTargetCapacity al mismo tiempo que el valor de reserved-capacity esté establecido en DefaultTargetCapacityType.

  • Al especificar varias plantillas de lanzamiento, cada una dirigida a una reserva de capacidad interrumpible diferente, la flota de EC2 aprovisiona las instancias en todas las reservas coincidentes.

  • En el caso de las reservas de capacidad interrumpibles, la flota de EC2 no recurrirá a la inicialización de instancias bajo demanda o de spot en el resto de la capacidad de destino deseada.

Verificar permisos

Antes de crear una flota de EC2, compruebe que tiene un rol de IAM con los permisos necesarios. Para obtener más información, consulte Requisitos previos de flota de EC2.

Para lanzar instancias en una reserva de capacidad interrumpible, debe realizar los siguientes pasos:

Paso 1: crear una plantilla de inicialización

Utilice el comando create-launch-template para crear una plantilla de inicialización en la que se especificará la reserva de capacidad ininterrumpible de destino. En la plantilla de lanzamiento, establezca MarketType en interruptible-capacity-reservation y especifique el CapacityReservationId de su reserva de capacidad interrumpible.

Configuración de plantilla de lanzamiento de ejemplo:

{ "LaunchTemplateName": "interruptible-cr-launch-template", "LaunchTemplateData": { "InstanceType": "m5.large", "ImageId": "ami-0abcdef1234567890", "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-0123456789abcdef0" } }, "InstanceMarketOptions": { "MarketType": "interruptible-capacity-reservation" } } }

Ejemplo de resultado

{ "LaunchTemplate": { "LaunchTemplateId": "lt-0123456789example", "LaunchTemplateName": "interruptible-cr-launch-template", "CreateTime": "2026-03-12T10:00:00.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Admin", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }

Para obtener más información, consulte Creación de una plantilla de inicialización de Amazon EC2.

Paso 2: configure la flota de EC2.

Cree un archivo de configuración para la flota de EC2 que especifique la plantilla de lanzamiento y la capacidad de destino. La siguiente configuración utiliza la plantilla de lanzamiento interruptible-cr-launch-template que creó en el Paso 1.

Debe especificar ReservedCapacityOptions con el valor ReservationType establecido en interruptible-capacity-reservation cuando se utilice reserved-capacity como DefaultTargetCapacityType.

Cree un archivo denominado config.json con el siguiente contenido:

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "interruptible-cr-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 10, "DefaultTargetCapacityType": "reserved-capacity" }, "ReservedCapacityOptions": { "ReservationType": ["interruptible-capacity-reservation"] }, "Type": "instant" }

Parámetros principales de configuración:

Parámetro Descripción
DefaultTargetCapacityType Se debe configurar reserved-capacity como para indicar que las instancias deben lanzarse en una capacidad reservada.
ReservedCapacityOptions Especifica el tipo de capacidad reservada. Para las reservas de capacidad interrumpibles, establezca ReservationType en ["interruptible-capacity-reservation"].
Type Debe establecerse en instant. Solo se admiten flotas instantáneas para las reservas de capacidad interrumpibles.

Paso 3: inicie la flota y consulte los resultados

Utilice el comando create-fleet para crear la flota:

aws ec2 create-fleet \ --cli-input-json file://config.json

Después de crear la flota instant utilizando la configuración anterior, la flota de EC2 lanza 10 instancias en la reserva de capacidad interrumpible para cumplir con la capacidad de destino.

nota

Si la flota no puede cumplir con toda la capacidad de destino, la respuesta incluye las instancias que se lanzaron y cualquier error relacionado con la capacidad no satisfecha.

Ejemplo de resultado

{ "FleetId": "fleet-12345678-1234-1234-1234-123456789012", "Instances": [ { "LaunchTemplateAndOverrides": { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0123456789example", "Version": "1" }, "Overrides": { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a" } }, "Lifecycle": "interruptible-capacity-reservation", "InstanceIds": [ "i-0123456789example1", "i-0123456789example2", "i-0123456789example3", "i-0123456789example4", "i-0123456789example5", "i-0123456789example6", "i-0123456789example7", "i-0123456789example8", "i-0123456789example9", "i-0123456789example0" ], "InstanceType": "m5.large", "Platform": "Linux/UNIX" } ], "Errors": [] }

Para obtener más información, consulte Crear una flota de EC2.

Limpieza

Para dejar de incurrir en cargos, termine las instancias cuando dejen de ser necesarias. Tenga en cuenta que EC2 también cancela de forma automática las instancias lanzadas a una reserva de capacidad interrumpible cuando el propietario de la capacidad recupera la capacidad.