Configuraciones de ejemplo de flota de EC2 - Amazon Elastic Compute Cloud

Configuraciones de ejemplo de flota de EC2

En los siguientes ejemplos, se muestran configuraciones de lanzamiento que puede utilizar con el comando create-fleet para crear una flota de EC2. Para obtener más información acerca de los parámetros, consulte create-fleet en la Referencia de comandos de la AWS CLI.

Ejemplo 1: Lanzamiento de Instancias de spot como opción de compra predeterminada

En el ejemplo siguiente se especifican los parámetros mínimos que se requieren en una flota de EC2: una plantilla de lanzamiento, la capacidad de destino y la opción de compra predeterminada. La plantilla de lanzamiento se identifica mediante su ID y número de versión. La capacidad de destino de la flota es de dos instancias y la opción de compra predeterminado es spot, lo que da lugar a que la flota lance dos Instancias de spot.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "spot" } }

Ejemplo 2: Lanzamiento de Instancias bajo demanda como opción de compra predeterminada

En el ejemplo siguiente se especifican los parámetros mínimos que se requieren en una flota de EC2: una plantilla de lanzamiento, la capacidad de destino y la opción de compra predeterminada. La plantilla de lanzamiento se identifica mediante su ID y número de versión. La capacidad de destino de la flota es de dos instancias y la opción de compra predeterminado es on-demand, lo que da lugar a que la flota lance dos Instancias bajo demanda.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "on-demand" } }

Ejemplo 3: Lanzamiento de Instancias bajo demanda como opción de capacidad principal

En el siguiente ejemplo se especifica una capacidad de destino total de 2 instancias para la flota y una capacidad de destino de 1 instancia a petición. La opción de compra predeterminada es spot. La flota lanza 1 instancia a petición según lo especificado, pero ha de lanzar otra instancia más para cubrir la capacidad de destino total. La opción de compra aplicada a la diferencia se calcula de la siguiente manera: TotalTargetCapacity – OnDemandTargetCapacity = DefaultTargetCapacityType, lo que da lugar a que la flota lance una instancia de spot.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "OnDemandTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } }

Ejemplo 4: Lanzamiento de Instancias de spot con la estrategia de asignación lowest-price

Si la estrategia de asignación de Instancias de spot no se especifica, se usa la estrategia predeterminada, que es lowest-price. En el siguiente ejemplo se usa la estrategia de asignación lowest-price. Las tres especificaciones de lanzamiento, que invalidan la plantilla de lanzamiento, tienen tipos de instancias diferentes, pero las mismas capacidad ponderada y subred. La capacidad de destino total es de dos instancias y la opción de compra predeterminada es spot. La flota de EC2 lanza 2 Instancias de spot empleando el tipo de instancia indicado en la especificación de lanzamiento que tiene el precio más bajo.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" }, { "InstanceType": "c3.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" }, { "InstanceType": "c5.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "spot" } }

Ejemplo 5: lanzar instancias bajo demanda con varias reservas de capacidad

Puede configurar una flota para usar Reservas de capacidad bajo demanda primero al lanzar Instancias bajo demanda estableciendo la estrategia de uso para Reservas de capacidad en use-capacity-reservations-first. En este ejemplo se muestra cómo la flota selecciona las reservas de capacidad que se utilizarán cuando hay más reservas de capacidad de las que se necesitan para cumplir con la capacidad de destino.

