Puede definir la configuración de la flota de EC2 en un archivo JSON y, a continuación, hacer referencia a ese archivo con el comando create-fleet
aws ec2 create-fleet --cli-input-json file://
file_name.json
Los siguientes ejemplos ilustran las configuraciones de inicio para varios casos de uso de la flota de EC2. Para obtener más información acerca de los parámetros de configuración, consulte create-fleet
Ejemplos
Ejemplo 1: inicialización de instancias de spot como opción de compra predeterminada
Ejemplo 2: inicialización de instancias bajo demanda como opción de compra predeterminada
Ejemplo 3: inicialización de instancias bajo demanda como opción de capacidad principal
Ejemplo 4: inicialización de instancias bajo demanda con varias reservas de capacidad
Ejemplo 6: inicialización de instancias bajo demanda con reservas de capacidad específicas
Ejemplo 7: configuración del reequilibrio de capacidad para iniciar instancias de spot de reemplazo
Ejemplo 8: inicialización de instancias de spot en una flota de capacidad optimizada
Ejemplo 9: lanzamiento de instancias de spot en una flota de capacidad optimizada con prioridades
Ejemplo 10: inicialización de instancias de spot en una flota price-capacity-optimized
Ejemplo 11: configuración de la selección de tipos de instancias basada en atributos
Para obtener más ejemplos de CLI para flotas de tipoinstant
, consulte Configuración de una flota de EC2 de tipo instant.
Ejemplo 1: inicialización 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 inicialización 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: inicialización 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: inicialización 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 inicia 1 instancia a petición según lo especificado, pero ha de iniciar 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: inicialización de 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
ym4.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 iniciará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 lalowest-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
con la configuración anterior, se inician las siguientes 12 instancias para cumplir con la capacidad de destino:
-
5 instancias bajo demanda
m5.large
enus-east-1a
:m5.large
enus-east-1a
es el precio más bajo y hay 5 reservas de capacidadm5.large
sin utilizar disponibles -
5 instancias bajo demanda
m4.xlarge
en us-east-1a:m4.xlarge
enus-east-1a
es el siguiente precio más bajo y hay 5 reservas de capacidadm4.xlarge
sin utilizar disponibles -
2 instancias bajo demanda
m4.2xlarge
en us-east-1a:m4.2xlarge
enus-east-1a
es el tercer precio más bajo y hay 5 reservas de capacidadm4.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-reservationsm5.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 5: inicialización de instancias bajo demanda con reservas de capacidad cuando la capacidad total de destino supera el 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 iniciará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
ym4.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 lalowest-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
con la configuración anterior, se inician las siguientes 16 instancias para satisfacer la capacidad de destino:
-
6 instancias bajo demanda
m5.large
enus-east-1a
:m5.large
enus-east-1a
es el precio más bajo y hay 5 reservas de capacidadm5.large
sin utilizar disponibles. Las reservas de capacidad se utilizan en primer lugar para iniciar 5 instancias bajo demanda. Luego de que se utilicen las reservas de capacidadm4.xlarge
ym4.2xlarge
restantes, se inicia una instancia bajo demanda adicional de acuerdo con la estrategia de asignación bajo demanda, que eslowest-price
en este ejemplo, para alcanzar la capacidad de destino. -
5 instancias bajo demanda
m4.xlarge
enus-east-1a
:m4.xlarge
enus-east-1a
es el siguiente precio más bajo y hay 5 reservas de capacidadm4.xlarge
sin utilizar disponibles -
5 instancias bajo demanda
m4.2xlarge
enus-east-1a
:m4.2xlarge
enus-east-1a
es el tercer precio más bajo y hay 5 reservas de capacidadm4.2xlarge
sin utilizar disponibles
Después de lanzar la flota, puede ejecutar describe-capacity-reservations
{
"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 6: inicialización 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 iniciar 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 iniciar 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 iniciará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
yus-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 lalowest-price
.
Para obtener una explicación de los procedimientos que debe realizar para llevar a cabo este ejemplo, consulte Tutorial: Configuración de la flota de EC2 para lanzar 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 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
enus-east-1a
-
3 instancias bajo demanda se lanzan en las 3 reservas de capacidad
targeted
c5.xlarge
enus-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 lanza las 4 instancias bajo demanda restantes en cualquiera de los grupos.
Después de lanzar la flota, puede ejecutar describe-capacity-reservations
{
"CapacityReservationId": "cr-111",
"InstanceType": "c5.xlarge",
"AvailableInstanceCount": 0
}
{
"CapacityReservationId": "cr-222",
"InstanceType": "c5.xlarge",
"AvailableInstanceCount": 0
}
Ejemplo 7: configuración del reequilibrio de capacidad para iniciar instancias de spot de reemplazo
En el siguiente ejemplo, se configura la flota de EC2 para iniciar 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, en ReplacementStrategy
especifique launch-before-terminate
. Para configurar el retraso de tiempo desde que se inician 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, en AllocationStrategy
, especifique 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 Utilice el reequilibrio de capacidad en la flota de EC2 y la flota de spot para reemplazar las instancias de spot en riesgo.
{
"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 8: inicialización 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 inicialización determinan tres grupos de capacidad de spot. La capacidad de destino es de 50 instancias de spot. La flota de EC2 intenta iniciar 50 instancias de spot en el grupo de capacidad de spot con capacidad óptima para el número de instancias que va a iniciar.
{ "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 9: 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 iniciar 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 10: inicialización 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 inicialización determinan tres grupos de capacidad de spot. La capacidad de destino es de 50 instancias de spot. La flota de EC2 intenta iniciar 50 instancias de spot en el grupo de capacidad de spot con capacidad óptima para la cantidad de instancias que se van a iniciar 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 11: configuración de la selección de tipos de instancias 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": "" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min":
1
2
}, "MemoryMiB": { "Min":4
} } }] }], "TargetCapacitySpecification": { "TotalTargetCapacity":20
, "DefaultTargetCapacityType": "spot
" }, "Type": "instant
" }