

# Tutoriales para la flota de EC2
<a name="fleet-tutorials"></a>

Hay diferentes formas de configurar una flota de EC2. La configuración que elija depende de su caso de uso específico.

En los siguientes tutoriales se describen algunos de los posibles casos de uso y se proporcionan las tareas necesarias para implementarlos.


| Caso de uso | Enlace al tutorial | 
| --- | --- | 
|  **Uso de la ponderación de instancias para administrar la disponibilidad y el rendimiento de la flota de EC2.** Con la ponderación de instancias, puede asignar una ponderación a cada tipo de instancia en su flota de EC2 para representar su capacidad de computación y su rendimiento en relación con los demás. En función de las ponderaciones, la flota puede utilizar cualquier combinación de los tipos de instancias especificados, siempre que pueda cumplir con la capacidad objetivo deseada.  | [Tutorial: Configuración de la flota de EC2 para usar ponderación de instancias](ec2-fleet-instance-weighting-walkthrough.md) | 
|  **Uso de la capacidad bajo demanda para garantizar la disponibilidad durante los periodos de mayor actividad, pero aprovechar la capacidad de spot adicional a un costo menor.** Configure su flota de EC2 para utilizar las instancias bajo demanda como capacidad principal a fin de garantizar la capacidad disponible durante los periodos de mayor actividad. Además, asigne cierta capacidad a las instancias de spot para beneficiarse de un descuento en los precios, teniendo en cuenta que las instancias de spot se pueden interrumpir si Amazon EC2 necesita de nuevo la capacidad.  | [Tutorial: Configuración de la flota de EC2 para usar las instancias bajo demanda como capacidad principal](ec2-fleet-on-demand-walkthrough.md) | 
|  **Uso de las reservas de capacidad para reservar capacidad de computación para sus instancias bajo demanda.** Configure su flota de EC2 para que utilice primero las reservas de capacidad de `targeted` al iniciar instancias bajo demanda. Si tiene requisitos de capacidad estrictos y ejecuta cargas de trabajo críticas para la empresa que requieren cierto nivel de garantía de capacidad a corto o largo plazo, le recomendamos que cree una reserva de capacidad para garantizar que siempre tendrá acceso a la capacidad de Amazon EC2 cuando la necesite y durante el tiempo que la necesite.  | [Tutorial: Configuración de la flota de EC2 para lanzar instancias bajo demanda con reservas de capacidad específicas](ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough.md) | 
|  **Uso de los bloques de capacidad para reservar instancias de GPU muy solicitadas para sus cargas de trabajo de machine learning.** Configure su flota de EC2 para lanzar instancias en bloques de capacidad.  | [Tutorial: Configuración de la flota de EC2 para lanzar instancias en bloques de capacidad](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md) | 
|  **Utilice las reservas de capacidad interrumpibles para reutilizar de forma temporal la capacidad inactiva en toda la organización de AWS y ahorrar costos.** Configuración de la flota de EC2 para lanzar instancias en reservas de capacidad interrumpibles, que representan la capacidad de sobra de su organización de AWS. Los propietarios de la capacidad pueden recuperar la capacidad en cualquier momento. Una vez recuperada, EC2 cierra las instancias con dos minutos de antelación.  | [Tutorial: Configuración de la flota de EC2 para lanzar instancias en reservas de capacidad interrumpibles](ec2-fleet-launch-instances-interruptible-cr-walkthrough.md) | 

# Tutorial: Configuración de la flota de EC2 para usar ponderación de instancias
<a name="ec2-fleet-instance-weighting-walkthrough"></a>

Este tutorial utiliza una compañía ficticia llamada Example Corp para ilustrar el proceso de solicitud de una flota de EC2 mediante la ponderación de instancias.

## Objetivo
<a name="ec2-fleet-instance-weighting-walkthrough-objective"></a>

Example Corp es una compañía farmacéutica que desea usar la potencia computacional de Amazon EC2 para realizar el cribado de compuestos químicos que podrían utilizarse para combatir el cáncer.

## Planificación
<a name="ec2-fleet-instance-weighting-walkthrough-planning"></a>

