Bekerja dengan Armada Spot - Amazon Elastic Compute Cloud

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bekerja dengan Armada Spot

Untuk mulai menggunakan Armada Spot, Anda membuat permintaan Armada Spot yang mencakup kapasitas target, porsi Sesuai Permintaan opsional, satu atau lebih spesifikasi peluncuran untuk instans, dan harga maksimum yang bersedia Anda bayarkan. Permintaan armada harus menyertakan spesifikasi peluncuran yang menentukan informasi yang dibutuhkan armada untuk meluncurkan instans, seperti AMI, tipe instans, subnet atau Zona Ketersediaan, dan satu atau lebih grup keamanan.

Jika armada Anda menyertakan Instans Spot, Amazon EC2 dapat mencoba mempertahankan kapasitas target armada saat harga Spot berubah.

Memodifikasi kapasitas target permintaan satu kali setelah dikirimkan tidak dimungkinkan. Untuk mengubah kapasitas target, batalkan permintaan dan kirimkan yang baru.

Permintaan Armada Spot tetap aktif hingga kedaluwarsa atau Anda membatalkannya. Saat Anda membatalkan permintaan armada, Anda dapat menentukan apakah membatalkan permintaan akan mengakhiri Instans Spot di armada tersebut.

Status permintaan Armada Spot

Permintaan Armada Spot dapat berada dalam salah satu kondisi berikut:

  • submitted – Permintaan Armada Spot sedang dievaluasi dan Amazon EC2 sedang bersiap untuk meluncurkan jumlah target instans. Jika permintaan melampaui batas Armada Spot Anda, permintaan akan segera dibatalkan.

  • active – Armada Spot telah divalidasi dan Amazon EC2 berupaya untuk mempertahankan jumlah target dari Instans Spot yang sedang berjalan. Permintaan tetap dalam keadaan ini sampai dimodifikasi atau dibatalkan.

  • modifying – Permintaan Armada Spot sedang dimodifikasi. Permintaan tetap dalam status ini hingga modifikasi sepenuhnya diproses atau Armada Spot dibatalkan. request sekali pakai tidak dapat dimodifikasi, dan status ini tidak berlaku untuk permintaan Spot tersebut.

  • cancelled_running – Armada Spot dibatalkan dan tidak meluncurkan Instans Spot tambahan. Instans Spot yang sudah ada akan terus berjalan hingga diinterupsi atau dihentikan. Permintaan tetap berada dalam status ini sampai semua instans diinterupsi atau diakhiri.

  • cancelled_terminating – Armada Spot dibatalkan dan Instans Spot-nya berakhir. Permintaan tetap berada dalam status ini sampai semua instans diakhiri.

  • cancelled – Armada Spot dibatalkan dan tidak memiliki Instans Spot yang sedang berjalan. Permintaan Armada Spot dihapus dua hari setelah instansnya diakhiri.

Pemeriksaan kondisi Armada Spot

Armada Spot memeriksa status kondisi Instans Spot di armada setiap dua menit. Status kondisi instans adalah healthy atau unhealthy.

Armada Spot menentukan status kondisi instans dengan menggunakan pemeriksaan status yang disediakan oleh Amazon EC2. Sebuah instans ditentukan sebagai unhealthy jika status pemeriksaan status instans atau pemeriksaan status sistemnya impaired dalam tiga kali pemeriksaan kondisi secara berturut–turut. Untuk informasi selengkapnya, lihat Pemeriksaan status untuk instans Anda.

Anda dapat mengonfigurasi armada untuk mengganti Instans Spot yang tidak sehat. Setelah mengaktifkan penggantian pemeriksaan kondisi, Instans Spot akan diganti jika dilaporkan sebagai unhealthy. Armada tersebut dapat berada di bawah kapasitas targetnya hingga beberapa menit saat Instans Spot yang tidak sehat sedang diganti.

Persyaratan
  • Penggantian pemeriksaan kondisi hanya didukung untuk Armada Spot yang mempertahankan kapasitas target (armada tipe maintain), bukan untuk Armada Spot satu kali (armada tipe request).

  • Penggantian pemeriksaan kondisi hanya didukung untuk Instans Spot. Fitur ini tidak didukung untuk Instans Sesuai Permintaan.

  • Anda dapat mengonfigurasi Armada Spot Fleet untuk mengganti instans yang tidak sehat hanya saat Anda membuatnya.

  • Pengguna dapat menggunakan penggantian pemeriksaan kondisi hanya jika memiliki izin untuk memanggil tindakan ec2:DescribeInstanceStatus.

Console
Untuk mengonfigurasi Armada Spot guna mengganti Instans Spot yang tidak sehat menggunakan konsol tersebut
  1. Ikuti langkah-langkah ini untuk membuat Armada Spot. Untuk informasi selengkapnya, lihat Buat permintaan Armada Spot menggunakan parameter yang ditentukan (konsol).

  2. Untuk mengonfigurasi armada agar mengganti Instans Spot yang tidak sehat, untuk Pemeriksaan kondisi, pilih Ganti instans yang tidak sehat. Untuk mengaktifkan opsi ini, Anda harus memilih Pertahankan kapasitas target terlebih dahulu.

AWS CLI
Untuk mengonfigurasi Armada Spot guna mengganti Instans Spot yang tidak sehat menggunakan AWS CLI
  1. Ikuti langkah-langkah ini untuk membuat Armada Spot. Untuk informasi selengkapnya, lihat Membuat Armada Spot menggunakan AWS CLI.

  2. Untuk mengonfigurasi armada guna mengganti Instans Spot yang tidak sehat, untuk ReplaceUnhealthyInstances, masukkan true.

Izin Armada Spot

Jika pengguna Anda akan membuat atau mengelola Armada Spot, Anda perlu memberinya izin yang diperlukan.

Jika Anda menggunakan konsol Amazon EC2 untuk membuat Armada Spot, konsol ini akan membuat dua peran tertaut layanan bernama AWSServiceRoleForEC2SpotFleet dan AWSServiceRoleForEC2Spot, serta peran bernama aws-ec2-spot-fleet-tagging-role yang memberikan izin kepada Armada Spot untuk meminta, meluncurkan, mengakhiri, dan menandai sumber daya atas nama Anda. Jika Anda menggunakan AWS CLI atau API, Anda harus memastikan bahwa peran ini sudah ada.

Gunakan petunjuk berikut untuk memberikan izin yang diperlukan dan membuat peran.

Memberikan izin kepada pengguna untuk Armada Spot

Jika pengguna Anda akan membuat atau mengelola Armada Spot, pastikan untuk memberinya izin yang diperlukan.

