Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan RequestSpotFleet
dengan CLI
Contoh kode berikut menunjukkan cara menggunakanRequestSpotFleet
.
- CLI
-
- AWS CLI
-
Untuk meminta armada Spot di subnet dengan harga terendah
Perintah contoh ini membuat permintaan armada Spot dengan dua spesifikasi peluncuran yang hanya berbeda dengan subnet. Armada Spot meluncurkan instans di subnet yang ditentukan dengan harga terendah. Jika instance diluncurkan secara defaultVPC, mereka menerima alamat IP publik secara default. Jika instance diluncurkan secara nondefaultVPC, mereka tidak menerima alamat IP publik secara default.
Perhatikan bahwa Anda tidak dapat menentukan subnet yang berbeda dari Availability Zone yang sama dalam permintaan armada Spot.
Perintah:
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" }
Untuk meminta armada Spot di Availability Zone dengan harga terendah
Perintah contoh ini membuat permintaan armada Spot dengan dua spesifikasi peluncuran yang hanya berbeda dengan Availability Zone. Armada Spot meluncurkan instans di Availability Zone yang ditentukan dengan harga terendah. Jika akun Anda mendukung EC2 - VPC saja, Amazon EC2 meluncurkan instans Spot di subnet default Availability Zone. Jika akun Anda mendukung EC2 -Classic, Amazon EC2 meluncurkan instans di EC2 -Classic di Availability Zone.
Perintah:
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" } } ] }
Untuk meluncurkan instans Spot di subnet dan menetapkannya alamat IP publik
Perintah contoh ini menetapkan alamat publik ke instance yang diluncurkan secara nondefault. VPC Perhatikan bahwa ketika Anda menentukan antarmuka jaringan, Anda harus menyertakan ID subnet dan ID grup keamanan menggunakan antarmuka jaringan.
Perintah:
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" } } ] }
Untuk meminta armada Spot menggunakan strategi alokasi yang beragam
Perintah contoh ini membuat permintaan armada Spot yang meluncurkan 30 instance menggunakan strategi alokasi yang beragam. Spesifikasi peluncuran berbeda menurut jenis instance. Armada Spot mendistribusikan instans di seluruh spesifikasi peluncuran sehingga ada 10 instance dari setiap jenis.
Perintah:
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" } ] }
Untuk informasi selengkapnya, lihat Permintaan Armada Spot di Panduan Pengguna Amazon Elastic Compute Cloud.
-
Untuk API detailnya, lihat RequestSpotFleet
di Referensi AWS CLI Perintah.
-
- PowerShell
-
- Alat untuk PowerShell
-
Contoh 1: Contoh ini membuat permintaan armada Spot di Availability Zone dengan harga terendah untuk jenis instans yang ditentukan. Jika akun Anda mendukung EC2 - VPC saja, armada Spot meluncurkan instans di Availability Zone dengan harga terendah yang memiliki subnet default. Jika akun Anda mendukung EC2 -Classic, armada Spot meluncurkan instans di EC2 -Classic di Availability Zone dengan harga terendah. Perhatikan bahwa harga yang Anda bayar tidak akan melebihi harga Spot yang ditentukan untuk permintaan tersebut.
$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
-
Untuk API detailnya, lihat RequestSpotFleetdi AWS Tools for PowerShell Referensi Cmdlet.
-