Ejemplos de configuraciones de CLI de flota de spot
Puede definir su configuración de flota de spot en un archivo JSON y, a continuación, hacer referencia a ese archivo mediante el comando de AWS CLI request-spot-fleet para crear su flota de la siguiente manera:
aws ec2 request-spot-fleet --spot-fleet-request-config file://
file_name.json
Los siguientes ejemplos ilustran las configuraciones de inicio para varios casos de uso de flota de spot. Para obtener más información acerca de los parámetros de configuración, consulte request-spot-fleet en la Referencia de comandos de la AWS CLI. Para obtener más información sobre la creación de una flota de spot, consulte Crear una flota de spot.
nota
En la flota de spot, no se puede indicar un ID de interfaz de red en una especificación de inicialización. No olvide omitir el parámetro NetworkInterfaceID
en la plantilla o especificación de inicialización.
Ejemplos
- Ejemplo 1: inicialización de instancias de spot con la zona de disponibilidad o subred de menor precio de la región
- Ejemplo 2: inicialización de instancias de spot con la zona de disponibilidad o subred de menor precio de una lista especificada
- Ejemplo 3: inicialización de instancias de spot con el tipo de instancia de menor precio de una lista especificada
- Ejemplo 4. Anulación del precio para la solicitud
- Ejemplo 5: inicialización de una flota de spot con la estrategia de asignación diversificada
- Ejemplo 6: inicialización de una flota de spot con ponderación de instancias
- Ejemplo 7: inicialización de una flota de spot con capacidad bajo demanda
- Ejemplo 8: configurar el reequilibrio de capacidad para lanzar el reemplazo Instancias de spot
- Ejemplo 9: lanzamiento de instancias de spot en una flota de capacidad optimizada
- Ejemplo 10: lanzamiento de instancias de spot en una flota de capacidad optimizada con prioridades
- Ejemplo 11: inicialización de instancias de spot en una flota priceCapacityOptimized
- Ejemplo 12: configuración de la selección de tipos de instancia basada en atributos
Ejemplo 1: inicialización de instancias de spot con la zona de disponibilidad o subred de menor precio de la región
En el siguiente ejemplo se describe una especificación de inicialización sin una zona de disponibilidad o una subred. La flota de spot inicia las instancias en la zona de disponibilidad de menor precio que tenga una subred predeterminada. El precio que paga no supera el precio bajo demanda.
{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "KeyName": "my-key-pair", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "m3.medium", "IamInstanceProfile": { "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" } } ] }
Ejemplo 2: inicialización de instancias de spot con la zona de disponibilidad o subred de menor precio de una lista especificada
En los siguientes ejemplos se describen dos especificaciones de inicialización con zonas de disponibilidad o subredes diferentes, pero el mismo tipo de instancia y AMI.
Zonas de disponibilidad
La flota de spot inicia las instancias en la subred predeterminada de la zona de disponibilidad de menor precio que ha especificado.
{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "KeyName": "my-key-pair", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "m3.medium", "Placement": { "AvailabilityZone": "
us-west-2a
,us-west-2b
" }, "IamInstanceProfile": { "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" } } ] }
Subredes
Puede especificar subredes predeterminadas o subredes no predeterminadas, y estas últimas pueden ser de una VPC predeterminada o de una VPC no predeterminada. El servicio de spot inicia las instancias en la subred que está en la zona de disponibilidad de menor precio.
No puede especificar diferentes subredes de la misma zona de disponibilidad en una solicitud de flota de spot.
{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "KeyName": "my-key-pair", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "m3.medium", "SubnetId": "
subnet-a61dafcf
,subnet-65ea5f08
", "IamInstanceProfile": { "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" } } ] }
Si las instancias se inician en una VPC predeterminada, reciben una dirección IPv4 pública de forma predeterminada. Si las instancias se inician en una VPC no predeterminada, no reciben una dirección IPv4 pública de forma predeterminada. Use una interfaz de red en la especificación de inicialización para asignar una dirección IPv4 pública a las instancias iniciadas en una VPC no predeterminada. Si especifica una interfaz de red, debe incluir el ID de subred y el ID de grupo de seguridad mediante la interfaz de red.
...
{ "ImageId": "ami-1a2b3c4d", "KeyName": "my-key-pair", "InstanceType": "m3.medium", "NetworkInterfaces": [ { "DeviceIndex": 0, "SubnetId": "subnet-1a2b3c4d", "Groups": [ "sg-1a2b3c4d" ], "AssociatePublicIpAddress": true } ], "IamInstanceProfile": { "Arn": "arn:aws:iam::880185128111:instance-profile/my-iam-role" } }...
Ejemplo 3: inicialización de instancias de spot con el tipo de instancia de menor precio de una lista especificada
En los siguientes ejemplos se describen dos configuraciones de inicialización con tipos de instancias diferentes, pero la misma AMI y zona de disponibilidad o subred. La flota de spot inicia las instancias mediante el tipo de instancia especificado con el menor precio.
Zona de disponibilidad
{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "
c5.4xlarge
", "Placement": { "AvailabilityZone": "us-west-2b" } }, { "ImageId": "ami-1a2b3c4d", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "r3.8xlarge
", "Placement": { "AvailabilityZone": "us-west-2b" } } ] }
Subred
{ "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "
c5.4xlarge
", "SubnetId": "subnet-1a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "r3.8xlarge
", "SubnetId": "subnet-1a2b3c4d" } ] }
Ejemplo 4. Anulación del precio para la solicitud
Le recomendamos usar el precio máximo predeterminado, que es el precio bajo demanda. Si lo prefiere, puede especificar un precio máximo para la solicitud de flota y precios máximos para las especificaciones de inicialización individuales.
En los siguientes ejemplos se especifica un precio máximo para la solicitud de flota y precios máximos para dos de las tres especificaciones de inicialización. El precio máximo para la solicitud de flota se usa para cualquier especificación de inicialización que no especifique un precio máximo. La flota de spot inicia las instancias mediante el tipo de instancia con el menor precio.
Zona de disponibilidad
{ "SpotPrice": "
1.00
", "TargetCapacity": 30, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, "SpotPrice": "0.10
" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.4xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, "SpotPrice": "0.20
" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.8xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] }
Subred
{ "SpotPrice": "
1.00
", "TargetCapacity": 30, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.2xlarge", "SubnetId": "subnet-1a2b3c4d", "SpotPrice": "0.10
" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.4xlarge", "SubnetId": "subnet-1a2b3c4d", "SpotPrice": "0.20
" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.8xlarge", "SubnetId": "subnet-1a2b3c4d" } ] }
Ejemplo 5: inicialización de una flota de spot con la estrategia de asignación diversificada
En el siguiente ejemplo se usa la estrategia de asignación diversified
. Las especificaciones de inicialización tienen tipos de instancias diferentes, pero la misma AMI y zona de disponibilidad o subred. La flota de spot distribuye las 30 instancias entre las tres especificaciones de inicialización, de forma que haya 10 instancias de cada tipo. Para obtener más información, consulte Utilice estrategias de asignación para determinar cómo la flota de EC2 o la flota de spot satisfacen la capacidad de spot y bajo demanda.
Zona de disponibilidad
{ "SpotPrice": "0.70", "TargetCapacity": 30, "AllocationStrategy": "
diversified
", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c4.2xlarge
", "Placement": { "AvailabilityZone": "us-west-2b" } }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "m3.2xlarge
", "Placement": { "AvailabilityZone": "us-west-2b" } }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge
", "Placement": { "AvailabilityZone": "us-west-2b" } } ] }
Subred
{ "SpotPrice": "0.70", "TargetCapacity": 30, "AllocationStrategy": "
diversified
", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c4.2xlarge
", "SubnetId": "subnet-1a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "m3.2xlarge
", "SubnetId": "subnet-1a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge
", "SubnetId": "subnet-1a2b3c4d" } ] }
Una práctica recomendada para aumentar la posibilidad de que una solicitud de spot se pueda satisfacer por la capacidad EC2 en caso de interrupción en una de las zonas de disponibilidad consiste en diversificar a través de zonas de disponibilidad. Para esta situación, incluya en la especificación de inicialización todas las zonas de disponibilidad que tenga a su disposición. Y, en lugar de utilizar la misma subred cada vez, utilice tres subredes únicas (cada una con mapeo a una zona de disponibilidad distinta).
Zona de disponibilidad
{ "SpotPrice": "0.70", "TargetCapacity": 30, "AllocationStrategy": "
diversified
", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c4.2xlarge
", "Placement": { "AvailabilityZone": "us-west-2a" } }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "m3.2xlarge
", "Placement": { "AvailabilityZone": "us-west-2b" } }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge
", "Placement": { "AvailabilityZone": "us-west-2c" } } ] }
Subred
{ "SpotPrice": "0.70", "TargetCapacity": 30, "AllocationStrategy": "
diversified
", "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "c4.2xlarge
", "SubnetId": "subnet-1a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "m3.2xlarge
", "SubnetId": "subnet-2a2b3c4d" }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge
", "SubnetId": "subnet-3a2b3c4d" } ] }
Ejemplo 6: inicialización de una flota de spot con ponderación de instancias
En los siguientes ejemplos se usa ponderación de instancias, que significa que el precio se determina por hora de unidad en lugar de por hora de instancia. Cada configuración de inicialización enumera un tipo de instancia y una ponderación diferentes. La flota de spot selecciona el tipo de instancia con el menor precio por hora de unidad. La flota de spot calcula el número de instancias de spot que debe iniciar mediante la división de la capacidad de destino por la ponderación de instancias. Si el resultado no es un entero, la flota de spot lo redondea al siguiente entero, de manera que el tamaño de la flota no esté por debajo de su capacidad de destino.
Si la solicitud de r3.2xlarge
se realiza con éxito, la spot aprovisiona 4 de estas instancias. Se divide 20 por 6 que da un total de 3,33 instancias, que se redondean a 4 instancias.
Si la solicitud de c3.xlarge
se realiza con éxito, la spot aprovisiona 7 de estas instancias. Se divide 20 por 3 que da un total de 6,66 instancias, que se redondean a 7 instancias.
Para obtener más información, consulte Utilice la ponderación de instancias para gestionar los costes y el rendimiento de la flota de EC2 o la flota de spot..
Zona de disponibilidad
{ "SpotPrice": "0.70", "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, "WeightedCapacity":
6
}, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, "WeightedCapacity":3
} ] }
Subred
{ "SpotPrice": "0.70", "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "SubnetId": "subnet-1a2b3c4d", "WeightedCapacity":
6
}, { "ImageId": "ami-1a2b3c4d", "InstanceType": "c3.xlarge", "SubnetId": "subnet-1a2b3c4d", "WeightedCapacity":3
} ] }
Ejemplo 7: inicialización de una flota de spot con capacidad bajo demanda
Para asegurarse de que dispone siempre de capacidad de instancias, puede incluir una solicitud de capacidad bajo demanda en la solicitud de flota de spot. Si hay capacidad, siempre se cumple la solicitud bajo demanda. El saldo de la capacidad de destino se cumple como spot si hay capacidad y disponibilidad.
En el siguiente ejemplo se especifica una capacidad de destino deseada de 10, de las que 5 unidades deben ser de capacidad bajo demanda. La capacidad de spot no se especifica; sino que está implícita en el saldo de la capacidad de destino menos la capacidad bajo demanda. Amazon EC2 inicia 5 unidades de capacidad como unidades bajo demanda y 5 unidades de capacidad (10 - 5 = 5) como unidades de spot si hay disponibilidad y capacidad de Amazon EC2 disponible.
{ "IamFleetRole": "arn:aws:iam::781603563322:role/aws-ec2-spot-fleet-tagging-role", "AllocationStrategy": "lowestPrice", "TargetCapacity": 10, "SpotPrice": null, "ValidFrom": "2018-04-04T15:58:13Z", "ValidUntil": "2019-04-04T15:58:13Z", "TerminateInstancesWithExpiration": true, "LaunchSpecifications": [], "Type": "maintain", "OnDemandTargetCapacity": 5, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0dbb04d4a6cca5ad1", "Version": "2" }, "Overrides": [ { "InstanceType": "t2.medium", "WeightedCapacity": 1, "SubnetId": "subnet-d0dc51fb" } ] } ] }
Ejemplo 8: configurar el reequilibrio de capacidad para lanzar el reemplazo Instancias de spot
En el siguiente ejemplo, se configura una flota de spot para iniciar una instancia de spot de reemplazo cuando Amazon EC2 emita 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 la inicialización de las nuevas instancias de spot de reemplazo hasta la eliminación automática de 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 tiempo tardarán en completarse los procedimientos de cierre de instancias. Esto garantiza que las instancias anteriores terminen solo después de que se hayan completado los procedimientos de cierre. 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 especificados en la solicitud flota de spot. Se recomienda configurar la flota con un conjunto diversificado de tipos de instancia y zonas de disponibilidad y, en AllocationStrategy
, especifique capacityOptimized
. Para obtener más información sobre lo que debe tener en cuenta al momento de configurar una flota de spot para el 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.
{ "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimized", "IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role", "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" } } ] } ], "TargetCapacity": 5, "SpotMaintenanceStrategies": { "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 cómo configurar una flota de spot con una estrategia de asignación de spot que optimiza la capacidad. Para optimizar la capacidad, debe establecer AllocationStrategy
en capacityOptimized
.
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 spot 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.
{ "TargetCapacity": "50", "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimized", }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "AvailabilityZone": "us-west-2a" }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-west-2b" }, { "InstanceType": "c5.2xlarge", "AvailabilityZone": "us-west-2b" } ] } ] }
Ejemplo 10: lanzamiento de instancias de spot en una flota de capacidad optimizada con prioridades
En el siguiente ejemplo se demuestra cómo configurar una flota de spot con una estrategia de asignación de spot que optimiza la capacidad mientras se utiliza la prioridad sobre la base del mejor esfuerzo.
Cuando se utiliza la estrategia de asignación capacityOptimizedPrioritized
, 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 capacityOptimizedPrioritized
. La flota de spot optimizará primero la capacidad, pero respetará las prioridades sobre la base del mejor esfuerzo (por ejemplo, si el respeto de las prioridades no afecta significativamente la capacidad de la flota de spot 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 spot 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.
{ "TargetCapacity": "50", "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimizedPrioritized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Priority": 1, "AvailabilityZone": "us-west-2a" }, { "InstanceType": "m4.2xlarge", "Priority": 2, "AvailabilityZone": "us-west-2b" }, { "InstanceType": "c5.2xlarge", "Priority": 3, "AvailabilityZone": "us-west-2b" } ] } ] }
Ejemplo 11: inicialización de instancias de spot en una flota priceCapacityOptimized
En el siguiente ejemplo, se muestra cómo configurar una flota de spot 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 priceCapacityOptimized
.
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 spot 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.
{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "OnDemandAllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111111111111:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0123456789example", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "AvailabilityZone": "us-west-2a" }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-west-2b" }, { "InstanceType": "c5.2xlarge", "AvailabilityZone": "us-west-2b" } ] } ], "TargetCapacity": 50, "Type": "request" } }
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 spot 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 instancias cuando la flota de spot 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.
{ "AllocationStrategy": "
priceCapacityOptimized
", "TargetCapacity":20
, "Type": "request
", "LaunchTemplateConfigs": [{ "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template
", "Version": "1
" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min":2
}, "MemoryMiB": { "Min":4
} } }] }] }