Example Corp primero consulta las [Prácticas recomendadas para instancias de spot](https://aws.amazon.com/ec2/spot/getting-started/#bestpractices). A continuación, Example Corp determina los siguientes requisitos para la flota de EC2.

**Tipos de instancias**  
Example Corp tiene una aplicación que requiere un uso intensivo de memoria y de recursos informáticos que responde mejor con 60 GB de memoria, como mínimo, y ocho CPU virtuales (vCPU). Desean maximizar estos recursos para la aplicación al precio más bajo posible. Example Corp decide que cualquiera de los siguientes tipos de instancias EC2 podría satisfacer sus necesidades:


| Tipo de instancia | Memoria (GiB) | vCPU | 
| --- | --- | --- | 
|  r3.2xlarge  |  61  |  8  | 
|  r3.4xlarge  |  122  |  16  | 
|  r3.8xlarge  |  244  |  32  | 

**Capacidad de destino en unidades**  
Con ponderación de instancias, la capacidad de destino puede ser igual a un número de instancias (opción predeterminada) o a una combinación de factores como núcleos (vCPU), memoria (GiB) y almacenamiento (GB). Considerando la base para su aplicación (60 GB de RAM y ocho vCPU) como una unidad, Example Corp decide que 20 veces esta cantidad satisfaría sus necesidades. Así que la empresa establece la capacidad de destino de la solicitud de la flota de EC2 en 20 unidades.

**Ponderaciones de instancias**  
Después de determinar la capacidad de destino, Example Corp calcula las ponderaciones de instancias. Para calcularlas para cada tipo de instancia, determinan las unidades de cada tipo de instancia que son necesarias para alcanzar la capacidad de destino de la siguiente manera:
+ r3.2xlarge (61,0 GB, 8 vCPU) = 1 unidad de 20
+ r3.4xlarge (122,0 GB, 16 vCPU) = 2 unidades de 20
+ r3.8xlarge (244,0 GB, 32 vCPU) = 4 unidades de 20

Por consiguiente, Example Corp asigna ponderaciones de instancias de 1, 2 y 4 a las respectivas configuraciones de inicialización en la solicitud de flota de EC2.

**Precio por hora de unidad**  
Example Corp usa el [precio bajo demanda](https://aws.amazon.com/ec2/pricing/) por hora de instancia como punto de inicio de su precio. También podrían usar precios de spot recientes o una combinación de ambos. Para calcular el precio por hora de unidad, dividen el precio inicial por hora de instancia entre la ponderación. Por ejemplo:


| Tipo de instancia | Precio bajo demanda | Ponderación de instancia | Precio por hora de unidad | 
| --- | --- | --- | --- | 
|  r3.2xLarge  |  0,7 USD  |  1  |  0,7 USD  | 
|  r3.4xLarge  |  1,4 USD  |  2  |  0,7 USD  | 
|  r3.8xLarge  |  2,8 USD  |  4  |  0,7 USD  | 

Example Corp podría usar un precio global por hora de unidad de 0,7 USD y ser competitivos para los tres tipos de instancias. También podrían usar un precio global por hora de unidad de 0,7 USD y un precio específico por hora de unidad de 0,9 USD en la especificación de inicialización `r3.8xlarge`.

## Verificar permisos
<a name="ec2-fleet-instance-weighting-walkthrough-permissions"></a>

Antes de crear una flota de EC2, Example Corp comprueba que tiene un rol de IAM con los permisos necesarios. Para obtener más información, consulte [Requisitos previos de flota de EC2](ec2-fleet-prerequisites.md).

## Crear una plantilla de lanzamiento
<a name="ec2-fleet-instance-weighting-create-launch-template"></a>

A continuación, Example Corp crea una plantilla de inicialización. El ID de la plantilla de inicio se utiliza en el paso siguiente. Para obtener más información, consulte [Creación de una plantilla de inicialización de Amazon EC2](create-launch-template.md).

## Crear la flota de EC2
<a name="ec2-fleet-instance-weighting-walkthrough-request"></a>

Example Corp crea un archivo, `config.json`, con la siguiente configuración para su flota de EC2. En el ejemplo siguiente, reemplace los identificadores de recursos por sus propios identificadores de recursos.

```
{ 
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-07b3bc7625cdab851", 
                "Version": "1"
            }, 
            "Overrides": [
                {
                    "InstanceType": "r3.2xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 1
                },
                {
                    "InstanceType": "r3.4xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 2
                },
                {
                    "InstanceType": "r3.8xlarge", 
                    "MaxPrice": "0.90", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 4
                }
            ]
        }
    ], 
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20, 
        "DefaultTargetCapacityType": "spot"
    }
}
```

Example Corp crea la solicitud de flota de EC2 con el siguiente comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

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

Para obtener más información, consulte [Crear una flota de EC2](create-ec2-fleet.md).

## Cumplimiento
<a name="ec2-fleet-instance-weighting-walkthrough-fulfillment"></a>

La estrategia de asignación determina de qué grupos de capacidad de spot proceden las instancias de spot.

Con la estrategia `lowest-price` (que es la estrategia predeterminada), las instancias de spot proceden del grupo con el precio de spot más bajo por unidad en el momento de la prestación del servicio. Para proporcionar 20 unidades de capacidad, la flota de EC2 inicia 20 (20 dividido entre 1) instancias `r3.2xlarge`, 10 (20 dividido ente 2) instancias `r3.4xlarge` o 5 (20 dividido entre 4) instancias `r3.8xlarge`.

Si Example Corp usara la estrategia `diversified`, las instancias de spot procederían de los tres grupos. La flota de EC2 iniciaría 6 instancias `r3.2xlarge` (que proporcionan 6 unidades), 3 instancias `r3.4xlarge` (que proporcionan 6 unidades) y 2 instancias `r3.8xlarge` (que proporcionan 8 unidades), con un total de 20 unidades.

# Tutorial: Configuración de la flota de EC2 para usar las instancias bajo demanda como capacidad principal
<a name="ec2-fleet-on-demand-walkthrough"></a>

En este tutorial, se utiliza una compañía ficticia llamada ABC Online para ilustrar el proceso de solicitud de una flota de EC2 que usa la capacidad en diferido como modelo principal y la capacidad de spot en caso de estar disponible.

## Objetivo
<a name="ec2-fleet-on-demand-walkthrough-objective"></a>

ABC Online, una empresa de telerestaurante, tiene la intención de aprovisionar la capacidad de Amazon EC2 con diversos tipos de instancias de EC2 y opciones de compra con el fin de alcanzar sus objetivos de escala, rendimiento y costo.

## Planifique
<a name="ec2-fleet-on-demand-walkthrough-planning"></a>

ABC Online requiere una cantidad de capacidad fija para gestionar periodos de actividad punta, pero desearía beneficiarse de tener capacidad adicional a un costo más bajo. La empresa determina los siguientes requisitos para su flota de EC2:
+ Capacidad de instancias bajo demanda: ABC Online requiere 15 instancias bajo demanda para asegurarse de poder cubrir el tráfico de los periodos de actividad máxima.
+ Capacidad de instancias de spot: para mejorar el rendimiento, pero a un precio más bajo, ABC Online tiene la intención de aprovisionar 5 instancias de spot.

## Verificar permisos
<a name="ec2-fleet-on-demand-walkthrough-permissions"></a>

Antes de crear una flota de EC2, ABC Online comprueba que tiene un rol de IAM con los permisos necesarios. Para obtener más información, consulte [Requisitos previos de flota de EC2](ec2-fleet-prerequisites.md).

## Crear una plantilla de lanzamiento
<a name="ec2-fleet-on-demand-walkthrough-create-launch-template"></a>

A continuación, ABC Online crea una plantilla de inicialización. El ID de la plantilla de inicio se utiliza en el paso siguiente. Para obtener más información, consulte [Creación de una plantilla de inicialización de Amazon EC2](create-launch-template.md).

## Crear la flota de EC2
<a name="ec2-fleet-on-demand-walkthrough-request"></a>

ABC Online crea un archivo, `config.json`, con la siguiente configuración para su flota de EC2. En el ejemplo siguiente, reemplace los identificadores de recursos por sus propios identificadores de recursos.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-07b3bc7625cdab851",
                "Version": "2"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "OnDemandTargetCapacity":15,
        "DefaultTargetCapacityType": "spot"
    }
}
```

ABC Online crea la flota de EC2 con el siguiente comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

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

Para obtener más información, consulte [Crear una flota de EC2](create-ec2-fleet.md).

## Cumplimiento
<a name="ec2-fleet-on-demand-walkthrough-fulfillment"></a>

La estrategia de asignación determina que la capacidad bajo demanda se atienda siempre, mientras que el resto de la capacidad de destino se cubre con instancias de spot si hay capacidad disponible.

# Tutorial: Configuración de la flota de EC2 para lanzar instancias bajo demanda con reservas de capacidad específicas
<a name="ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough"></a>

En este tutorial se explican todos los pasos que debe realizar para que su flota de EC2 lance instancias bajo demanda en reservas de capacidad `targeted`.

Aprenderá a configurar una flota para utilizar primero las reservas de capacidad bajo demanda `targeted` al iniciar instancias bajo demanda. También aprenderá a configurar la flota para que, cuando la capacidad total de destino bajo demanda supere el número de reservas de capacidad sin utilizar disponibles, la flota utilice la estrategia de asignación especificada a fin de seleccionar los grupos de instancias en los que iniciará la capacidad de destino restante.

**Configuración de la flota de EC2**

En este tutorial, la flota está configurada de la siguiente manera:
+ Capacidad de destino: 10 instancias bajo demanda
+ Total de reservas de capacidad `targeted` sin utilizar: 6 (menos que la capacidad de destino bajo demanda de 10 instancias bajo demanda de la flota)
+ Número de grupos de reservas de capacidad: 2 (`us-east-1a` y `us-east-1b`)
+ Número de reservas de capacidad por grupo: 3
+ Estrategia de asignación bajo demanda: `lowest-price` (cuando el número de reservas de capacidad sin utilizar es menor que la capacidad de destino bajo demanda, la flota determina los grupos en los que iniciará la capacidad bajo demanda restante en función de la estrategia de asignación bajo demanda).

  Tenga en cuenta que también puede utilizar la estrategia de asignación `prioritized` en lugar de la `lowest-price`.

**Para iniciar instancias bajo demanda en reservas de capacidad `targeted`, debe realizar una serie de pasos, como se indica a continuación:**
+ [Paso 1: crear reservas de capacidad](#ec2-fleet-odcr-step1)
+ [Paso 2: crear un grupo de recursos de reserva de capacidad](#ec2-fleet-odcr-step2)
+ [Paso 3: agregar las reservas de capacidad al grupo de recursos de reserva de capacidad](#ec2-fleet-odcr-step3)
+ [(Opcional) Paso 4: ver las reservas de capacidad en el grupo de recursos](#ec2-fleet-odcr-step4)
+ [Paso 5: crear una plantilla de inicialización que especifique que la reserva de capacidad se dirige a un grupo de recursos específico](#ec2-fleet-odcr-step5)
+ [(Opcional) Paso 6: describir la plantilla de inicialización](#ec2-fleet-odcr-step6)
+ [Paso 7: crear una flota de EC2](#ec2-fleet-odcr-step7)
+ [(Opcional) Paso 8: ver el número de reservas de capacidad sin utilizar restantes](#ec2-fleet-odcr-step8)

## Paso 1: crear reservas de capacidad
<a name="ec2-fleet-odcr-step1"></a>

Utilice el comando [create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html) a fin de crear las reservas de capacidad, tres para `us-east-1a` y otras tres para `us-east-1b`. Excepto por la zona de disponibilidad, los demás atributos de las reservas de capacidad son idénticos.

**3 reservas de capacidad en `us-east-1a`**

```
aws ec2 create-capacity-reservation \
    --availability-zone us-east-1a \
    --instance-type c5.xlarge \
    --instance-platform Linux/UNIX \
    --instance-count 3 \
    --instance-match-criteria targeted