En este ejemplo, la configuración de flota es la siguiente:

  • Capacidad de destino: 12 instancias bajo demanda

  • Total de reservas de capacidad sin utilizar: 15 (más que la capacidad de destino de 12 instancias bajo demanda de la flota)

  • Número de grupos de reservas de capacidad: 3 (m5.large, m4.xlarge y m4.2xlarge)

  • Número de reservas de capacidad por grupo: 5

  • Estrategia de asignación bajo demanda: lowest-price (cuando hay varias reservas de capacidad sin utilizar en varios grupos de instancias, la flota determina los grupos en los que se lanzarán las instancias bajo demanda 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.

Reservas de capacidad

La cuenta tiene las siguientes 15 reservas de capacidad sin utilizar en 3 grupos diferentes. El número de Reservas de capacidad en cada grupo se indica por AvailableInstanceCount.

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

Configuración de flota

La siguiente configuración de flota solo muestra las configuraciones pertinentes para este ejemplo. La capacidad total de destino es 12 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.

En este ejemplo, el precio de instancia bajo demanda es:

  • m5.large: 0,096 USD por hora

  • m4.xlarge: 0,20 USD por hora

  • m4.2xlarge: 0,40 USD por hora

nota

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

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-abc1234567example", "Version": "1" } "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 12, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

Después de crear la flota instant utilizando la configuración anterior, se lanzan las siguientes 12 instancias para cumplir con la capacidad de destino:

  • 5 instancias bajo demanda m5.large en us-east-1a: m5.large en us-east-1a es el precio más bajo y hay 5 reservas de capacidad m5.large sin utilizar disponibles

  • 5 instancias bajo demanda m4.xlarge en us-east-1a: m4.xlarge en us-east-1a es el siguiente precio más bajo y hay 5 reservas de capacidad m4.xlarge sin utilizar disponibles

  • 2 instancias bajo demanda m4.2xlarge en us-east-1a: m4.2xlarge en us-east-1a es el tercer precio más bajo y hay 5 reservas de capacidad m4.2xlarge sin utilizar disponibles, de las cuales solo 2 son necesarias para satisfacer la capacidad de destino

Después de lanzar la flota, puede ejecutar describe-capacity-reservations 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 m5.large y m4.xlarge, y quedan 3 reservas de capacidad m4.2xlarge sin utilizar.

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 3 }

Ejemplo 6: lanzamiento de instancias bajo demanda con reservas de capacidad cuando la capacidad total de destino sea superior al número de reservas de capacidad sin utilizar

Puede configurar una flota para usar Reservas de capacidad bajo demanda primero al lanzar Instancias bajo demanda estableciendo la estrategia de uso para Reservas de capacidad en use-capacity-reservations-first. En este ejemplo se muestra cómo la flota selecciona los grupos de instancias en los que se lanzarán las instancias bajo demanda cuando la capacidad total de destino supera el número de reservas de capacidad sin utilizar disponibles.

En este ejemplo, la configuración de flota es la siguiente:

  • Capacidad de destino: 16 instancias bajo demanda

  • Total de reservas de capacidad sin utilizar: 15 (menos que la capacidad de destino de 16 instancias bajo demanda de la flota)

  • Número de grupos de reservas de capacidad: 3 (m5.large, m4.xlarge y m4.2xlarge)

  • Número de reservas de capacidad por grupo: 5

  • 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 lanzará 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.

Reservas de capacidad

La cuenta tiene las siguientes 15 reservas de capacidad sin utilizar en 3 grupos diferentes. El número de Reservas de capacidad en cada grupo se indica por AvailableInstanceCount.

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

Configuración de flota

La siguiente configuración de flota solo muestra las configuraciones pertinentes para este ejemplo. La capacidad total de destino es 16 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.

En este ejemplo, el precio de instancia bajo demanda es:

  • m5.large – 0,096 USD por hora

  • m4.xlarge – 0,20 USD por hora

  • m4.2xlarge: 0,40 USD por hora

nota

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

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 16, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

Después de crear la flota instant utilizando la configuración anterior, se lanzan las siguientes 16 instancias para satisfacer la capacidad de destino:

  • 6 instancias bajo demanda m5.large en us-east-1a: m5.large en us-east-1a es el precio más bajo y hay 5 reservas de capacidad m5.large sin utilizar disponibles. Las reservas de capacidad se utilizan en primer lugar para lanzar 5 instancias bajo demanda. Luego de que se utilicen las reservas de capacidad m4.xlarge y m4.2xlarge restantes, se lanza una instancia bajo demanda adicional de acuerdo con la estrategia de asignación bajo demanda, que es lowest-price en este ejemplo, para alcanzar la capacidad de destino.

  • 5 instancias bajo demanda m4.xlarge en us-east-1a: m4.xlarge en us-east-1a es el siguiente precio más bajo y hay 5 reservas de capacidad m4.xlarge sin utilizar disponibles

  • 5 instancias bajo demanda m4.2xlarge en us-east-1a: m4.2xlarge en us-east-1a es el tercer precio más bajo y hay 5 reservas de capacidad m4.2xlarge sin utilizar disponibles

Después de lanzar la flota, puede ejecutar describe-capacity-reservations 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": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 0 }

Ejemplo 7: lanzamiento de instancias bajo demanda con reservas de capacidad específicas

