Utilizzare RequestSpotFleet con una CLI - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzare RequestSpotFleet con una CLI

Gli esempi di codice seguenti mostrano come utilizzare RequestSpotFleet.

CLI
AWS CLI

Come richiedere un parco istanze spot nella sottorete al prezzo più basso

Questo comando di esempio crea una richiesta di parco istanze spot con due specifiche di avvio che differiscono solo a livello di sottorete. Il parco istanze spot avvia le istanze nella sottorete specificata con il prezzo più basso. Se le istanze vengono avviate in un VPC predefinito, esse ricevono un indirizzo IP pubblico per impostazione predefinita. Se le istanze vengono avviate in un VPC non predefinito, non ricevono un indirizzo IP pubblico per impostazione predefinita.

Nota che in una richiesta di parco istanze spot non è possibile specificare sottoreti diverse nella stessa zona di disponibilità.

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" } } ] }

Output:

{ "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" }

Come richiedere un parco istanze spot nella zona di disponibilità al prezzo più basso

Questo comando di esempio crea una richiesta di parco istanze spot con due specifiche di avvio che differiscono solo a livello di zona di disponibilità. Il parco istanze spot avvia le istanze nella zona di disponibilità specificata con il prezzo più basso. Se il tuo account supporta solo EC2 -VPC, Amazon EC2 avvia le istanze Spot nella sottorete predefinita della zona di disponibilità. Se il tuo account supporta EC2 -Classic, Amazon EC2 avvia le istanze in EC2 -Classic nella zona di disponibilità.

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" } } ] }

Come avviare istanze spot in una sottorete e assegnare loro indirizzi IP pubblici

Questo comando di esempio assegna indirizzi pubblici alle istanze avviate in un VPC non predefinito. Nota che quando si specifica un’interfaccia di rete, bisogna includere l’ID della sottorete e l’ID del gruppo di sicurezza utilizzando l’interfaccia di rete.

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" } } ] }

Come richiedere un parco istanze spot utilizzando la strategia di allocazione diversificata

Questo comando di esempio crea una richiesta di parco istanze spot che avvia 30 istanze utilizzando la strategia di allocazione diversificata. Le specifiche di avvio differiscono in base al tipo di istanza. Il parco istanze spot distribuisce le istanze tra le specifiche di avvio, in modo che ci siano 10 istanze di ogni 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" } ] }

Per ulteriori informazioni, consulta Richieste di parchi istanze spot nella Guida per l’utente di Amazon Elastic Compute Cloud.

PowerShell
Strumenti per PowerShell V4

Esempio 1: questo esempio crea una richiesta del parco istanze spot nella zona di disponibilità con il prezzo più basso per il tipo di istanza specificato. Se il tuo account supporta solo EC2 -VPC, il parco istanze Spot avvia le istanze nella zona di disponibilità più economica con una sottorete predefinita. Se il tuo account supporta EC2 -Classic, il parco istanze Spot avvia le istanze in -Classic nella zona di disponibilità più economica. EC2 Nota che il prezzo da pagare non supererà il prezzo spot specificato per la richiesta.

$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
  • Per i dettagli sull'API, vedere in Cmdlet Reference (V4). RequestSpotFleetAWS Strumenti per PowerShell

Strumenti per V5 PowerShell

Esempio 1: questo esempio crea una richiesta del parco istanze spot nella zona di disponibilità con il prezzo più basso per il tipo di istanza specificato. Se il tuo account supporta solo EC2 -VPC, il parco istanze Spot avvia le istanze nella zona di disponibilità più economica con una sottorete predefinita. Se il tuo account supporta EC2 -Classic, il parco istanze Spot avvia le istanze in -Classic nella zona di disponibilità più economica. EC2 Nota che il prezzo da pagare non supererà il prezzo spot specificato per la richiesta.

$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
  • Per i dettagli sull'API, vedere in Cmdlet Reference (V5). RequestSpotFleetAWS Strumenti per PowerShell

Per un elenco completo delle guide per sviluppatori AWS SDK e degli esempi di codice, consulta. Crea EC2 risorse Amazon utilizzando un AWS SDK Questo argomento include anche informazioni su come iniziare e dettagli sulle versioni precedenti dell’SDK.