Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Utilícelo RequestSpotFleet
con un o AWS SDK CLI
En los siguientes ejemplos de código, se muestra cómo utilizar RequestSpotFleet
.
- CLI
-
- AWS CLI
-
Para solicitar una flota de Spot en la subred con el precio más bajo
Este comando de ejemplo crea una solicitud de flota puntual con dos especificaciones de lanzamiento que solo difieren según la subred. La flota de Spot lanza las instancias en la subred especificada con el precio más bajo. Si las instancias se lanzan de forma predeterminadaVPC, reciben una dirección IP pública de forma predeterminada. Si las instancias se lanzan de forma no predeterminadaVPC, no reciben una dirección IP pública de forma predeterminada.
Tenga en cuenta que no puede especificar subredes diferentes de la misma zona de disponibilidad en una solicitud de flota puntual.
Comando:
aws ec2 request-spot-fleet --spot-fleet-request-config
file://config.json
Config.json:
{ "SpotPrice": "0.04", "TargetCapacity": 2, "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "KeyName": "my-key-pair", "SecurityGroups": [ { "GroupId": "sg-1a2b3c4d" } ], "InstanceType": "m3.medium", "SubnetId": "subnet-1a2b3c4d, subnet-3c4d5e6f", "IamInstanceProfile": { "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" } } ] }
Salida:
{ "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" }
Para solicitar una flota puntual en la zona de disponibilidad con el precio más bajo
Este comando de ejemplo crea una solicitud de flota puntual con dos especificaciones de lanzamiento que solo difieren según la zona de disponibilidad. La flota de Spot lanza las instancias en la zona de disponibilidad especificada con el precio más bajo. Si su cuenta VPC solo admite EC2 -, Amazon EC2 lanza las instancias puntuales en la subred predeterminada de la zona de disponibilidad. Si tu cuenta admite EC2 -Classic, Amazon EC2 lanza las instancias en EC2 -Classic en la zona de disponibilidad.
Comando:
aws ec2 request-spot-fleet --spot-fleet-request-config
file://config.json
Config.json:
{ "SpotPrice": "0.04", "TargetCapacity": 2, "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-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" } } ] }
Para lanzar instancias puntuales en una subred y asignarles direcciones IP públicas
Este comando de ejemplo asigna direcciones públicas a las instancias lanzadas de forma no predeterminada. VPC Tenga en cuenta que al especificar una interfaz de red, debe incluir el ID de subred y el ID del grupo de seguridad mediante la interfaz de red.
Comando:
aws ec2 request-spot-fleet --spot-fleet-request-config
file://config.json
Config.json:
{ "SpotPrice": "0.04", "TargetCapacity": 2, "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", "LaunchSpecifications": [ { "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" } } ] }
Para solicitar una flota puntual mediante la estrategia de asignación diversificada
Este comando de ejemplo crea una solicitud de flota puntual que lanza 30 instancias mediante la estrategia de asignación diversificada. Las especificaciones de lanzamiento varían según el tipo de instancia. La flota de Spot distribuye las instancias entre las especificaciones de lanzamiento, de forma que hay 10 instancias de cada tipo.
Comando:
aws ec2 request-spot-fleet --spot-fleet-request-config
file://config.json
Config.json:
{ "SpotPrice": "0.70", "TargetCapacity": 30, "AllocationStrategy": "diversified", "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-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" } ] }
Para obtener más información, consulte Spot Fleet Requests en la Guía del usuario de Amazon Elastic Compute Cloud.
-
Para API obtener más información, consulte RequestSpotFleet
la Referencia de AWS CLI comandos.
-
- PowerShell
-
- Herramientas para PowerShell
-
Ejemplo 1: En este ejemplo, se crea una solicitud de flota puntual en la zona de disponibilidad con el precio más bajo para el tipo de instancia especificado. Si su cuenta VPC solo admite EC2 (), la flota de Spot lanza las instancias en la zona de disponibilidad más económica que tenga una subred predeterminada. Si su cuenta admite EC2 -Classic, la flota de Spot lanza las instancias en EC2 -Classic en la zona de disponibilidad con el precio más bajo. Tenga en cuenta que el precio que pague no superará el precio puntual especificado para la solicitud.
$sg = New-Object Amazon.EC2.Model.GroupIdentifier $sg.GroupId = "sg-12345678" $lc = New-Object Amazon.EC2.Model.SpotFleetLaunchSpecification $lc.ImageId = "ami-12345678" $lc.InstanceType = "m3.medium" $lc.SecurityGroups.Add($sg) Request-EC2SpotFleet -SpotFleetRequestConfig_SpotPrice 0.04 ` -SpotFleetRequestConfig_TargetCapacity 2 ` -SpotFleetRequestConfig_IamFleetRole arn:aws:iam::123456789012:role/my-spot-fleet-role ` -SpotFleetRequestConfig_LaunchSpecification $lc
-
Para API obtener más información, consulte RequestSpotFleetla referencia del AWS Tools for PowerShell cmdlet.
-