AWS Pemeliharaan tugas Fargate di Amazon ECS FAQ - Amazon Elastic Container Service

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

AWS Pemeliharaan tugas Fargate di Amazon ECS FAQ

Apa itu pemeliharaan tugas Fargate dan pensiun?

AWS bertanggung jawab untuk menjaga infrastruktur yang mendasari AWS Fargate. AWS menentukan kapan revisi versi platform perlu diganti dengan revisi baru untuk infrastruktur. Ini dikenal sebagai pensiun tugas. AWS mengirimkan pemberitahuan pensiun tugas ketika revisi versi platform dihentikan. Kami secara rutin memperbarui versi platform kami yang didukung untuk memperkenalkan revisi baru yang berisi pembaruan pada perangkat lunak runtime Fargate dan dependensi yang mendasarinya seperti sistem operasi dan runtime kontainer. Setelah revisi yang lebih baru tersedia, kami menghentikan revisi lama untuk memastikan semua beban kerja pelanggan berjalan pada revisi terbaru dari versi platform Fargate. Ketika revisi dihentikan, semua tugas yang berjalan pada revisi itu dihentikan.

Tugas Amazon ECS dapat dikategorikan sebagai tugas layanan atau tugas mandiri. Tugas layanan digunakan sebagai bagian dari layanan dan dikendalikan oleh jadwal Amazon ECS. Untuk informasi selengkapnya, lihat Layanan-layanan Amazon ECS. Tugas mandiri adalah tugas yang dimulai oleh Amazon ECS RunTask API, baik secara langsung atau oleh penjadwal eksternal seperti tugas terjadwal (yang dimulai oleh Amazon EventBridge), AWS Batch atau. AWS Step Functions

Untuk tugas layanan, Anda tidak perlu mengambil tindakan apa pun kecuali Anda ingin mengganti tugas ini sebelum AWS melakukannya. Ketika penjadwal Amazon ECS menghentikan tugas, ia menggunakan persentase sehat minimum dan meluncurkan tugas baru dalam upaya untuk mempertahankan jumlah yang diinginkan untuk layanan. Secara default, persentase kesehatan minimum dari suatu layanan adalah 100 persen, jadi tugas baru dimulai terlebih dahulu sebelum tugas dihentikan. Tugas layanan diganti secara rutin dengan cara yang sama saat Anda menskalakan layanan, menerapkan perubahan konfigurasi, atau menerapkan revisi definisi tugas. Untuk mempersiapkan proses pensiun tugas, kami sarankan Anda menguji perilaku aplikasi Anda dengan mensimulasikan skenario ini. Anda dapat melakukannya dengan menghentikan tugas individual dalam layanan Anda untuk menguji ketahanannya.

Untuk pensiun tugas mandiri, AWS hentikan tugas pada atau setelah tanggal pensiun tugas. kami tidak meluncurkan tugas pengganti ketika tugas dihentikan. Jika Anda memerlukan tugas-tugas ini untuk terus berjalan, Anda harus menghentikan tugas yang sedang berjalan dan meluncurkan tugas pengganti sebelum waktu yang ditunjukkan dalam pemberitahuan. Oleh karena itu, kami menyarankan agar pelanggan memantau keadaan tugas mandiri dan jika diperlukan, terapkan logika untuk mengganti tugas yang dihentikan.

Ketika tugas dihentikan di salah satu skenario, Anda dapat menjalankannyadescribe-tasks. Yang stoppedReason dalam tanggapannya adalahECS is performing maintenance on the underlying infrastructure hosting the task.

Pemeliharaan tugas berlaku ketika ada revisi versi platform baru perlu diganti dengan revisi baru. Jika ada masalah dengan host Fargate yang mendasarinya, Amazon ECS menggantikan host tanpa pemberitahuan pensiun tugas.

Apa yang ada dalam pemberitahuan pensiun tugas?

Pemberitahuan pensiun tugas dikirim melalui AWS Health Dasbor serta melalui email ke alamat email yang terdaftar dan mencakup informasi berikut:

  • Tanggal pensiun tugas - Tugas dihentikan pada atau setelah tanggal ini.

  • Untuk tugas mandiri, ID tugas.

  • Untuk tugas layanan, ID cluster tempat layanan berjalan dan ID layanan.

  • Langkah selanjutnya yang perlu Anda ambil.

Biasanya, kami mengirim satu pemberitahuan masing-masing untuk layanan dan tugas mandiri di masing-masing Wilayah AWS. Namun, dalam kasus tertentu Anda mungkin menerima lebih dari satu peristiwa untuk setiap jenis tugas, misalnya ketika ada terlalu banyak tugas yang harus dihentikan yang akan melampaui batas dalam mekanisme pemberitahuan kami.

