Cluster Amazon ECS untuk jenis peluncuran Fargate - Amazon Elastic Container Service

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

Cluster Amazon ECS untuk jenis peluncuran Fargate

Penyedia kapasitas Amazon ECS mengelola penskalaan infrastruktur untuk tugas di cluster Anda. Setiap cluster dapat memiliki satu atau lebih penyedia kapasitas dan strategi penyedia kapasitas opsional. Strategi penyedia kapasitas menentukan bagaimana tugas-tugas tersebar di penyedia kapasitas klaster ini. Saat menjalankan tugas mandiri atau membuat layanan, Anda dapat menggunakan strategi penyedia kapasitas default kluster atau strategi penyedia kapasitas yang mengganti tugas default.

Ketika Anda menjalankan tugas Anda AWS Fargate, Anda tidak perlu membuat atau mengelola kapasitas. Anda hanya perlu mengaitkan salah satu penyedia kapasitas yang telah ditentukan sebelumnya berikut dengan cluster:

  • Fargate

  • Spot Fargate

Dengan Amazon ECS pada penyedia AWS Fargate kapasitas, Anda dapat menggunakan kapasitas Fargate dan Fargate Spot dengan tugas Amazon ECS Anda.

Dengan Fargate Spot, Anda dapat menjalankan tugas Amazon ECS toleran interupsi dengan tarif yang didiskon dibandingkan dengan harga Fargate. Spot Fargate menjalankan tugas pada kapasitas komputasi cadangan. Ketika AWS membutuhkan kapasitas kembali, tugas Anda terganggu dengan peringatan dua menit. Fargate Spot hanya mendukung tugas Linux dengan arsitektur X86_64 pada platform versi 1.3.0 atau yang lebih baru.

Saat tugas yang menggunakan penyedia kapasitas Fargate dan Fargate Spot dihentikan, peristiwa perubahan status tugas dikirim ke Amazon. EventBridge Alasan berhenti menggambarkan penyebabnya. Untuk informasi selengkapnya, lihat Acara perubahan status tugas Amazon ECS.

Sebuah cluster dapat berisi campuran penyedia kapasitas grup Fargate dan Auto Scaling. Namun, strategi penyedia kapasitas hanya dapat berisi penyedia kapasitas grup Fargate atau Auto Scaling, tetapi tidak keduanya. Untuk informasi selengkapnya, lihat Penyedia Kapasitas Grup Auto Scaling.

Pertimbangkan hal berikut saat menggunakan penyedia kapasitas:

  • Anda harus mengaitkan penyedia kapasitas dengan klaster sebelum mengaitkannya dengan strategi penyedia kapasitas.

  • Anda dapat menentukan maksimal 20 penyedia kapasitas untuk strategi penyedia kapasitas.

  • Anda tidak dapat memperbarui layanan menggunakan penyedia kapasitas grup Auto Scaling untuk menggunakan penyedia kapasitas Fargate. Kebalikannya juga terjadi.

  • Dalam strategi penyedia kapasitas, jika tidak ada weight nilai yang ditentukan untuk penyedia kapasitas di konsol, maka nilai default 1 digunakan. Jika menggunakan API atau AWS CLI, nilai default 0 digunakan.

  • Ketika beberapa penyedia kapasitas ditentukan dalam strategi penyedia kapasitas, setidaknya salah satu penyedia kapasitas harus memiliki nilai bobot yang lebih besar dari nol. Setiap penyedia kapasitas dengan bobot nol tidak digunakan untuk menempatkan tugas. Jika Anda menentukan beberapa penyedia kapasitas dalam strategi dengan bobot nol yang sama, maka CreateService tindakan apa pun RunTask atau yang menggunakan strategi penyedia kapasitas gagal.

  • Dalam strategi penyedia kapasitas, hanya satu penyedia kapasitas yang dapat memiliki nilai dasar yang ditentukan. Jika tidak ada nilai dasar yang ditentukan, nilai default nol digunakan.

  • Sebuah cluster dapat berisi campuran penyedia kapasitas grup Auto Scaling dan penyedia kapasitas Fargate. Namun, strategi penyedia kapasitas hanya dapat berisi grup Auto Scaling atau penyedia kapasitas Fargate, tetapi tidak keduanya.

  • Cluster dapat berisi campuran layanan dan tugas mandiri yang menggunakan penyedia kapasitas dan jenis peluncuran. Layanan dapat diperbarui untuk menggunakan strategi penyedia kapasitas daripada jenis peluncuran. Namun, Anda harus memaksa penerapan baru saat melakukannya.