Untuk membuat kebijakan Armada Spot
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan, Buat kebijakan.

  3. Di halaman Buat kebijakan, pilih JSON, dan ganti teks dengan yang berikut ini.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateTags", "ec2:RequestSpotFleet", "ec2:ModifySpotFleetRequest", "ec2:CancelSpotFleetRequests", "ec2:DescribeSpotFleetRequests", "ec2:DescribeSpotFleetInstances", "ec2:DescribeSpotFleetRequestHistory" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/aws-ec2-spot-fleet-tagging-role" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:ListRoles", "iam:ListInstanceProfiles" ], "Resource": "*" } ] }

    Contoh kebijakan sebelumnya memberikan izin yang diperlukan kepada pengguna untuk sebagian besar kasus penggunaan Armada Spot. Untuk membatasi pengguna ke tindakan API tertentu, tentukan hanya tindakan API tersebut saja.

    API EC2 dan IAM yang diperlukan

    API berikut harus disertakan dalam kebijakan:

    • ec2:RunInstances – Diperlukan untuk meluncurkan instans di Armada Spot

    • ec2:CreateTags – Diperlukan untuk menandai permintaan, instans, atau volume Armada Spot

    • iam:PassRole – Diperlukan untuk menentukan peran Armada Spot

    • iam:CreateServiceLinkedRole – Diperlukan untuk membuat peran tertaut-layanan

    • iam:ListRoles – Diperlukan untuk melakukan enumerasi peran IAM yang ada

    • iam:ListInstanceProfiles – Diperlukan untuk melakukan enumerasi profil instans yang sudah ada

    penting

    Jika Anda menentukan peran untuk profil instans IAM dalam spesifikasi peluncuran atau templat peluncuran, Anda harus memberikan izin kepada pengguna untuk meneruskan peran tersebut ke layanan. Untuk melakukan ini, dalam kebijakan IAM sertakan "arn:aws:iam::*:role/IamInstanceProfile-role" sebagai sumber daya untuk tindakan iam:PassRole. Untuk informasi selengkapnya, lihat Memberikan izin pengguna untuk meneruskan peran ke layanan AWS di Panduan Pengguna IAM.

    API Armada Spot

    Tambahkan tindakan API Armada Spot berikut ke kebijakan Anda, jika diperlukan:

    • ec2:RequestSpotFleet

    • ec2:ModifySpotFleetRequest

    • ec2:CancelSpotFleetRequests

    • ec2:DescribeSpotFleetRequests

    • ec2:DescribeSpotFleetInstances

    • ec2:DescribeSpotFleetRequestHistory

    API IAM opsional

    (Opsional) Untuk memungkinkan pengguna membuat peran atau profil instans menggunakan konsol IAM, Anda juga harus menambahkan tindakan berikut ke kebijakan:

    • iam:AddRoleToInstanceProfile

    • iam:AttachRolePolicy

    • iam:CreateInstanceProfile

    • iam:CreateRole

    • iam:GetRole

    • iam:ListPolicies

  4. Pilih Tinjau kebijakan.

  5. Pada halaman Tinjau kebijakan, masukkan nama dan deskripsi kebijakan, dan pilih Buat kebijakan.

  6. Untuk memberikan akses, tambahkan izin ke pengguna, grup, atau peran Anda:

Peran tertaut layanan untuk Armada Spot

Amazon EC2 menggunakan peran tertaut layanan untuk izin yang diperlukan untuk memanggil layanan AWS lain atas nama Anda. Peran tertaut layanan adalah tipe unik peran IAM yang tertaut secara langsung dengan layanan AWS. Peran tertaut layanan menyediakan cara yang aman untuk mendelegasikan izin ke layanan AWS karena hanya layanan tertaut yang dapat mengambil peran tertaut layanan. Untuk informasi selengkapnya, lihat Menggunakan Peran Tertaut Layanan di Panduan Pengguna IAM.

Amazon EC2 menggunakan peran terkait layanan bernamaAWSServiceRoleForEC2SpotFleet untuk meluncurkan dan mengelola instance atas nama Anda.

penting

Jika Anda menentukan AMI terenkripsi atau snapshot Amazon EBS terenkripsi di Spot Fleet, Anda harus memberikanAWSServiceRoleForEC2SpotFleet izin peran untuk menggunakan CMK sehingga Amazon EC2 dapat meluncurkan instans atas nama Anda. Untuk informasi selengkapnya, lihat Berikan akses ke CMK untuk digunakan dengan AMI dan snapshot EBS terenkripsi.

Izin yang diberikan oleh AWSServiceRoleForEC2SpotFleet

Penggunaan Amazon EC2 AWSServiceRoleForEC2SpotFleet untuk menyelesaikan tindakan berikut:

  • ec2:RequestSpotInstances - Meminta Instans Spot

  • ec2:RunInstances - Meluncurkan instans

  • ec2:TerminateInstances - Mengakhiri instans

  • ec2:DescribeImages - Mendeskripsikan Amazon Machine Image (AMI) untuk instans

  • ec2:DescribeInstanceStatus - Mendeskripsikan status instans

  • ec2:DescribeSubnets - Mendeskripsikan subnet untuk instans

  • ec2:CreateTags - Menambahkan tanda ke permintaan, instans, dan volume Armada Spot

  • elasticloadbalancing:RegisterInstancesWithLoadBalancer - Menambahkan instans yang ditentukan ke penyeimbang beban yang ditentukan

  • elasticloadbalancing:RegisterTargets - Mendaftarkan target yang ditentukan dengan grup target yang ditentukan

Membuat peran tertaut layanan

Dalam sebagian besar situasi, Anda tidak perlu membuat peran tertaut layanan secara manual. Amazon EC2 membuatAWSServiceRoleForEC2SpotFleet peran terkait layanan saat pertama kali Anda membuat Spot Fleet menggunakan konsol.

Jika Anda memiliki permintaan Armada Spot aktif sebelum Oktober 2017, saat Amazon EC2 mulai mendukung peran terkait layanan ini, Amazon EC2 membuat peran tersebut di akun Anda. AWSServiceRoleForEC2SpotFleetAWS Untuk informasi selengkapnya, lihat Peran baru yang muncul di akun AWS saya dalam Panduan Pengguna IAM.

Jika Anda menggunakan AWS CLI atau API untuk membuat Armada Spot, Anda harus terlebih dahulu memastikan bahwa peran ini ada.

Untuk membuat AWSServiceRoleForEC2SpotFleet menggunakan konsol
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Peran.

  3. Pilih Buat peran.

  4. Untuk Pilih tipe entitas tepercaya, pilih Layanan AWS.

  5. Di bawah Pilih kasus penggunaan, Atau pilih layanan untuk melihat kasus penggunaannya, Pilih EC2.

  6. Di bagian Pilih kasus penggunaan Anda, pilih EC2 - Armada Spot.

  7. Pilih Selanjutnya: Izin.

  8. Di halaman berikutnya, pilih Berikutnya: Tanda.

  9. Di halaman berikutnya, pilih Berikutnya: Tinjau.

  10. Di halaman Tinjau, pilih Buat peran.

