Praktik terbaik untuk Amazon EC2 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.

Praktik terbaik untuk Amazon EC2 Spot

Amazon EC2 menyediakan akses ke kapasitas EC2 komputasi cadangan di Instans Spot dengan penghematan hingga 90% dibandingkan dengan harga Sesuai Permintaan. AWS Cloud Satu-satunya perbedaan antara Instans Sesuai Permintaan dan Instans Spot adalah bahwa Instans Spot dapat diinterupsi oleh AmazonEC2, dengan pemberitahuan dua menit, jika Amazon EC2 perlu merebut kembali kapasitas. Untuk memastikan pengalaman terbaik dengan Instans Spot, penting untuk memahami dan menerapkan praktik terbaik untuk penggunaannya.

Instans Spot direkomendasikan untuk aplikasi tanpa stateless, toleransi kesalahan, dan fleksibel. Misalnya, Instans Spot berfungsi dengan baik untuk big data, beban kerja dalam container, CI/CD, server web stateless, komputasi kinerja tinggi (), dan beban kerja rendering. HPC

Saat berjalan, Instans Spot sama persis dengan Instans Sesuai Permintaan. Namun, Spot tidak menjamin bahwa Anda dapat mempertahankan instans agar berjalan cukup lama untuk menyelesaikan beban kerja Anda. Spot juga tidak menjamin bahwa Anda bisa langsung mendapatkan ketersediaan instans yang Anda cari, atau bahwa Anda selalu bisa mendapatkan kapasitas agregat yang Anda minta. Selain itu, interupsi dan kapasitas Instans Spot dapat berubah dari waktu ke waktu karena ketersediaan Instans Spot bervariasi berdasarkan pasokan dan permintaan. Selain itu, performa masa lalu bukanlah jaminan untuk hasil di masa mendatang.

Instans Spot tidak cocok untuk beban kerja yang tidak fleksibel, stateful, tidak toleran terhadap kesalahan, atau digabungkan erat di antara simpul instans. Kami tidak merekomendasikan Instans Spot untuk beban kerja yang tidak toleran terhadap periode tertentu saat seluruh kapasitas target tidak sepenuhnya tersedia. Meskipun mengikuti praktik terbaik Spot agar fleksibel tentang jenis instans dan Availability Zone memberikan peluang terbaik untuk ketersediaan tinggi, tidak ada jaminan bahwa kapasitas akan tersedia, karena lonjakan permintaan untuk Instans Sesuai Permintaan dapat mengganggu beban kerja pada Instans Spot.

Kami sangat tidak menyarankan untuk menggunakan Instans Spot untuk beban kerja ini atau mencoba mengalihkan ke Instans Sesuai Permintaan untuk menangani interupsi atau periode tidak tersedianya. Kegagalan pada Instans Sesuai Permintaan dapat secara tidak sengaja mendorong interupsi untuk Instans Spot Anda yang lain. Selain itu, jika Instans Spot untuk kombinasi tipe instans dan Availability Zone terputus, mungkin akan sulit bagi Anda untuk mendapatkan Instans Sesuai Permintaan dengan kombinasi yang sama.

Terlepas dari apakah Anda pengguna Spot berpengalaman atau baru menggunakan Instans Spot, jika saat ini Anda mengalami masalah terkait interupsi atau ketersediaan Instans Spot, kami sarankan Anda mengikuti praktik terbaik ini untuk mendapatkan pengalaman terbaik menggunakan layanan Spot.

Menyiapkan instans individu untuk interupsi

Cara terbaik agar Anda dapat menangani interupsi Instans Spot dengan baik adalah dengan merancang aplikasi Anda agar toleran terhadap kesalahan. Untuk melakukannya, Anda dapat memanfaatkan rekomendasi penyeimbangan kembali EC2 instans dan pemberitahuan interupsi Instans Spot.