```

Ejemplo del ID de reserva de capacidad resultante

```
cr-1234567890abcdef1
```

**3 reservas de capacidad en `us-east-1b`**

```
aws ec2 create-capacity-reservation \
    --availability-zone us-east-1b \
    --instance-type c5.xlarge \
    --instance-platform Linux/UNIX \
    --instance-count 3 \
    --instance-match-criteria targeted
```

Ejemplo del ID de reserva de capacidad resultante

```
cr-54321abcdef567890
```

## Paso 2: crear un grupo de recursos de reserva de capacidad
<a name="ec2-fleet-odcr-step2"></a>

Utilice el servicio `resource-groups` y el comando [create-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/create-group.html) para crear un grupo de recursos de reserva de capacidad. En este ejemplo, el grupo de recursos se llama `my-cr-group`. Para obtener información sobre por qué debe crear un grupo de recursos, consulte [Utilice las reservas de capacidad para reservar capacidad bajo demanda en la flota de EC2](ec2-fleet-on-demand-capacity-reservations.md).

```
aws resource-groups create-group \
    --name my-cr-group \
    --configuration '{"Type":"AWS::EC2::CapacityReservationPool"}' '{"Type":"AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'
```

## Paso 3: agregar las reservas de capacidad al grupo de recursos de reserva de capacidad
<a name="ec2-fleet-odcr-step3"></a>

Utilice el servicio `resource-groups` y el comando [group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/group-resources.html) para agregar las reservas de capacidad que creó en el paso 1 al grupo de recursos de reserva de capacidad. Tenga en cuenta que debe hacer referencia a las reservas de capacidad bajo demanda por sus ARN.

```
aws resource-groups group-resources \
    --group my-cr-group \
    --resource-arns \
      arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1 \
      arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890