Untuk membuat AWSServiceRoleForEC2SpotFleet menggunakan AWS CLI

Gunakan perintah create-service-linked-role sebagai berikut.

aws iam create-service-linked-role --aws-service-name spotfleet.amazonaws.com

Jika Anda tidak lagi perlu menggunakan Spot Fleet, kami sarankan Anda menghapus fileAWSServiceRoleForEC2SpotFleet wewenang. Setelah peran ini dihapus dari akun Anda, Amazon EC2 akan membuat peran lagi jika Anda meminta Armada Spot dengan menggunakan konsol. Untuk informasi selengkapnya, lihat Menghapus Peran Tertaut Layanan dalam Panduan Pengguna IAM.

Berikan akses ke CMK untuk digunakan dengan AMI dan snapshot EBS terenkripsi

Jika Anda menentukan AMI terenkripsi atau snapshot Amazon EBS terenkripsi dalam permintaan Spot Fleet dan Anda menggunakan kunci master pelanggan yang dikelola pelanggan (CMK) untuk enkripsi, Anda harus memberikanAWSServiceRoleForEC2SpotFleet izin peran untuk menggunakan CMK sehingga Amazon EC2 dapat meluncurkan instans atas nama Anda. Untuk melakukannya, Anda harus menambahkan pemberian izin ke CMK, seperti yang ditunjukkan dalam prosedur berikut.

Ketika memberikan izin, pemberian izin merupakan alternatif dari kebijakan kunci. Untuk informasi selengkapnya, lihat Menggunakan Pemberian Izin dan Menggunakan Kebijakan Kunci di AWS KMS dalam Panduan Developer AWS Key Management Service.

Untuk memberikan izin AWSServiceRoleForEC2SpotFleet peran untuk menggunakan CMK
  • Gunakan perintah create-grant untuk menambahkan hibah ke CMK dan untuk menentukan kepala sekolah (peran terkait layanan AWSServiceRoleForEC2SpotFleet) yang diberi izin untuk melakukan operasi yang diizinkan oleh pemberian tersebut. CMK ditentukan oleh parameter key-id dan ARN CMK. Kepala sekolah ditentukan olehgrantee-principal parameter dan ARN dariAWSServiceRoleForEC2SpotFleet peran terkait layanan.

    aws kms create-grant \ --region us-east-1 \ --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:role/AWSServiceRoleForEC2SpotFleet \ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"

Peran terkait layanan untuk Instans Spot

Amazon EC2 menggunakan peran terkait layanan bernamaAWSServiceRoleForEC2Spot untuk meluncurkan dan mengelola Instans Spot atas nama Anda. Untuk informasi selengkapnya, lihat Peran tertaut layanan untuk permintaan Instans Spot.

Peran IAM untuk menandai Armada Spot

Peran IAM aws-ec2-spot-fleet-tagging-role memberikan izin ke Armada Spot untuk menandai permintaan, instans, dan volume Armada Spot. Untuk informasi selengkapnya, lihat Menandai Armada Spot.

penting

Jika Anda memilih untuk menandai instans di armada dan Anda juga memilih untuk mempertahankan kapasitas target (permintaan Armada Spot bertipe maintain), perbedaan izin yang ditetapkan untuk pengguna dan IamFleetRole dapat menyebabkan perilaku penandaan instans yang tidak konsisten di armada. Jika IamFleetRole tidak menyertakan izin CreateTags, beberapa instans yang diluncurkan oleh armada mungkin tidak akan ditandai. Sementara kami berusaha memperbaiki inkonsistensi ini, untuk memastikan bahwa semua instans yang diluncurkan oleh armada telah ditandai, kami menyarankan Anda menggunakan peran aws-ec2-spot-fleet-tagging-role untuk IamFleetRole. Atau, untuk menggunakan peran yang ada, lampirkan Kebijakan Terkelola AWS AmazonEC2SpotFleetTaggingRole untuk peran yang ada. Jika tidak, Anda perlu menambahkan izin CreateTags secara manual untuk kebijakan yang ada.

Guna membuat peran IAM untuk menandai Armada Spot
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Peran.

  3. Pilih Buat peran.

  4. Pada halaman Pilih entitas tepercaya, di bawah Tipe entitas tepercaya, pilih Layanan AWS.

  5. Di bawah Kasus penggunaan, dari Kasus penggunaan untuk layanan AWS lain, pilih EC2, lalu pilih EC2 - Penandaan Armada Spot.

  6. Pilih Berikutnya.

  7. Pada halaman Tambahkan izin, pilih Berikutnya.

  8. Pada Nama, tinjau, dan buat, untuk Nama peran, masukkan nama untuk peran (misalnya, aws-ec2-spot-fleet-tagging-role).

  9. Tinjau informasi di halaman tersebut, lalu pilih Buat peran.

Pencegahan confused deputy lintas layanan

Masalah confused deputy adalah masalah keamanan saat entitas yang tidak memiliki izin untuk melakukan suatu tindakan dapat memaksa entitas yang lebih berhak untuk melakukan tindakan tersebut. Sebaiknya gunakan kunci konteks kondisi global aws:SourceArn dan aws:SourceAccount dalam kebijakan kepercayaan aws-ec2-spot-fleet-tagging-role untuk membatasi izin yang diberikan Armada Spot pada layanan lain ke sumber daya.