Rekomendasi penyeimbangan ulang EC2 Instans adalah sinyal yang memberi tahu Anda saat Instans Spot berisiko tinggi mengalami gangguan. Sinyal tersebut memberi Anda kesempatan untuk secara proaktif mengelola Instans Spot sebelum pemberitahuan interupsi Instans Spot dua menit. Anda dapat memutuskan untuk menyeimbangkan kembali beban kerja Anda ke Instans Spot baru atau yang sudah ada yang tidak berisiko tinggi mengalami gangguan. Kami telah mempermudah Anda untuk menggunakan sinyal ini dengan menggunakan fitur Penyeimbangan Ulang Kapasitas di grup Auto Scaling dan Fleet. EC2

Pemberitahuan gangguan Instans Spot adalah peringatan yang dikeluarkan dua menit sebelum Amazon EC2 menginterupsi Instans Spot. Jika beban kerja Anda “fleksibel waktu”, Anda dapat mengonfigurasi Instans Spot untuk dihentikan atau dihibernasi, alih-alih diakhiri, saat terinterupsi. Amazon EC2 secara otomatis menghentikan atau menghibernasi Instans Spot Anda saat terjadi gangguan, dan secara otomatis melanjutkan instans saat kami memiliki kapasitas yang tersedia.

Kami menyarankan Anda membuat aturan di Amazon EventBridge yang menangkap rekomendasi penyeimbangan ulang dan pemberitahuan interupsi, lalu memicu pos pemeriksaan untuk kemajuan beban kerja Anda atau menangani interupsi dengan baik. Untuk informasi selengkapnya, lihat Pantau sinyal rekomendasi penyeimbangan kembali. Untuk contoh terperinci yang memandu Anda tentang cara membuat dan menggunakan aturan acara, lihat Memanfaatkan Pemberitahuan Gangguan Instans EC2 Spot Amazon.

Untuk informasi selengkapnya, silakan lihat EC2rekomendasi penyeimbangan kembali misalnya dan Interupsi Instans Spot.

Bersikaplah fleksibel terkait tipe instans dan Zona Ketersediaan

Kolam kapasitas Spot adalah sekumpulan instans yang tidak terpakai dengan tipe EC2 instans yang sama (misalnya,m5.large) dan Availability Zone (misalnya, us-east-1a). Anda harus fleksibel terkait tipe instans yang Anda minta dan di Zona Ketersediaan mana Anda dapat menerapkan beban kerja. Hal ini memberi Spot peluang yang lebih baik untuk menemukan dan mengalokasikan jumlah kapasitas komputasi yang Anda butuhkan. Misalnya, jangan hanya meminta c5.large jika Anda ingin menggunakan keluarga c4, m5, dan m4 yang lebih besar.

Tergantung kebutuhan tertentu, Anda dapat mengevaluasi tipe instans yang bisa digunakan secara fleksibel untuk memenuhi persyaratan komputasi Anda. Jika beban kerja dapat diskalakan secara vertikal, Anda harus menyertakan jenis instans yang lebih besar ( vCPUs lebihdan memori) dalam permintaan Anda. Jika hanya dapat menskalakan secara horizontal, Anda harus menyertakan tipe instans generasi sebelumnya karena permintaan dari pelanggan Sesuai Permintaan lebih sedikit.

Aturan praktis yang baik adalah bersikap fleksibel pada setidaknya 10 tipe instans untuk setiap beban kerja. Selain itu, pastikan semua Availability Zone dikonfigurasi untuk digunakan di Anda VPC dan dipilih untuk beban kerja Anda.

Gunakan pemilihan tipe instans berbasis atribut

Dengan pemilihan tipe instans berbasis atribut, Anda dapat menentukan atribut instans—seperti, memorivCPUs, dan penyimpanan—untuk beban kerja yang ingin Anda jalankan. EC2Auto Scaling atau EC2 Fleet kemudian akan secara otomatis mengidentifikasi dan meluncurkan instance yang cocok dengan atribut yang Anda tentukan. Ini menghilangkan upaya yang diperlukan untuk memilih jenis instans tertentu secara manual, yang memerlukan pemahaman mendalam tentang penawaran setiap jenis instance.

Selain itu, pemilihan tipe instans berbasis atribut memungkinkan Anda untuk secara otomatis menggunakan tipe instans yang baru dirilis saat tersedia. Ini memastikan akses yang mulus ke jangkauan kapasitas Instans Spot yang semakin luas.