Anda dapat mengidentifikasi tugas yang dijadwalkan untuk pensiun dengan cara-cara berikut:

  • The AWS Health Dashboard

    AWS Health pemberitahuan dapat dikirim melalui Amazon EventBridge ke penyimpanan arsip seperti Amazon Simple Storage Service, mengambil tindakan otomatis seperti menjalankan AWS Lambda fungsi, atau sistem notifikasi lainnya seperti Amazon Simple Notification Service. Untuk informasi selengkapnya, lihat Memantau AWS Health peristiwa dengan Amazon EventBridge. Untuk konfigurasi sampel untuk mengirim notifikasi ke Amazon Chime, Slack, atau Microsoft Teams, lihat repositori AWS Health Aware aktif. GitHub

    Berikut ini adalah contoh EventBridge acara.

    { "version": "0", "id": "3c268027-f43c-0171-7425-1d799EXAMPLE", "detail-type": "AWS Health Event", "source": "aws.health", "account": "123456789012", "time": "2023-08-16T23:18:51Z", "region": "us-east-1", "resources": [ "cluster/service", "cluster/service" ], "detail": { "eventArn": "arn:aws:health:us-east-1::event/ECS/AWS_ECS_TASK_PATCHING_RETIREMENT/AWS_ECS_TASK_PATCHING_RETIREMENT_test1", "service": "ECS", "eventScopeCode": "ACCOUNT_SPECIFIC", "communicationId": "7988399e2e6fb0b905ddc88e0e2de1fd17e4c9fa60349577446d95a18EXAMPLE", "lastUpdatedTime": "Wed, 16 Aug 2023 23:18:52 GMT", "eventRegion": "us-east-1", "eventTypeCode": "AWS_ECS_TASK_PATCHING_RETIREMENT", "eventTypeCategory": "scheduledChange", "startTime": "Wed, 16 Aug 2023 23:18:51 GMT", "endTime": "Fri, 18 Aug 2023 23:18:51 GMT", "eventDescription": [ { "language": "en_US", "latestDescription": "\\nA software update has been deployed to Fargate which includes CVE patches or other critical patches. No action is required on your part. All new tasks launched automatically uses the latest software version. For existing tasks, your tasks need to be restarted in order for these updates to apply. Your tasks running as part of the following ECS Services will be automatically updated beginning Wed, 16 Aug 2023 23:18:51 GMT.\\n\\nAfter Wed, 16 Aug 2023 23:18:51 GMT, the ECS scheduler will gradually replace these tasks, respecting the deployment settings for your service. Typically, services should see little to no interruption during the update and no action is required. When AWS stops tasks, AWS uses the minimum healthy percent (1) and launches a new task in an attempt to maintain the desired count for the service. By default, the minimum healthy percent of a service is 100 percent, so a new task is started first before a task is stopped. Service tasks are routinely replaced in the same way when you scale the service or deploy configuration changes or deploy task definition revisions. If you would like to control the timing of this restart you can update the service before Wed, 16 Aug 2023 23:18:51 GMT, by running the update-service command from the ECS command-line interface specifying force-new-deployment for services using Rolling update deployment type. For example:\\n\\n$ aws ecs update-service -service service_name \\\n--cluster cluster_name -force-new-deployment\\n\\nFor services using Blue/Green deployment type with AWS CodeDeploy:\\nPlease refer to create-deployment document (2) and create new deployment using same task definition revision.\\n\\nFor further details on ECS deployment types, please refer to ECS Deployment Developer Guide (1).\\nFor further details on Fargate's update process, please refer to the AWS Fargate User Guide (3).\\nIf you have any questions or concerns, please contact AWS Support (4).\\n\\n(1) https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html\\n(2) https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html\\n(3) https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-maintenance.html\\n(4) https://aws.amazon.com/support\\n\\nA list of your affected resources(s) can be found in the 'Affected resources' tab in the 'Cluster/ Service' format in the AWS Health Dashboard. \\n\\n" } ], "affectedEntities": [ { "entityValue": "cluster/service" }, { "entityValue": "cluster/service" } ] } }
  • Email

    Email dikirim ke email terdaftar untuk Akun AWS ID.

Bisakah saya mengubah tugas pensiun waktu tunggu?