Untuk menambahkan kunci SourceAccount kondisi aws: SourceArn dan aws: ke kebijakan aws-ec2-spot-fleet-tagging-role kepercayaan
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Peran.

  3. Temukan aws-ec2-spot-fleet-tagging-role yang Anda buat sebelumnya dan pilih tautan (bukan kotak centang).

  4. Di bawah Ringkasan, pilih tab Hubungan kepercayaan, lalu pilih Edit kebijakan kepercayaan.

  5. Dalam pernyataan JSON, tambahkan elemen Condition yang berisi kunci konteks kondisi global aws:SourceAccount dan aws:SourceArn untuk mencegah masalah confused deputy, sebagai berikut:

    "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ec2:us-east-1:account_id:spot-fleet-request/sfr-*" }, "StringEquals": { "aws:SourceAccount": "account_id" }
    catatan

    Jika nilai aws:SourceArn berisi ID akun Anda dan Anda menggunakan kedua kunci konteks kondisi global tersebut, nilai aws:SourceAccount dan akun di nilai aws:SourceArn harus menggunakan ID akun yang sama saat digunakan dalam pernyataan kebijakan yang sama.

    Kebijakan kepercayaan terakhir adalah sebagai berikut:

    { "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "spotfleet.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ec2:us-east-1:account_id:spot-fleet-request/sfr-*" }, "StringEquals": { "aws:SourceAccount": "account_id" } } } }
  6. Pilih Perbarui kebijakan.

Tabel berikut memberikan nilai potensial untuk aws:SourceArn guna membatasi ruang lingkup aws-ec2-spot-fleet-tagging-role Anda dalam berbagai tingkat kekhususan.

Operasi API Layanan yang dipanggil Cakupan aws:SourceArn
RequestSpotFleet AWS STS (AssumeRole) Batasi AssumeRole aws-ec2-spot-fleet-tagging-role kemampuan spot-fleet-requests di akun yang ditentukan. arn:aws:ec2:*:123456789012:spot-fleet-request/sfr-*
RequestSpotFleet AWS STS (AssumeRole) Batasi AssumeRole aws-ec2-spot-fleet-tagging-role kemampuan spot-fleet-requests di akun yang ditentukan dan Wilayah yang ditentukan. Perhatikan bahwa peran ini tidak akan dapat digunakan di Wilayah lain. arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-*
RequestSpotFleet AWS STS (AssumeRole) Batasi kemampuan AssumeRole di aws-ec2-spot-fleet-tagging-role hanya pada tindakan yang memengaruhi armada sfr-11111111-1111-1111-1111-111111111111. Perhatikan bahwa peran ini mungkin tidak dapat digunakan untuk Armada Spot lainnya. Selain itu, peran ini tidak dapat digunakan untuk meluncurkan Armada Spot baru. request-spot-fleet arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-11111111-1111-1111-1111-111111111111

Membuat permintaan Armada Spot

Dengan menggunakan AWS Management Console, buat permintaan Armada Spot secara cepat dengan memilih kebutuhan aplikasi atau tugas Anda dan spesifikasi komputasi minimum. Amazon EC2 mengonfigurasi armada yang paling sesuai dengan kebutuhan Anda dan mengikuti praktik terbaik Spot. Untuk informasi selengkapnya, lihat Membuat permintaan Armada Spot dengan cepat (konsol). Jika tidak, Anda dapat memodifikasi salah satu pengaturan default tersebut. Untuk informasi lebih lanjut, lihat Buat permintaan Armada Spot menggunakan parameter yang ditentukan (konsol) dan Membuat Armada Spot menggunakan AWS CLI.

Membuat permintaan Armada Spot dengan cepat (konsol)

Ikuti langkah-langkah berikut untuk membuat permintaan Armada Spot dengan cepat.

Untuk membuat permintaan Armada Spot menggunakan pengaturan yang direkomendasikan (konsol)
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Permintaan Spot.

  3. Jika Anda baru mengenal Spot, Anda akan melihat halaman sambutan; pilih Mulai. Jika tidak, pilih Minta Instans Spot.

  4. Di bawah Parameter peluncuran, pilih Konfigurasikan parameter peluncuran secara manual.

  5. Untuk AMI, pilih AMI.

  6. Di bawah Kapasitas target, untuk Total kapasitas target, tentukan jumlah unit yang akan diminta. Untuk tipe unit, Anda dapat memilih Instans, vCPU, atau Memori (MiB).

  7. Untuk Sekilas permintaan armada Anda, tinjau konfigurasi armada, dan pilih Luncurkan.

Buat permintaan Armada Spot menggunakan parameter yang ditentukan (konsol)

Anda dapat membuat Armada Spot menggunakan parameter yang Anda tentukan.

Untuk membuat permintaan Armada Spot menggunakan parameter yang ditentukan (konsol)
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Permintaan Spot.

  3. Jika Anda baru mengenal Spot, Anda akan melihat halaman sambutan; pilih Mulai. Jika tidak, pilih Minta Instans Spot.

  4. Untuk Parameter peluncuran, lakukan hal berikut:

    1. Untuk menentukan parameter peluncuran di konsol Spot, pilih Konfigurasikan parameter peluncuran secara manual.

    2. Untuk AMI, pilih salah satu AMI dasar yang disediakan oleh AWS, atau pilih Cari AMI untuk menggunakan AMI dari komunitas pengguna kami, AWS Marketplace, atau salah satu milik Anda sendiri.

    3. (Opsional) Untuk Nama pasangan kunci, pilih pasangan kunci yang ada atau buat yang baru.

      [Pasangan kunci yang ada] Pilih pasangan kunci.

      [Pasangan kunci baru] Pilih Buat pasangan kunci baru untuk membuka halaman Pasangan Kunci. Setelah selesai, kembali ke halaman Permintaan Spot dan segarkan daftar.

    4. (Opsional) Perluas Parameter peluncuran tambahan, dan lakukan hal berikut:

      1. (Opsional) Untuk mengaktifkan optimisasi Amazon EBS, untuk Dioptimalkan dengan EBS, pilih Luncurkan instans yang dioptimalkan EBS.

      2. (Opsional) Guna menambahkan penyimpanan tingkat blok sementara untuk instans Anda, untuk Penyimpanan instans, pilih Lampirkan saat peluncuran.

      3. (Opsional) Untuk menambahkan penyimpanan, pilih Tambahkan volume baru, dan tentukan volume penyimpanan instans tambahan atau volume Amazon EBS, tergantung pada tipe instans.

      4. (Opsional) Secara default, pemantauan dasar diaktifkan untuk instans Anda. Untuk mengaktifkan pemantauan terperinci, untuk Pemantauan, pilih Aktifkan pemantauan CloudWatch terperinci.

      5. (Opsional) Guna menjalankan Instans Spot Khusus, untuk Penghunian, pilih Khusus - jalankan instans khusus.

      6. (Opsional) Untuk Grup keamanan, pilih satu atau beberapa grup keamanan atau buat yang baru.

        [Grup keamanan yang ada] Pilih satu atau beberapa grup keamanan.

        [Grup keamanan baru] Pilih Buat grup keamanan baru untuk membuka halaman Grup Keamanan. Setelah selesai, kembali ke Permintaan Spot dan segarkan daftar.

      7. (Opsional) Agar instans Anda dapat dijangkau dari internet, untuk Menetapkan IP IPv4 Publik secara otomatis, pilih Aktifkan.

      8. (Opsional) Guna meluncurkan Instans Spot Anda dengan peran IAM, untuk Profil instans IAM, pilih peran tersebut.

      9. (Opsional) Untuk menjalankan skrip start-up, salin skrip tersebut ke Data pengguna.

      10. (Opsional) Untuk menambahkan tanda, pilih Buat tanda dan masukkan kunci serta nilai untuk tanda tersebut, lalu pilih Buat. Ulangi hal itu untuk setiap tanda.

        Untuk setiap tanda, guna menandai instans dan permintaan Armada Spot dengan tanda yang sama, pastikan bahwa Instans serta Armada telah dipilih. Untuk menandai instans yang diluncurkan oleh armada saja, hapus Armada. Untuk menandai permintaan Armada Spot saja, hapus Instans.

  5. Untuk detail permintaan tambahan, lakukan hal berikut:

    1. Tinjau detail permintaan tambahan. Untuk membuat perubahan, hapus Terapkan default.

    2. (Opsional) Untuk Peran armada IAM, Anda dapat menggunakan peran default atau memilih peran yang berbeda. Untuk menggunakan peran default setelah mengubah peran, pilih Gunakan peran default.

    3. (Opsional) Untuk Harga maksimum, Anda dapat menggunakan harga maksimum default (harga Sesuai Permintaan) atau menentukan harga maksimum yang ingin Anda bayarkan. Jika harga maksimum Anda lebih rendah daripada harga Spot untuk tipe instans yang Anda pilih, Instans Spot tidak akan diluncurkan.

    4. (Opsional) Untuk membuat permintaan yang hanya berlaku selama jangka waktu tertentu, edit Permintaan berlaku mulai dan Permintaan berlaku sampai.

    5. (Opsional) Secara default, kami mengakhiri Instans Spot saat permintaan Armada Spot kedaluwarsa. Agar Instans Spot tetap berjalan setelah permintaan Anda berakhir, hapus Akhiri instans saat permintaan kedaluwarsa.

    6. (Opsional) Untuk mendaftarkan Instans Spot Anda dengan penyeimbang beban, pilih Terima lalu lintas dari satu atau beberapa penyeimbang beban dan pilih satu atau beberapa Penyeimbang Beban Klasik atau grup target.

  6. Untuk Unit komputasi minimum, pilih spesifikasi perangkat keras minimum (vCPU, memori, dan penyimpanan) yang Anda perlukan untuk aplikasi atau tugas, baik sebagai spesifikasi atau sebagai tipe instans.

    • Untuk sebagai spesifikasi, tentukan jumlah vCPU yang diperlukan dan jumlah memorinya.

    • Untuk sebagai tipe instans, terima tipe instans default, atau pilih Ubah tipe instans untuk memilih tipe instans yang berbeda.

  7. Untuk Kapasitas target, lakukan hal berikut:

    1. Di bawah Total kapasitas target, tentukan jumlah unit yang akan diminta. Untuk tipe unit, Anda dapat memilih Instans, vCPU, atau Memori (MiB). Untuk menentukan kapasitas target 0 sehingga nantinya Anda dapat menambahkan kapasitas, pilih Pertahankan kapasitas target.

    2. (Opsional) Untuk Sertakan kapasitas basis Sesuai Permintaan, tentukan jumlah unit Sesuai Permintaan yang akan diminta. Jumlahnya harus kurang dari Total kapasitas target. Amazon EC2 menghitung selisihnya, dan mengalokasikan selisih tersebut ke unit Spot yang akan diminta.

      penting

      Untuk menentukan kapasitas Sesuai Permintaan opsional, Anda harus terlebih dahulu memilih templat peluncuran.

    3. (Opsional) Secara default, layanan Spot mengakhiri Instans Spot saat terinterupsi. Untuk mempertahankan kapasitas target, pilih Pertahankan kapasitas target. Anda kemudian dapat menentukan bahwa layanan Spot mengakhiri, menghentikan, atau menghibernasi Instans Spot ketika instans tersebut diinterupsi. Untuk melakukannya, pilih opsi yang sesuai dari Perilaku interupsi.

    4. (Opsional) Untuk mengizinkan Armada Spot meluncurkan Instans Spot pengganti saat notifikasi penyeimbangan ulang instans dikeluarkan untuk Instans Spot yang ada di armada, pilih Penyeimbangan ulang kapasitas, lalu pilih strategi penggantian instans. Jika Anda memilih Luncurkan sebelum mengakhiri, tentukan penundaan (dalam hitungan detik) sebelum Armada Spot mengakhiri instans lama. Untuk informasi selengkapnya, lihat Penyeimbangan Ulang Kapasitas.

    5. (Opsional) Untuk mengontrol jumlah yang Anda bayarkan per jam untuk semua Instans Spot di armada, pilih Atur biaya maksimum untuk Instans Spot, lalu masukkan jumlah total maksimum yang ingin Anda bayarkan per jam. Jika jumlah total maksimum tercapai, Armada Spot akan berhenti meluncurkan Instans Spot meskipun belum memenuhi kapasitas target. Untuk informasi selengkapnya, lihat Kontrol pengeluaran.

  8. Untuk Jaringan, lakukan hal berikut:

    1. Untuk Jaringan, pilih VPC yang ada atau buat yang baru.

      [VPC yang Ada] Pilih VPC.

      [VPC Baru] Pilih Buat VPC baru untuk membuka konsol Amazon VPC. Setelah selesai, kembali ke wizard dan segarkan daftar.

    2. (Opsional) Untuk Zona Ketersediaan, biarkan AWS memilih Zona Ketersediaan untuk Instans Spot Anda, atau tentukan satu atau beberapa Zona Ketersediaan.

      Jika Anda memiliki lebih dari satu subnet di Zona Ketersediaan, pilih subnet yang sesuai dari Subnet. Untuk menambahkan subnet, pilih Buat subnet baru untuk membuka konsol Amazon VPC. Setelah selesai, kembali ke wizard dan segarkan daftar.

  9. Untuk Persyaratan tipe instans, Anda dapat menentukan atribut instans dan membiarkan Amazon EC2 mengidentifikasi tipe instans optimal dengan atribut ini, atau Anda dapat menentukan daftar instans. Untuk informasi selengkapnya, lihat Pemilihan tipe instans berbasis atribut untuk Armada Spot.

    1. Jika Anda memilih Tentukan atribut instans yang cocok dengan persyaratan komputasi Anda, tentukan atribut instans sebagai berikut:

      1. Untuk vCPU, masukkan jumlah minimum dan maksimum vCPU yang diinginkan. Untuk menentukan tanpa batasan, pilih Tanpa minimum, Tanpa maksimum, atau keduanya.

      2. Untuk Memori (GiB), masukkan jumlah memori minimum dan maksimum yang diinginkan. Untuk menentukan tanpa batasan, pilih Tanpa minimum, Tanpa maksimum, atau keduanya.

      3. (Opsional) Untuk Atribut instans Tambahan, Anda dapat secara opsional menentukan satu atau lebih atribut untuk mengekspresikan kebutuhan komputasi Anda secara lebih mendetail. Setiap atribut tambahan menambahkan batasan lebih lanjut ke permintaan Anda. Anda dapat menghilangkan atribut tambahan; ketika dihilangkan, nilai default digunakan. Untuk deskripsi setiap atribut dan nilai defaultnya, lihat get-spot-placement-scoresdi Referensi Baris Perintah Amazon EC2.

      4. (Opsional) Untuk menampilkan tipe instans dengan atribut tertentu, perluas Pratinjau tipe instans yang cocok. Untuk mengecualikan tipe instans agar tidak digunakan dalam permintaan Anda, pilih instans, lalu pilih Kecualikan tipe instans yang dipilih.

    2. Jika Anda memilih Pilih tipe instans secara manual, Armada Spot menyediakan daftar default tipe instans. Untuk memilih tipe instans lainnya, pilih Tambahkan tipe instans, pilih tipe instans yang akan digunakan dalam permintaan Anda, dan pilih Pilih. Untuk menghapus tipe instans, pilih tipe instans dan pilih Hapus.

  10. Untuk Strategi alokasi, pilih strategi yang memenuhi kebutuhan Anda. Untuk informasi selengkapnya, lihat Strategi alokasi untuk Instans Spot.

  11. Untuk Sekilas permintaan armada Anda, tinjau konfigurasi armada dan lakukan penyesuaian apa pun jika perlu.

  12. (Opsional) Guna mengunduh salinan konfigurasi peluncuran untuk digunakan dengan AWS CLI, pilih Konfigurasi JSON.

  13. Pilih Luncurkan.

    Tipe permintaan Armada Spot adalah fleet. Saat permintaan terpenuhi, permintaan tipe instance ditambahkan, di mana keadaannya active dan statusnya adalah fulfilled.

Membuat Armada Spot menggunakan AWS CLI

Untuk membuat permintaan Armada Spot menggunakan AWS CLI
aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json

Untuk file konfigurasi contoh, lihat Konfigurasi contoh Armada Spot.

Berikut adalah contoh output:

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

Menandai Armada Spot

Untuk membantu mengategorikan dan mengelola permintaan Armada Spot, Anda dapat menandainya dengan metadata kustom. Anda dapat menetapkan tanda untuk permintaan Armada Spot saat Anda membuatnya, atau setelahnya. Anda dapat menetapkan tanda menggunakan konsol Amazon EC2 atau alat baris perintah.

Saat Anda menandai permintaan Armada Spot, instans dan volume yang diluncurkan oleh Armada Spot tidak secara otomatis ditandai. Anda perlu menandai instans dan volume yang diluncurkan oleh Armada Spot secara eksplisit. Anda dapat memilih untuk menetapkan tanda hanya untuk permintaan Armada Spot, atau hanya untuk instans yang diluncurkan oleh armada, atau hanya untuk volume yang dilampirkan ke instans yang diluncurkan oleh armada, atau ke ketiganya.

catatan

Tanda volume hanya didukung untuk volume yang dilampirkan ke Instans Sesuai Permintaan. Anda tidak dapat menandai volume yang dilampirkan ke Instans Spot.

Untuk informasi selengkapnya tentang cara kerja tag, lihat Tandai sumber daya Amazon EC2 Anda.

Prasyarat

Berikan izin kepada pengguna untuk menandai sumber daya. Untuk informasi selengkapnya, lihat Contoh: Memberi tanda pada sumber daya.

Berikan izin kepada pengguna untuk menandai sumber daya

Buat kebijakan IAM yang mencakup berikut hal berikut:

  • Tindakan ec2:CreateTags. Tindakan ini memberikan izin kepada pengguna untuk membuat tanda.

  • Tindakan ec2:RequestSpotFleet. Tindakan ini memberikan izin kepada pengguna untuk membuat permintaan Armada Spot.

  • Untuk Resource, Anda harus menentukan "*". Tindakan ini memungkinkan pengguna untuk menandai semua tipe sumber daya.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotFleetRequest", "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "*" } ] }