```

Ejemplo de resultado

```
{
   "Failed": [], 
   "Succeeded": [ 
   "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", 
   "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" 
   ] 
}
```

## (Opcional) Paso 4: ver las reservas de capacidad en el grupo de recursos
<a name="ec2-fleet-odcr-step4"></a>

Utilice el servicio `resource-groups` y el comando [list-group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/list-group-resources.html) para describir opcionalmente el grupo de recursos y ver sus reservas de capacidad.

```
aws resource-groups list-group-resources --group my-cr-group
```

Ejemplo de resultado

```
{
    "ResourceIdentifiers": [
        {
            "ResourceType": "AWS::EC2::CapacityReservation",
            "ResourceArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1"
        },
        {
            "ResourceType": "AWS::EC2::CapacityReservation",
            "ResourceArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
        }
    ]
}
```

## Paso 5: crear una plantilla de inicialización que especifique que la reserva de capacidad se dirige a un grupo de recursos específico
<a name="ec2-fleet-odcr-step5"></a>

Utilice el comando [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html) para crear una plantilla de inicialización en la que se especificarán las reservas de capacidad que se utilizarán. En este ejemplo, la flota utilizará reservas de capacidad `targeted`, que se han agregado a un grupo de recursos. Por lo tanto, los datos de la plantilla de inicialización especifican que la reserva de capacidad se dirige a un grupo de recursos específico. En este ejemplo, la plantilla de inicialización se llama `my-launch-template`. 

```
aws ec2 create-launch-template \
    --launch-template-name my-launch-template \
    --launch-template-data \
        '{"ImageId": "ami-0123456789example",
          "CapacityReservationSpecification": 
            {"CapacityReservationTarget": 
                { "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group" }
            }
        }'