Anda dapat mengkonfigurasi waktu Fargate memulai tugas pensiun. Untuk beban kerja yang memerlukan aplikasi pembaruan segera, pilih pengaturan langsung (0). Ketika Anda membutuhkan kontrol lebih, misalnya, ketika tugas hanya dapat dihentikan selama jendela tertentu, konfigurasikan opsi 7 hari (7), atau 14 hari (14).

Kami menyarankan Anda memilih masa tunggu yang lebih pendek untuk mengambil revisi versi platform yang lebih baru lebih cepat.

Konfigurasikan periode tunggu dengan menjalankan put-account-setting-default atau put-account-setting sebagai pengguna root atau pengguna administratif. Gunakan fargateTaskRetirementWaitPeriod opsi untuk name dan value opsi yang disetel ke salah satu nilai berikut:

  • 0- AWS mengirim pemberitahuan, dan segera mulai pensiun tugas yang terpengaruh.

  • 7- AWS mengirim pemberitahuan, dan menunggu 7 hari kalender sebelum mulai pensiun tugas yang terpengaruh.

  • 14- AWS mengirim pemberitahuan, dan menunggu 14 hari kalender sebelum mulai pensiun tugas yang terpengaruh.

Defaultnya adalah 7 hari.

Untuk informasi selengkapnya, lihat, put-account-setting-default dan put-account-setting di Referensi API Amazon Elastic Container Service.

Untuk informasi selengkapnya, lihat AWS Fargate tugas pensiun waktu tunggu.

Bisakah saya mendapatkan pemberitahuan pensiun tugas melalui AWS layanan lain?

AWS mengirimkan pemberitahuan pensiun tugas ke AWS Health Dashboard dan ke kontak email utama di Akun AWS. AWS Health Dashboard Ini menyediakan sejumlah integrasi ke AWS layanan lain, termasuk EventBridge. Anda dapat menggunakan EventBridge untuk mengotomatiskan visibilitas pemberitahuan (Misalnya. meneruskan pesan ke alat). ChatOps Untuk informasi selengkapnya, lihat Ringkasan solusi: Menangkap pemberitahuan pensiun tugas.

Bisakah saya mengubah pensiun tugas setelah dijadwalkan?

Tidak. Jadwal didasarkan pada tugas waktu tunggu pensiun yang memiliki default 7 hari. Jika Anda membutuhkan lebih banyak waktu, Anda dapat memilih untuk mengkonfigurasi periode tunggu hingga 14 hari. Untuk informasi selengkapnya, lihat Bisakah saya mengubah tugas pensiun waktu tunggu?. Perubahan dalam konfigurasi ini berlaku untuk pensiun yang akan dijadwalkan di masa depan. Pensiun yang dijadwalkan saat ini tidak terpengaruh. Jika Anda memiliki masalah lebih lanjut, hubungi AWS Support.

Bisakah saya mengontrol waktu penggantian tugas?

Untuk layanan yang menggunakan penerapan bergulir, Anda memperbarui layanan menggunakan update-service force-deployment opsi sebelum waktu mulai pensiun.

update-serviceContoh berikut menggunakan force-deployment opsi.

aws ecs update-service —-service service_name \ --cluster cluster_name \ --force-new-deployment

Untuk layanan yang menggunakan penerapan biru/hijau, Anda perlu membuat penerapan baru di. AWS CodeDeployUntuk informasi tentang cara membuat penerapan, lihat create-deployment di Referensi.AWS Command Line Interface

Bagaimana Amazon ECS menangani tugas yang merupakan bagian dari layanan?

Amazon ECS secara bertahap menggantikan tugas yang terpengaruh dalam layanan Anda ketika masa pensiun Fargate dimulai. Saat Amazon ECS menghentikan tugas, Amazon menggunakan persen sehat minimum layanan dan meluncurkan tugas baru untuk mempertahankan jumlah tugas yang diinginkan untuk layanan. Tugas baru dimulai sebelum tugas dihentikan karena persen kesehatan minimum default adalah 100. Tugas layanan diganti secara rutin dengan cara yang sama saat Anda menskalakan layanan, menerapkan perubahan konfigurasi, atau menerapkan revisi definisi tugas. Untuk informasi lebih lanjut tentang persen sehat minimum, lihatKonfigurasi deployment.

Bisakah Amazon ECS secara otomatis menangani tugas mandiri?

Tidak. AWS tidak dapat membuat tugas pengganti untuk tugas mandiri yang dimulai olehRunTask, tugas terjadwal (misalnya melalui EventBridge Scheduler) AWS Batch, atau. AWS Step Functions Amazon ECS hanya mengelola tugas yang merupakan bagian dari layanan.