Pemilihan tipe instans berbasis atribut sangat ideal untuk beban kerja dan kerangka kerja yang dapat fleksibel tentang jenis instans yang mereka jalankan, seperti High Performance Computing (HPC) dan beban kerja big data.

Untuk informasi selengkapnya, lihat Membuat grup instans campuran menggunakan pemilihan jenis instans berbasis atribut di Panduan Pengguna Penskalaan EC2 Otomatis Amazon dan dalam panduan ini. Tentukan atribut untuk pemilihan jenis contoh untuk EC2 Armada atau Armada Spot

Gunakan skor penempatan Spot untuk mengidentifikasi Wilayah dan Zona Ketersediaan yang optimal

Instans Spot adalah kapasitas yang tidak terpakai, dan EC2 kapasitas ini berfluktuasi berdasarkan EC2 penawaran dan permintaan. Akibatnya, Anda mungkin tidak selalu mendapatkan kapasitas Spot yang tepat yang Anda butuhkan di lokasi tertentu pada waktu tertentu. Untuk mengurangi ketidakpastian ini, Anda dapat menggunakan fitur Skor penempatan Spot. Fitur ini memberikan rekomendasi untuk Wilayah atau Availability Zone yang lebih mungkin memiliki kapasitas yang cukup untuk memenuhi kebutuhan kapasitas Spot Anda tanpa mengharuskan Anda meluncurkan Instans Spot di lokasi tersebut terlebih dahulu.

Skor penempatan spot paling baik digunakan untuk beban kerja yang fleksibel tentang jenis instans dan Wilayah atau Zona Ketersediaan yang dapat mereka gunakan. Yang perlu Anda lakukan hanyalah menentukan kapasitas Spot yang Anda butuhkan, persyaratan jenis instans Anda, dan apakah Anda menginginkan rekomendasi untuk Wilayah atau Zona Ketersediaan. Sebagai imbalannya, Anda menerima skor mulai dari 1 hingga 10 untuk setiap Wilayah atau Availability Zone, yang menunjukkan kemungkinan berhasil menyediakan kapasitas Spot yang Anda minta di lokasi tersebut. Skor 10 menunjukkan bahwa permintaan Spot Anda sangat mungkin berhasil.

Penting untuk dicatat bahwa skor penempatan Spot adalah point-in-time rekomendasi, karena kapasitas dapat bervariasi dari waktu ke waktu. Itu tidak menjamin kapasitas yang tersedia atau memprediksi risiko gangguan.

Anda dapat menggunakan fitur Skor penempatan Spot di EC2 konsol Amazon AWS CLI, atau fiturSDK. Untuk informasi selengkapnya, lihat Skor penempatan Spot.

Gunakan grup EC2 Auto Scaling atau EC2 Armada untuk mengelola kapasitas agregat Anda

Spot memungkinkan Anda berpikir dalam kerangka kapasitas agregat—dalam unit yang mencakupvCPUs, memori, penyimpanan, atau throughput jaringan—bukan berpikir dalam kerangka masing-masing instans. Grup Auto Scaling dan EC2 Armada memungkinkan Anda meluncurkan dan mempertahankan kapasitas target, dan secara otomatis meminta sumber daya untuk menggantikan sumber daya yang terganggu atau dihentikan secara manual. Saat mengonfigurasi grup Auto Scaling atau EC2 Fleet, Anda hanya perlu menentukan tipe instans dan kapasitas target berdasarkan kebutuhan aplikasi Anda. Untuk informasi lebih lanjut, lihat Grup Auto Scaling di Panduan Pengguna Amazon EC2 Auto Scaling Buat EC2 Armada dan dalam panduan pengguna ini.

Menggunakan strategi alokasi harga dan kapasitas yang dioptimalkan