```

## (Opcional) Paso 6: describir la plantilla de inicialización
<a name="ec2-fleet-odcr-step6"></a>

Utilice el comando [describe-launch-template-versions](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-launch-template-versions.html) para describir opcionalmente la plantilla de inicialización y ver su configuración.

```
aws ec2 describe-launch-template-versions --launch-template-name my-launch-template
```

Ejemplo de resultado

```
{
    "LaunchTemplateVersions": [
        {
            "LaunchTemplateId": "lt-01234567890example",
            "LaunchTemplateName": "my-launch-template",
            "VersionNumber": 1,
            "CreateTime": "2021-01-19T20:50:19.000Z",
            "CreatedBy": "arn:aws:iam::123456789012:user/Admin",
            "DefaultVersion": true,
            "LaunchTemplateData": {
                "ImageId": "ami-0947d2ba12ee1ff75",
                "CapacityReservationSpecification": {
                    "CapacityReservationTarget": {
                        "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group"
                    }
                }
            }
        }
    ]
}
```

## Paso 7: crear una flota de EC2
<a name="ec2-fleet-odcr-step7"></a>

Cree una flota de EC2 que especifique la información de configuración de las instancias que iniciará. La siguiente configuración de flota de EC2 solo muestra las configuraciones pertinentes para este ejemplo. La plantilla de inicialización `my-launch-template` es la plantilla de inicialización que creó en el paso 5. Hay dos grupos de instancias, cada uno con el mismo tipo de instancias (`c5.xlarge`), pero con diferentes zonas de disponibilidad (`us-east-1a` y `us-east-1b`). El precio de los grupos de instancias es el mismo porque los precios se definen para la región, no por zona de disponibilidad. La capacidad total de destino es de 10 y el tipo de capacidad de destino predeterminado es `on-demand`. La estrategia de asignación bajo demanda es `lowest-price`. La estrategia de uso para las reservas de capacidad es `use-capacity-reservations-first`.

**nota**  
El tipo de flota debe ser `instant`. Otros tipos de flotas no admiten `use-capacity-reservations-first`.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
               {
                   "InstanceType": "c5.xlarge",
                   "AvailabilityZone": "us-east-1a"
               },
               {
                    "InstanceType": "c5.xlarge",
                    "AvailabilityZone": "us-east-1b"
               }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 10,
        "DefaultTargetCapacityType": "on-demand"
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price",
        "CapacityReservationOptions": {
             "UsageStrategy": "use-capacity-reservations-first"
         }
    },
    "Type": "instant"
}
```