Pemberitahuan penghentian Fargate Spot

Selama periode permintaan yang sangat tinggi, kapasitas Fargate Spot mungkin tidak tersedia. Hal ini dapat menyebabkan tugas Fargate Spot tertunda. Ketika ini terjadi, layanan Amazon ECS mencoba lagi meluncurkan tugas hingga kapasitas yang diperlukan tersedia. Fargate tidak menggantikan kapasitas Spot dengan kapasitas on-demand.

Ketika tugas yang menggunakan kapasitas Fargate Spot dihentikan karena gangguan Spot, peringatan dua menit dikirim sebelum tugas dihentikan. Peringatan dikirim sebagai peristiwa perubahan status tugas ke Amazon EventBridge dan sebagai sinyal SIGTERM ke tugas yang sedang berjalan. Jika Anda menggunakan Fargate Spot sebagai bagian dari layanan, maka dalam skenario ini penjadwal layanan menerima sinyal interupsi dan mencoba meluncurkan tugas tambahan di Fargate Spot jika ada kapasitas yang tersedia. Layanan dengan hanya satu tugas terganggu sampai kapasitas tersedia. Untuk informasi lebih lanjut tentang shutdown yang anggun, lihat Penutupan anggun dengan ECS.

Untuk memastikan bahwa kontainer Anda keluar dengan anggun sebelum tugas berhenti, Anda dapat mengonfigurasi hal berikut:

  • Nilai stopTimeout selama 120 detik atau kurang dapat ditentukan dalam ketentuan kontainer yang digunakan oleh tugas. stopTimeoutNilai defaultnya adalah 30 detik. Anda dapat menentukan stopTimeout nilai yang lebih panjang untuk memberi diri Anda lebih banyak waktu antara saat peristiwa perubahan status tugas diterima dan titik waktu ketika penampung dihentikan secara paksa. Untuk informasi selengkapnya, lihat Waktu habis kontainer.

  • Sinyal SIGTERM harus diterima dari dalam kontainer untuk melakukan tindakan pembersihan. Kegagalan untuk memproses sinyal ini mengakibatkan tugas menerima sinyal SIGKILL setelah dikonfigurasi stopTimeout dan dapat mengakibatkan kehilangan data atau korupsi.

Berikut ini adalah cuplikan dari peristiwa perubahan status tugas. Cuplikan ini menampilkan alasan berhenti dan kode berhenti untuk gangguan Fargate Spot.

{ "version": "0", "id": "9bcdac79-b31f-4d3d-9410-fbd727c29fab", "detail-type": "ECS Task State Change", "source": "aws.ecs", "account": "111122223333", "resources": [ "arn:aws:ecs:us-east-1:111122223333:task/b99d40b3-5176-4f71-9a52-9dbd6f1cebef" ], "detail": { "clusterArn": "arn:aws:ecs:us-east-1:111122223333:cluster/default", "createdAt": "2016-12-06T16:41:05.702Z", "desiredStatus": "STOPPED", "lastStatus": "RUNNING", "stoppedReason": "Your Spot Task was interrupted.", "stopCode": "SpotInterruption", "taskArn": "arn:aws:ecs:us-east-1:111122223333:task/b99d40b3-5176-4f71-9a52-9dbd6fEXAMPLE", ... } }

Berikut ini adalah pola peristiwa yang digunakan untuk membuat EventBridge aturan untuk peristiwa perubahan status tugas Amazon ECS. Anda dapat secara opsional menentukan cluster di detail lapangan. Melakukannya berarti Anda akan menerima peristiwa perubahan status tugas untuk cluster itu. Untuk informasi selengkapnya, lihat Membuat EventBridge Aturan di Panduan EventBridge Pengguna Amazon.

{ "source": [ "aws.ecs" ], "detail-type": [ "ECS Task State Change" ], "detail": { "clusterArn": [ "arn:aws:ecs:us-west-2:111122223333:cluster/default" ] } }