Strategi alokasi dalam grup Auto Scaling membantu Anda menyediakan kapasitas target tanpa perlu mencari kolam kapasitas Spot secara manual dengan kapasitas tak terpakai. Kami merekomendasikan penggunaan strategi price-capacity-optimized karena strategi ini secara otomatis menyediakan instans dari kolam kapasitas Spot yang juga memiliki potensi harga paling rendah. Anda juga dapat memanfaatkan strategi price-capacity-optimized alokasi di EC2 Armada. Karena kapasitas Instans Spot Anda bersumber dari kolam dengan kapasitas optimal, hal ini mengurangi kemungkinan bahwa Instans Spot Anda diklaim kembali. Untuk informasi selengkapnya tentang strategi alokasi, lihat Instans Spot di Panduan Pengguna Auto EC2 Scaling Amazon Ketika beban kerja memiliki biaya interupsi yang tinggi dan dalam panduan pengguna ini.

Gunakan AWS layanan terintegrasi untuk mengelola Instans Spot Anda

AWS Layanan lainnya berintegrasi dengan Spot untuk mengurangi biaya komputasi secara keseluruhan tanpa perlu mengelola masing-masing instans atau armada. Kami menyarankan agar Anda mempertimbangkan solusi-solusi berikut untuk beban kerja Anda yang berlaku: AmazonEMR, Amazon Elastic Container AWS Batch,,, Amazon, dan SageMaker Amazon AWS Elastic Beanstalk. GameLift Untuk mempelajari lebih lanjut tentang praktik terbaik Spot dengan layanan ini, lihat Situs Web Bengkel Instans EC2 Spot Amazon.

Metode permintaan Spot mana yang terbaik untuk digunakan?

Gunakan tabel berikut untuk menentukan mana yang API akan digunakan saat meminta Instans Spot.

API Kapan harus menggunakan? Kasus penggunaan Haruskah saya menggunakan iniAPI?

CreateAutoScalingGroup

  • Anda memerlukan beberapa instans dengan konfigurasi tunggal atau konfigurasi campuran.

  • Anda ingin mengotomatiskan manajemen siklus hidup melalui konfigurasi. API

Buat grup Auto Scaling yang mengelola siklus hidup instans Anda sambil mempertahankan jumlah instans yang diinginkan. Mendukung penskalaan horizontal (menambahkan lebih banyak instans) antara batas minimum dan maksimum yang ditentukan.

Ya
CreateFleet
  • Anda memerlukan beberapa instans dengan konfigurasi tunggal atau konfigurasi campuran.

  • Anda ingin mengelola sendiri siklus hidup instans Anda.

  • Jika Anda tidak memerlukan penskalaan otomatis, kami sarankan Anda menggunakan armada tipe instant.

Buat armada Instans Sesuai Permintaan dan Instans Spot dalam satu permintaan, dengan beberapa spesifikasi peluncuran yang bervariasi menurut tipe instans, Availability ZoneAMI, atau subnet. Strategi alokasi Instans Spot default ke lowest-price per unit, tetapi Anda dapat mengubahnya menjadi price-capacity-optimized, capacity-optimized, atau diversified.

Ya – dalam mode instant jika Anda tidak memerlukan penskalaan otomatis

RunInstances
  • Anda sudah menggunakan RunInstances API untuk meluncurkan Instans Sesuai Permintaan, dan Anda hanya ingin mengubah untuk meluncurkan Instans Spot dengan mengubah satu parameter.

  • Anda tidak memerlukan banyak instans dengan tipe instans yang berbeda.

Luncurkan sejumlah instance tertentu menggunakan tipe AMI dan satu instance.

Tidak - karena RunInstances tidak mengizinkan jenis instance campuran dalam satu permintaan

RequestSpotFleet
  • Kami sangat tidak menyarankan menggunakan RequestSpotFleet API karena ini adalah warisan tanpa investasi API yang direncanakan.

  • Jika Anda ingin mengelola siklus hidup instans Anda, gunakan. CreateFleet API

  • Jika Anda tidak ingin mengelola siklus hidup instans Anda, gunakan. CreateAutoScalingGroup API

LAKUKAN NOTUSE. RequestSpotFleet adalah warisan API tanpa investasi yang direncanakan.

Tidak
RequestSpotInstances
  • Kami sangat tidak menyarankan menggunakan RequestSpotInstances API karena ini adalah warisan tanpa investasi API yang direncanakan.

LAKUKAN NOTUSE. RequestSpotInstances adalah warisan API tanpa investasi yang direncanakan.

Tidak