View a markdown version of this page

Cluster Amazon ECS untuk 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 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 yang toleran terhadap gangguan 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.

Ketika 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 Peristiwa perubahan status tugas Amazon ECS.

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 Penye dia Kapasitas Grup Penskalaan Otomatis.

Pertimbangkan hal berikut saat menggunakan penyedia kapasitas:

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

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

  • Anda tidak dapat memperbarui layanan menggunakan penyedia kapasitas grup Penskalaan Otomatis 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 satu penyedia kapasitas harus memiliki nilai bobot yang lebih besar dari nol. Penyedia kapasitas apa pun 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 RunTask pun 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.

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

  • Cluster dapat berisi campuran layanan dan tugas mandiri yang menggunakan kedua penyedia kapasitas. 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 sampai kapasitas yang diperlukan tersedia. Fargate tidak mengganti kapasitas Spot dengan kapasitas sesuai permintaan.

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 selengkapnya tentang shutdown yang anggun, lihat Shutdown yang anggun dengan EC S.

Untuk memastikan bahwa kontainer Anda keluar dengan lancar sebelum tugas berhenti, Anda dapat mengonfigurasi yang 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 wadah 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 hilangnya data atau kerusakan.

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 tentang membuat EventBridge aturan, lihat Mem ulai dengan Amazon EventBridge 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" ] } }