Después de crear la flota `instant` con la configuración anterior, se inician las siguientes 10 instancias para cumplir con la capacidad de destino:
+ Las reservas de capacidad se utilizan en primer lugar para iniciar 6 instancias bajo demanda de la siguiente manera:
  + 3 instancias bajo demanda se lanzan en las 3 reservas de capacidad `targeted` `c5.xlarge` en `us-east-1a`
  + 3 instancias bajo demanda se lanzan en las 3 reservas de capacidad `targeted` `c5.xlarge` en `us-east-1b`
+ Para alcanzar la capacidad de destino, se inician 4 instancias bajo demanda adicionales en la capacidad bajo demanda normal de acuerdo con la estrategia de asignación bajo demanda, que es `lowest-price` en este ejemplo. Sin embargo, dado que los grupos tienen el mismo precio (porque el precio es por región y no por zona de disponibilidad), la flota inicia las 4 instancias bajo demanda restantes en cualquiera de los grupos.

## (Opcional) Paso 8: ver el número de reservas de capacidad sin utilizar restantes
<a name="ec2-fleet-odcr-step8"></a>

Después de iniciar la flota, opcionalmente puede ejecutar [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) para ver cuántas reservas de capacidad sin utilizar quedan. En este ejemplo, debería ver la siguiente respuesta, que muestra que se utilizaron todas las reservas de capacidad de todos los grupos.

```
{ "CapacityReservationId":  "cr-111",
     "InstanceType":  "c5.xlarge",  
     "AvailableInstanceCount":  0
}

 { "CapacityReservationId":  "cr-222",
     "InstanceType":  "c5.xlarge", 
     "AvailableInstanceCount":  0
}
```

# Tutorial: Configuración de la flota de EC2 para lanzar instancias en bloques de capacidad
<a name="ec2-fleet-launch-instances-capacity-blocks-walkthrough"></a>

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

En la mayoría de los casos, 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 bloques de capacidad a la que se dirige. No se atenderán las solicitudes de capacidad de destino que superen los límites de la reserva de bloques de capacidad. Si la solicitud de capacidad de destino supera los límites de su reserva de bloques de capacidad, se mostrará una `Insufficient Capacity Exception` para la capacidad que supere los límites de su reserva de bloques de capacidad.

**nota**  
En el caso de bloques de capacidad, la flota de EC2 no recurrirá a la inicialización de instancias bajo demanda en el resto de la capacidad de destino deseada.

Si flota de EC2 no puede cumplir con la capacidad de destino solicitada en una reserva de bloques de capacidad disponible, la flota de EC2 ocupará toda la capacidad posible y devolverá las instancias que haya podido iniciar. Puede repetir la llamada a la flota de EC2 de nuevo hasta que se hayan aprovisionado todas las instancias.

Tras configurar la solicitud de la flota de EC2, debe esperar hasta la fecha de inicio de la reserva de bloques de capacidad. Si hace solicitudes a la flota de EC2 para iniciar un bloque de capacidad que aún no se ha iniciado, se mostrará un `Insufficient Capacity Error`.

Una vez que se active su reserva de bloques de capacidad, podrá hacer llamadas a la API de la flota de EC2 y aprovisionar las instancias en su bloque de capacidad en función de los parámetros que haya seleccionado. Las instancias que se ejecutan en el bloque de capacidad seguirán ejecutándose hasta que las detenga o termine de forma manual o hasta que Amazon EC2 termine las instancias cuando finalice la reserva de bloques de capacidad.