penting

Saat ini kami tidak mendukung izin tingkat sumber daya untuk sumber daya spot-fleet-request. Jika Anda menentukan spot-fleet-request sebagai sumber daya, Anda akan mendapatkan pengecualian yang tidak sah saat mencoba menandai armada. Contoh berikut menggambarkan cara untuk tidak mengatur kebijakan.

{ "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/*" }

Untuk memberikan akses, tambahkan izin ke pengguna, grup, atau peran Anda:

Menandai Armada Spot baru

Untuk menandai permintaan Armada Spot baru menggunakan konsol
  1. Ikuti prosedur Buat permintaan Armada Spot menggunakan parameter yang ditentukan (konsol).

  2. Untuk menambahkan tanda, perluas Konfigurasi tambahan, pilih Tambahkan tanda baru, dan masukkan kunci serta nilai untuk tanda tersebut. Ulangi untuk setiap tag.

    Untuk setiap tanda, Anda dapat menandai permintaan Armada Spot dan instans dengan tanda yang sama. Untuk menandai keduanya, pastikan bahwa Tanda instans dan Tanda Armada telah dipilih. Untuk menandai permintaan Armada Spot saja, hapus Tanda instans. Untuk menandai instans yang diluncurkan oleh armada saja, hapus Tanda Armada.

  3. Lengkapi bidang yang diperlukan untuk membuat permintaan Armada Spot, lalu pilih Luncurkan. Untuk informasi selengkapnya, lihat Buat permintaan Armada Spot menggunakan parameter yang ditentukan (konsol).