Puede configurar una flota a fin de que utilice primero reservas de capacidad bajo demanda targeted al lanzar instancias bajo demanda al establecer la estrategia de uso para las reservas de capacidad en use-capacity-reservations-first. En este ejemplo se muestra cómo lanzar instancias bajo demanda en reservas de capacidad targeted, donde los atributos de las reservas de capacidad son los mismos, excepto por sus zonas de disponibilidad (us-east-1a y us-east-1b). También se muestra cómo la flota selecciona los grupos de instancias en los que se lanzarán las instancias bajo demanda cuando la capacidad total de destino supera el número de reservas de capacidad sin utilizar disponibles.

En este ejemplo, la configuración de flota es la siguiente:

  • 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 lanzará 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 obtener una explicación de los procedimientos que debe realizar para llevar a cabo este ejemplo, consulte Tutorial: Lanzamiento de instancias bajo demanda con reservas de capacidad específicas.

Reservas de capacidad

La cuenta tiene las siguientes 6 reservas de capacidad sin utilizar en 2 grupos diferentes. En este ejemplo, los grupos difieren en las zonas de disponibilidad. El número de Reservas de capacidad en cada grupo se indica por AvailableInstanceCount.

{ "CapacityReservationId": "cr-111", "InstanceType": "c5.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "c5.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1b", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" }

Configuración de flota

La siguiente configuración de flota solo muestra las configuraciones pertinentes para este ejemplo. 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.

En este ejemplo, el precio de la instancia bajo demanda para c5.xlarge en us-east-1 es 0,17 USD por hora.

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 lanzan las siguientes 10 instancias para cumplir con la capacidad de destino:

  • Las reservas de capacidad se utilizan en primer lugar para lanzar 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 lanzan 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 lanza las 4 instancias bajo demanda restantes en cualquiera de los grupos.

Después de lanzar la flota, puede ejecutar describe-capacity-reservations 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 }

Ejemplo 8: configurar el reequilibrio de capacidad para lanzar instancias de spot de reemplazo

En el siguiente ejemplo, se configura la flota de EC2 para lanzar una instancia de spot de reemplazo cuando Amazon EC2 emite una recomendación de reequilibrio para una instancia de spot en su flota. Para configurar el reemplazo automático de Instancias de spot para ReplacementStrategy, especifique launch-before-terminate. Para configurar el retraso de tiempo desde que se lanzan las nuevas instancias de spot de reemplazo hasta que se eliminan automáticamente las instancias de spot anteriores, especifique en termination-delay un valor en segundos. Para obtener más información, consulte Opciones de configuración.

nota

Recomendamos utilizar launch-before-terminate solo si puede predecir cuánto tardarán en completarse los procedimientos de cierre de instancias, de modo que las instancias anteriores solo terminen una vez que se hayan completado estos procedimientos. Se cobrará por todas las instancias mientras se ejecutan.

La efectividad de la estrategia de reequilibrio de capacidad depende del número de grupos de capacidades de spot especificadas en la solicitud de flota de EC2. Se recomienda configurar la flota con un conjunto diversificado de tipos de instancia y zonas de disponibilidad y para AllocationStrategyespecificar capacity-optimized. Para obtener más información acerca de lo que debe tener en cuenta al configurar una flota de EC2 para reequilibrio de la capacidad, consulte Reequilibrio de la capacidad.

