ECSCluster Amazon 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.

ECSCluster Amazon untuk jenis peluncuran Fargate

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

Saat menjalankan tugas 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 Anda. ECS

Dengan Spot Fargate, Anda dapat menjalankan ECS tugas Amazon yang toleran terhadap 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.

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

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.

Saat menggunakan penyedia kapasitas, pertimbangkan hal berikut:

  • 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 or AWS CLI, nilai default 0 digunakan.

  • Ketika beberapa penyedia kapasitas ditetapkan dalam strategi penyedia kapasitas, setidaknya satu dari penyedia kapasitas harus memiliki nilai berat 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 berat nol yang sama, maka CreateService tindakan apa RunTask pun yang menggunakan strategi penyedia kapasitas gagal.

  • Dalam strategi penyedia kapasitas, hanya satu penyedia kapasitas dapat memiliki nilai basis yang ditentukan. Jika tidak 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.

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

Pemberitahuan pengakhiran 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, ECS layanan Amazon mencoba lagi meluncurkan tugas hingga kapasitas yang diperlukan tersedia. Fargate tidak menggantikan kapasitas Spot dengan kapasitas on-demand.

Ketika tugas yang menggunakan kapasitas Spot Fargate berhenti karena gangguan Spot, peringatan dua menit dikirim sebelum tugas dihentikan. Peringatan dikirim sebagai peristiwa perubahan status tugas ke Amazon EventBridge dan sebagai SIGTERM sinyal untuk tugas yang berjalan. Jika Anda menggunakan Fargate Spot sebagai bagian dari layanan, maka dalam skenario ini penjadwal layanan menerima sinyal interupsi dan mencoba untuk 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 baik sebelum tugas berhenti, Anda dapat mengonfigurasi hal berikut ini:

  • 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 Anda lebih banyak waktu diantara kejadian perubahan status tugas diterima dengan saat kontainer dipaksa untuk berhenti. Untuk informasi selengkapnya, lihat Waktu habis kontainer.

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

Berikut ini adalah potongan kejadian 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 kejadian yang digunakan untuk membuat EventBridge aturan untuk peristiwa perubahan status ECS tugas Amazon. Anda dapat secara opsional menentukan sebuah klaster di detail lapangan. Melakukannya berarti Anda akan menerima peristiwa perubahan status tugas untuk cluster itu. Untuk informasi selengkapnya tentang membuat EventBridge aturan, lihat Memulai 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" ] } }