Sono disponibili altri esempi AWS SDK nel repository AWS Doc SDK
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
-
Per richiedere una flotta Spot nella sottorete al prezzo più basso
Questo comando di esempio crea una richiesta di flotta Spot con due specifiche di lancio che differiscono solo in base alla sottorete. La flotta Spot avvia le istanze nella sottorete specificata al prezzo più basso. Se le istanze vengono avviate in un VPC predefinito, ricevono per impostazione predefinita un indirizzo IP pubblico. Se le istanze vengono avviate in un VPC non predefinito, non ricevono un indirizzo IP pubblico per impostazione predefinita.
Tieni presente che non puoi specificare sottoreti diverse dalla stessa zona di disponibilità in una richiesta di flotta Spot.
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" }
Per richiedere una flotta Spot nella zona di disponibilità al prezzo più basso
Questo comando di esempio crea una richiesta di flotta Spot con due specifiche di lancio che differiscono solo in base alla zona di disponibilità. La flotta Spot avvia le istanze nella zona di disponibilità specificata al 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" } } ] }
Per 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. Si noti che quando si specifica un'interfaccia di rete, è necessario includere l'ID di 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" } } ] }
Per richiedere una flotta Spot utilizzando la strategia di allocazione diversificata
Questo comando di esempio crea una richiesta di flotta Spot che avvia 30 istanze utilizzando la strategia di allocazione diversificata. Le specifiche di lancio variano in base al tipo di istanza. Il parco istanze Spot distribuisce le istanze tra le specifiche di lancio, in modo che vi siano 10 istanze per 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 Spot Fleet Requests nella Amazon Elastic Compute Cloud User Guide.
-
Per i dettagli sull'API, consulta RequestSpotFleet AWS CLI
Command Reference.
-
- PowerShell
-
- Strumenti per PowerShell
-
Esempio 1: questo esempio crea una richiesta di flotta 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 Tieni presente 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 RequestSpotFleetin AWS Strumenti per PowerShell Cmdlet Reference.
-