Para obtener más información acerca de los bloques de capacidad, consulte [bloques de capacidad para ML](ec2-capacity-blocks.md).

**Consideraciones**
+ Solo se admiten las solicitudes de la flota de EC2 de tipo `instant` para lanzar instancias en bloques de capacidad. Para obtener más información, consulte [Configuración de una flota de EC2 de tipo instant](instant-fleet.md).
+ No se admiten varios bloques de capacidad en la misma solicitud de la flota de EC2.
+ No se admite el uso de `OnDemandTargetCapacity` ni `SpotTargetCapacity` al mismo tiempo que el valor de `capacity-block` esté establecido en `DefaultTargetCapacity`.
+ Si el valor de `DefaultTargetCapacityType` está establecido en `capacity-block`, no puede proporcionar `OnDemandOptions::CapacityReservationOptions`. Se producirá una excepción.

**Configuración de su flota de EC2 para lanzar instancias en bloques de capacidad**

1. **Creación de una plantilla de inicialización.**

   En la plantilla de inicialización, haga lo siguiente:
   + En `InstanceMarketOptionsRequest`, establezca `MarketType` en `capacity-block`.
   + Para definir como destino la reserva de bloque de capacidad, en `CapacityReservationID`, especifique el ID de reserva del bloque de capacidad.

   Anote el nombre y la versión de la plantilla de inicialización. Usará esta información en el siguiente paso.

   Para obtener más información acerca de la creación de una plantilla de inicialización, consulte [Creación de una plantilla de inicialización de Amazon EC2](create-launch-template.md). 

1. **Configure la flota de EC2.**

   Cree un archivo, `config.json`, con la siguiente configuración para su flota de EC2. En el ejemplo siguiente, reemplace los identificadores de recursos por sus propios identificadores de recursos. 

   Para obtener más información acerca de la configuración de la flota de EC2, consulte [Crear una flota de EC2](create-ec2-fleet.md).

   ```
   { 
       "LaunchTemplateConfigs": [
           {
               "LaunchTemplateSpecification": {
                   "LaunchTemplateName": "CBR-launch-template", 
                   "Version": "1"
               }, 
               "Overrides": [
                   {
                       "InstanceType": "p5.48xlarge", 
                       "AvailabilityZone": "us-east-1a"   
                   },
               ]
           }
       ], 
       "TargetCapacitySpecification": {
           "TotalTargetCapacity": 10, 
           "DefaultTargetCapacityType": "capacity-block"
       },
       "Type": "instant"
   }
   ```

1. **Inicialización de la flota.**

   Utilice el siguiente comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

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

   Para obtener más información, consulte [Crear una flota de EC2](create-ec2-fleet.md#create-ec2-fleet-procedure).

# Tutorial: Configuración de la flota de EC2 para lanzar instancias en reservas de capacidad interrumpibles
<a name="ec2-fleet-launch-instances-interruptible-cr-walkthrough"></a>

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](interruptible-capacity-reservations.md).

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
<a name="ec2-fleet-interruptible-cr-considerations"></a>
+ 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
<a name="ec2-fleet-interruptible-cr-verify-permissions"></a>

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](ec2-fleet-prerequisites.md).

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

## Paso 1: crear una plantilla de inicialización
<a name="ec2-fleet-interruptible-cr-step1"></a>

Utilice el comando [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html) 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](create-launch-template.md).

## Paso 2: configure la flota de EC2.
<a name="ec2-fleet-interruptible-cr-step2"></a>

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
<a name="ec2-fleet-interruptible-cr-step3"></a>

Utilice el comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) 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](create-ec2-fleet.md).

## Limpieza
<a name="ec2-fleet-interruptible-cr-cleanup"></a>

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.

## Recursos relacionados
<a name="ec2-fleet-interruptible-cr-related-resources"></a>
+ [Reservas de capacidad interrumpible](interruptible-capacity-reservations.md)
+ [Cómo reservar capacidad de computación con las reservas de capacidad bajo demanda de EC2](ec2-capacity-reservations.md)
+ [Trabajar con la flota de EC2](manage-ec2-fleet.md)
+ [Crear una flota de EC2](create-ec2-fleet.md)
+ [Almacenamiento de parámetros de inicialización de instancias en plantillas de inicialización de Amazon EC2](ec2-launch-templates.md)