{ "ExcessCapacityTerminationPolicy": "termination", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "LaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceType": "c3.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } }, { "InstanceType": "c4.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } }, { "InstanceType": "c5.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 5, "DefaultTargetCapacityType": "spot" }, "SpotOptions": { "AllocationStrategy": "capacity-optimized", "MaintenanceStrategies": { "CapacityRebalance": { "ReplacementStrategy": "launch-before-terminate", "TerminationDelay": "720" } } } }

Ejemplo 9: lanzamiento de instancias de spot en una flota de capacidad optimizada

En el siguiente ejemplo se demuestra el modo de configurar una flota de EC2 con una estrategia de asignación de spot que optimiza la capacidad. Para optimizar la capacidad, debe establecer AllocationStrategy en capacity-optimized.

En el siguiente ejemplo, las tres especificaciones de lanzamiento determinan tres grupos de capacidad de spot. La capacidad de destino es de 50 instancias de spot. La flota de EC2 intenta lanzar 50 instancias de spot en el grupo de capacidad de spot con capacidad óptima para el número de instancias que va a lanzar.

{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2a" }, }, { "InstanceType": "m4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, }, { "InstanceType": "c5.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 50, "DefaultTargetCapacityType": "spot" } }

Ejemplo 10: lanzamiento de instancias de spot en una flota de capacidad optimizada con prioridades

En el siguiente ejemplo se demuestra el modo de configurar una flota de EC2 con una estrategia de asignación de spot que optimiza la capacidad mientras utiliza la prioridad sobre la base del mejor esfuerzo.

Cuando se utiliza la estrategia de asignación capacity-optimized-prioritized, puede utilizar el parámetro Priority para especificar las prioridades de los grupos de capacidad de spot, donde cuanto menor es el número, mayor es la prioridad. También puede establecer la misma prioridad para varios grupos de capacidad de spot si los prefiere por igual. Si no establece una prioridad para un grupo, este se considerará último en términos de prioridad.

Para priorizar los grupos de capacidad de spot, debe establecer AllocationStrategy en capacity-optimized-prioritized. La flota de EC2 optimizará la capacidad en primer lugar, pero respetará las prioridades sobre la base del mejor esfuerzo (por ejemplo, si respetar las prioridades no afecta significativamente la capacidad de la flota de EC2 para aprovisionar capacidad óptima). Esta es una buena opción para cargas de trabajo en las que se debe minimizar la posibilidad de interrupción y también importa la preferencia por ciertos tipos de instancias.

En el siguiente ejemplo, las tres especificaciones de lanzamiento determinan tres grupos de capacidad de spot. Cada grupo se prioriza, de manera que cuanto menor sea el número, mayor es la prioridad. La capacidad de destino es de 50 instancias de spot. La flota de EC2 intenta lanzar 50 instancias de spot en el grupo de capacidad de spot con la máxima prioridad sobre la base del mejor esfuerzo, pero optimiza primero la capacidad.

{ "SpotOptions": { "AllocationStrategy": "capacity-optimized-prioritized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Priority": 1, "Placement": { "AvailabilityZone": "us-west-2a" }, }, { "InstanceType": "m4.2xlarge", "Priority": 2, "Placement": { "AvailabilityZone": "us-west-2b" }, }, { "InstanceType": "c5.2xlarge", "Priority": 3, "Placement": { "AvailabilityZone": "us-west-2b" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 50, "DefaultTargetCapacityType": "spot" }

Ejemplo 11: lanzamiento de instancias de spot en una flota price-capacity-optimized

En el siguiente ejemplo, se muestra cómo configurar una flota de EC2 con una estrategia de asignación de spot que optimiza tanto para la capacidad como para el precio más bajo. Para optimizar la capacidad, además de tener en cuenta el precio, debe establecer el elemento AllocationStrategy de spot en price-capacity-optimized.

En el siguiente ejemplo, las tres especificaciones de lanzamiento determinan tres grupos de capacidad de spot. La capacidad de destino es de 50 instancias de spot. La flota de EC2 intenta lanzar 50 instancias de spot en el grupo de capacidad de spot con capacidad óptima para la cantidad de instancias que se van a lanzar y, al mismo tiempo, elegir el grupo que tenga el precio más bajo.

{ "SpotOptions": { "AllocationStrategy": "price-capacity-optimized", "MinTargetCapacity": 2, "SingleInstanceType": true }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2a" }, }, { "InstanceType": "m4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, }, { "InstanceType": "c5.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 50, "OnDemandTargetCapacity":0, "SpotTargetCapacity":50, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }

Ejemplo 12: configuración de la selección de tipos de instancia basada en atributos

En el siguiente ejemplo, se muestra cómo configurar una flota de EC2 para utilizar la selección de tipos de instancia basada en atributos para identificar los tipos de instancia. Para especificar los atributos de instancia necesarios, especifique los atributos en la estructura de InstanceRequirements.

En el siguiente ejemplo, se especifican dos atributos de instancia:

  • VCpuCount: se especifica un mínimo de 2 vCPU. Como no se especifica ningún máximo, no hay ningún límite máximo.

  • MemoryMiB: se especifica un mínimo de 4 MiB de memoria. Como no se especifica ningún máximo, no hay ningún límite máximo.

Se identificarán los tipos de instancia que tengan 2 o más vCPU y 4 MiB o más de memoria. Sin embargo, la protección de precios y la estrategia de asignación pueden excluir algunos tipos de instancia cuando la flota de EC2 aprovisiona la flota.

Para obtener una lista y descripciones de todos los atributos posibles que se pueden especificar, consulte InstanceRequirements en la Referencia de la API de Amazon EC2.

{ "SpotOptions": { "AllocationStrategy": "price-capacity-optimized" }, "LaunchTemplateConfigs": [{ "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min": 2 }, "MemoryMiB": { "Min": 4 } } }] }], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }