Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs
Verwendung von RequestSpotFleet mit einer CLI
Die folgenden Code-Beispiele zeigen, wie RequestSpotFleet verwendet wird.
- CLI
-
- AWS CLI
-
So fordern Sie eine Spot-Flotte im Subnetz mit dem niedrigsten Preis an
Dieser Beispielbefehl erstellt eine Spot-Flottenanforderung mit zwei Startspezifikationen, die sich nur im Hinblick auf das Subnetz unterscheiden. Die Spot-Flotte startet die Instances im angegebenen Subnetz mit dem niedrigsten Preis. Wenn die Instances in einer Standard-VPC gestartet werden, erhalten sie standardmäßig eine öffentliche IP-Adresse. Wenn die Instances in einer nicht standardmäßigen VPC gestartet werden, erhalten sie keine öffentliche Adresse.
Beachten Sie, dass Sie in einer Spot-Flotten-Anforderung nicht verschiedene Subnetze in derselben Availability Zone angeben können.
Befehl:
aws ec2 request-spot-fleet --spot-fleet-request-configfile://config.jsonConfig.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" } } ] }Ausgabe:
{ "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" }So fordern Sie eine Spot-Flotte in der Availability Zone mit dem niedrigsten Preis an
Dieser Beispielbefehl erstellt eine Spot-Flottenanforderung mit zwei Startspezifikationen, die sich nur im Hinblick auf die Availability Zone unterscheiden. Die Spot-Flotte startet die Instances in der angegebenen Availability Zone mit dem niedrigsten Preis. Wenn Ihr Konto nur EC2-VPC unterstützt, startet Amazon EC2 die Spot Instances im Standard-Subnetz der Availability Zone. Wenn Ihr Konto EC2-Classic unterstützt, startet Amazon EC2 die Instances in EC2-Classic in der Availability Zone.
Befehl:
aws ec2 request-spot-fleet --spot-fleet-request-configfile://config.jsonConfig.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" } } ] }So starten Sie Spot Instances in einem Subnetz und weisen ihnen öffentliche IP-Adressen zu
Mit diesem Beispielbefehl werden Instances, die in einer nicht standardmäßigen VPC gestartet werden, öffentliche Adressen zugewiesen. Beachten Sie, dass Sie bei Angabe einer Netzwerkschnittstelle die Subnetz-ID und die Sicherheitsgruppen-ID mithilfe der Netzwerkschnittstelle angeben müssen.
Befehl:
aws ec2 request-spot-fleet --spot-fleet-request-configfile://config.jsonConfig.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" } } ] }So fordern eine Spot-Flotte anhand der diversifizierten Zuweisungsstrategie an
Dieser Beispielbefehl erstellt eine Spot-Flottenanforderung, die 30 Instances unter Verwendung der diversifizierten Zuweisungsstrategie startet. Die Startspezifikationen unterscheiden sich je nach Instance-Typ. Die Spot-Flotte verteilt die Instances auf die Startspezifikationen, sodass 10 Instances von jedem Typ vorhanden sind.
Befehl:
aws ec2 request-spot-fleet --spot-fleet-request-configfile://config.jsonConfig.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" } ] }Weitere Informationen finden Sie unter „Spot-Flottenanforderungen“ im Benutzerhandbuch zur Amazon Elastic Compute Cloud.
-
Weitere API-Informationen finden Sie unter RequestSpotFleet
in der AWS CLI-Befehlsreferenz.
-
- PowerShell
-
- Tools für PowerShell V4
-
Beispiel 1: In diesem Beispiel wird eine Spot-Flottenanforderung in der Availability Zone mit dem niedrigsten Preis für den angegebenen Instance-Typ erstellt. Wenn Ihr Konto nur EC2-VPC unterstützt, startet die Spot-Flotte die Instances in der günstigsten Availability Zone, die über ein Standard-Subnetz verfügt. Wenn Ihr Konto EC2-Classic unterstützt, startet die Spot-Flotte die Instances in EC2-Classic in der kostengünstigsten Availability Zone. Beachten Sie, dass der von Ihnen gezahlte Preis den angegebenen Spot-Preis für die Anforderung nicht überschreitet.
$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-
Weitere API-Informationen finden Sie unter RequestSpotFleet in der AWS -Tools für PowerShell-Cmdlet-Referenz (V4).
-
- Tools für PowerShell V5
-
Beispiel 1: In diesem Beispiel wird eine Spot-Flottenanforderung in der Availability Zone mit dem niedrigsten Preis für den angegebenen Instance-Typ erstellt. Wenn Ihr Konto nur EC2-VPC unterstützt, startet die Spot-Flotte die Instances in der günstigsten Availability Zone, die über ein Standard-Subnetz verfügt. Wenn Ihr Konto EC2-Classic unterstützt, startet die Spot-Flotte die Instances in EC2-Classic in der kostengünstigsten Availability Zone. Beachten Sie, dass der von Ihnen gezahlte Preis den angegebenen Spot-Preis für die Anforderung nicht überschreitet.
$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-
Weitere API-Informationen finden Sie unter RequestSpotFleet in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).
-