Untuk menandai permintaan Armada Spot baru menggunakan AWS CLI

Untuk menandai permintaan Armada Spot saat Anda membuatnya, konfigurasikan konfigurasi permintaan Armada Spot sebagai berikut:

  • Tentukan tanda untuk permintaan Armada Spot di SpotFleetRequestConfig.

  • Untuk ResourceType, tentukan spot-fleet-request. Jika Anda menentukan nilai lain, permintaan armada akan gagal.

  • Untuk Tags, tentukan pasangan nilai-kunci. Anda dapat menentukan lebih dari satu pasangan nilai-kunci.

Dalam contoh berikut, permintaan Armada Spot ditandai dengan dua tanda: Kunci=Lingkungan dan Nilai=Produksi, serta Kunci=Pusat-Biaya dan Nilai=123.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large" } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment", "Value":"Production" }, { "Key": "Cost-Center", "Value":"123" } ] } ] } }

Menandai Armada Spot baru dan instans serta volume yang diluncurkannya

Untuk menandai permintaan Armada Spot baru dan instans serta volume yang diluncurkannya menggunakan AWS CLI

Untuk menandai permintaan Armada Spot saat Anda membuatnya, dan untuk menandai instans serta volume ketika diluncurkan oleh armada, konfigurasikan konfigurasi permintaan Armada Spot sebagai berikut:

Tanda permintaan Armada Spot:
  • Tentukan tanda untuk permintaan Armada Spot di SpotFleetRequestConfig.

  • Untuk ResourceType, tentukan spot-fleet-request. Jika Anda menentukan nilai lain, permintaan armada akan gagal.

  • Untuk Tags, tentukan pasangan nilai-kunci. Anda dapat menentukan lebih dari satu pasangan nilai-kunci.

Tanda instans:
  • Tentukan tanda untuk instans di LaunchSpecifications.

  • Untuk ResourceType, tentukan instance. Jika Anda menentukan nilai lain, permintaan armada akan gagal.

  • Untuk Tags, tentukan pasangan nilai-kunci. Anda dapat menentukan lebih dari satu pasangan nilai-kunci.

    Atau, Anda dapat menentukan tanda untuk instans di templat peluncuran yang direferensikan dalam permintaan Armada Spot.

Tanda volume:
  • Tentukan tanda untuk volume di templat peluncuran yang direferensikan dalam permintaan Armada Spot. Penandaan volume LaunchSpecifications tidak didukung.

Dalam contoh berikut, permintaan Armada Spot ditandai dengan dua tanda: Kunci=Lingkungan dan Nilai=Produksi, serta Kunci=Pusat-Biaya dan Nilai=123. Instans yang diluncurkan oleh armada ditandai dengan satu tanda (yang sama dengan salah satu tanda untuk permintaan Armada Spot): Kunci=Pusat-Biaya dan Nilai=123.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment", "Value":"Production" }, { "Key": "Cost-Center", "Value":"123" } ] } ] } }
Untuk menandai instans yang diluncurkan oleh Armada Spot menggunakan AWS CLI

Untuk menandai instans ketika diluncurkan oleh armada, Anda dapat menentukan tanda di templat peluncuran yang direferensikan dalam permintaan Armada Spot, atau Anda dapat menentukan tanda dalam konfigurasi permintaan Armada Spot sebagai berikut:

  • Tentukan tanda untuk instans di LaunchSpecifications.

  • Untuk ResourceType, tentukan instance. Jika Anda menentukan nilai lain, permintaan armada akan gagal.

  • Untuk Tags, tentukan pasangan nilai-kunci. Anda dapat menentukan lebih dari satu pasangan nilai-kunci.

Dalam contoh berikut, instans yang diluncurkan oleh armada ditandai dengan satu tanda: Kunci=Pusat-Biaya dan Nilai=123.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1 } }
Untuk menandai volume yang dilampirkan ke Instans Sesuai Permintaan yang diluncurkan oleh Armada Spot menggunakan AWS CLI

Untuk menandai volume saat dibuat oleh armada, Anda harus menentukan tanda di templat peluncuran yang direferensikan dalam permintaan Armada Spot.

catatan

Tanda volume hanya didukung untuk volume yang dilampirkan ke Instans Sesuai Permintaan. Anda tidak dapat menandai volume yang dilampirkan ke Instans Spot.

Penandaan volume LaunchSpecifications tidak didukung.

Menandai Armada Spot yang ada

Untuk menandai permintaan Armada Spot yang sudah ada menggunakan konsol

Setelah membuat permintaan Armada Spot, Anda dapat menambahkan tanda ke permintaan armada menggunakan konsol.

  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Permintaan Spot.

  3. Pilih permintaan Armada Spot Anda.

  4. Pilih tab Tanda dan pilih Buat Tanda.

Untuk menandai permintaan Armada Spot yang sudah ada menggunakan AWS CLI

Anda dapat menggunakan perintah create-tags untuk menandai sumber daya yang ada. Dalam contoh berikut, permintaan Armada Spot yang ada ditandai dengan Kunci=tujuan dan Nilai=uji.

aws ec2 create-tags \ --resources sfr-11112222-3333-4444-5555-66666EXAMPLE \ --tags Key=purpose,Value=test

Menampilkan tanda permintaan Armada Spot

Untuk menampilkan tanda permintaan Armada Spot menggunakan konsol
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Permintaan Spot.

  3. Pilih permintaan Armada Spot Anda dan pilih tab Tanda.

Untuk menjelaskan tanda permintaan Armada Spot

Gunakan perintah describe-tags untuk melihat tanda sumber daya yang ditentukan. Dalam contoh berikut, Anda menjelaskan tanda untuk permintaan Armada Spot yang ditentukan.

aws ec2 describe-tags \ --filters "Name=resource-id,Values=sfr-11112222-3333-4444-5555-66666EXAMPLE"
{ "Tags": [ { "Key": "Environment", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Production" }, { "Key": "Another key", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Another value" } ] }

Anda juga dapat menampilkan tanda permintaan Armada Spot dengan menjelaskan permintaan Armada Spot.

Gunakan describe-spot-fleet-requestsperintah untuk melihat konfigurasi permintaan Armada Spot yang ditentukan, yang mencakup tag apa pun yang ditentukan untuk permintaan armada.

aws ec2 describe-spot-fleet-requests \ --spot-fleet-request-ids sfr-11112222-3333-4444-5555-66666EXAMPLE
{ "SpotFleetRequestConfigs": [ { "ActivityStatus": "fulfilled", "CreateTime": "2020-02-13T02:49:19.709Z", "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimized", "OnDemandAllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "Default", "FulfilledCapacity": 2.0, "OnDemandFulfilledCapacity": 0.0, "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large" } ], "TargetCapacity": 2, "OnDemandTargetCapacity": 0, "Type": "maintain", "ReplaceUnhealthyInstances": false, "InstanceInterruptionBehavior": "terminate" }, "SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "SpotFleetRequestState": "active", "Tags": [ { "Key": "Environment", "Value": "Production" }, { "Key": "Another key", "Value": "Another value" } ] } ] }

Menjelaskan Armada Spot Anda

Armada Spot meluncurkan Instans Spot ketika harga maksimum Anda melebihi harga Spot dan kapasitas tersedia. Instans Spot berjalan hingga diinterupsi atau Anda mengakhirinya.

Untuk menjelaskan Armada Spot Anda (konsol)
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Permintaan Spot.

  3. Pilih permintaan Armada Spot Anda. Untuk melihat detail konfigurasi, pilih Deskripsi.

  4. Guna membuat daftar Instans Spot untuk Armada Spot, pilih Instans.

  5. Untuk menampilkan riwayat Armada Spot, pilih Riwayat.

Untuk menjelaskan Armada Spot Anda (AWS CLI)

Gunakan describe-spot-fleet-requestsperintah untuk menjelaskan permintaan Armada Spot Anda.

aws ec2 describe-spot-fleet-requests

Gunakan describe-spot-fleet-instancesperintah untuk mendeskripsikan Instans Spot untuk Armada Spot yang ditentukan.

aws ec2 describe-spot-fleet-instances \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE

Gunakan perintah describe-spot-fleet-request-history untuk menjelaskan riwayat permintaan Armada Spot yang ditentukan.

aws ec2 describe-spot-fleet-request-history \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --start-time 2015-05-18T00:00:00Z

Memodifikasi permintaan Armada Spot

Anda dapat memodifikasi permintaan Armada Spot yang aktif untuk menyelesaikan tugas berikut:

  • Meningkatkan kapasitas target dan bagian Sesuai Permintaan

  • Mengurangi kapasitas target dan bagian Sesuai Permintaan

catatan

Anda tidak dapat memodifikasi permintaan Armada Spot satu kali. Anda hanya dapat memodifikasi permintaan Armada Spot jika memilih Pertahankan kapasitas target saat membuat permintaan Armada Spot.

Saat Anda meningkatkan kapasitas target, Armada Spot meluncurkan Instans Spot tambahan. Saat Anda meningkatkan bagian Sesuai Permintaan, Armada Spot meluncurkan Instans Sesuai Permintaan tambahan.

Ketika Anda meningkatkan kapasitas target, Armada Spot meluncurkan Instans Spot tambahan sesuai dengan strategi alokasi untuk permintaan Armada Spotnya. Jika strategi alokasinya adalah lowestPrice, Armada Spot akan meluncurkan instans dari kolam kapasitas Spot dengan harga terendah dalam permintaan Armada Spot. Jika strategi alokasinya adalah diversified, Armada Spot akan mendistribusikan instans di kolam dalam permintaan Armada Spot.

Saat Anda menurunkan kapasitas target, Armada Spot membatalkan permintaan terbuka apa pun yang melebihi kapasitas target baru. Anda dapat meminta agar Armada Spot mengakhiri Instans Spot hingga ukuran armada mencapai kapasitas target yang baru. Jika strategi alokasinya adalah lowestPrice, maka Armada Spot akan mengakhiri instans dengan harga per unit tertinggi. Jika strategi alokasinya adalah diversified, Armada Spot akan mengakhiri instans di seluruh kolam. Atau, Anda dapat meminta agar Armada Spot mempertahankan armada pada ukurannya saat ini, tetapi tidak mengganti Instans Spot apa pun yang terinterupsi atau yang Anda akhiri secara manual.

Ketika Armada Spot mengakhiri instans karena kapasitas target berkurang, instans tersebut akan menerima pemberitahuan interupsi Instans Spot.

Untuk memodifikasi permintaan Armada Spot (konsol)
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Permintaan Spot.

  3. Pilih permintaan Armada Spot Anda.

  4. Pilih Tindakan, Modifikasi kapasitas target.

  5. Dalam Modifikasi kapasitas target, lakukan hal berikut:

    1. Masukkan kapasitas target baru dan bagian Sesuai Permintaan.

    2. (Opsional) Jika Anda menurunkan kapasitas target tetapi ingin mempertahankan armada pada ukurannya saat ini, hapus Akhiri instans.

    3. Pilih Kirim.

Untuk memodifikasi permintaan Armada Spot menggunakan AWS CLI

Gunakan modify-spot-fleet-requestperintah untuk memperbarui kapasitas target permintaan Armada Spot yang ditentukan.

aws ec2 modify-spot-fleet-request \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --target-capacity 20

Anda dapat mengubah perintah sebelumnya sebagai berikut untuk mengurangi kapasitas target Armada Spot yang ditentukan tanpa mengakhiri Instans Spot sebagai akibatnya.

aws ec2 modify-spot-fleet-request \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --target-capacity 10 \ --excess-capacity-termination-policy NoTermination

Membatalkan permintaan Armada Spot

Jika Anda tidak lagi membutuhkan Armada Spot, Anda dapat membatalkan permintaan Armada Spot. Setelah Anda membatalkan permintaan armada, semua permintaan Spot yang terkait dengan armada juga dibatalkan, sehingga tidak ada Instans Spot baru yang diluncurkan.

Saat membatalkan permintaan Armada Spot, Anda juga harus menentukan apakah ingin mengakhiri semua instans. Instans tersebut mencakup Instans Sesuai Permintaan dan Instans Spot.

Jika Anda menentukan bahwa instans harus diakhiri saat permintaan armada dibatalkan, permintaan armada akan memasuki status cancelled_terminating. Jika tidak, permintaan armada akan masuk ke status cancelled_running dan instans tersebut terus berjalan hingga diinterupsi atau Anda mengakhirinya secara manual.

Untuk membatalkan permintaan Armada Spot (konsol)
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Permintaan Spot.

  3. Pilih permintaan Armada Spot Anda.

  4. Pilih Tindakan, Batalkan permintaan.

  5. Di kotak dialog Batalkan permintaan Spot, lakukan hal berikut:

    1. Untuk mengakhiri instans yang terkait pada saat yang sama dengan membatalkan permintaan Armada Spot, biarkan kotak centang Akhiri instans dipilih. Untuk membatalkan permintaan Armada Spot tanpa mengakhiri instans terkait, kosongkan kotak centang Akhiri instans.

    2. Pilih Konfirmasi.

Untuk membatalkan permintaan Armada Spot dan mengakhiri instans menggunakan AWS CLI

Gunakan cancel-spot-fleet-requestsperintah untuk membatalkan permintaan Armada Spot yang ditentukan dan menghentikan Instans Sesuai Permintaan dan Instans Spot.

aws ec2 cancel-spot-fleet-requests \ --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --terminate-instances

Contoh Output

{ "SuccessfulFleetRequests": [ { "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "CurrentSpotFleetRequestState": "cancelled_terminating", "PreviousSpotFleetRequestState": "active" } ], "UnsuccessfulFleetRequests": [] }
Untuk membatalkan permintaan Armada Spot tanpa mengakhiri instans menggunakan AWS CLI

Anda dapat memodifikasi perintah sebelumnya menggunakan parameter --no-terminate-instances untuk membatalkan permintaan Armada Spot tertentu, tanpa mengakhiri Instans Sesuai Permintaan dan Instans Spot-nya.

aws ec2 cancel-spot-fleet-requests \ --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --no-terminate-instances

Contoh Output

{ "SuccessfulFleetRequests": [ { "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "CurrentSpotFleetRequestState": "cancelled_running", "PreviousSpotFleetRequestState": "active" } ], "UnsuccessfulFleetRequests": [] }