Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memperbarui layanan menggunakan konsol klasik
Amazon ECS telah menyediakan pengalaman konsol baru untuk memperbarui layanan. Untuk informasi selengkapnya, lihat Memperbarui layanan menggunakan konsol.
Anda dapat memperbarui layanan yang ada untuk mengubah beberapa parameter konfigurasi layanan, seperti jumlah tugas yang dikelola oleh layanan, penentuan tugas yang digunakan oleh tugas, atau jika tugas Anda menggunakan tipe peluncuran Fargate, Anda dapat mengubah versi platform yang digunakan oleh layanan Anda. Layanan yang menggunakan versi platform Linux tidak dapat diperbarui untuk menggunakan versi platform Windows dan sebaliknya. Jika Anda memiliki aplikasi yang membutuhkan kapasitas lebih besar, maka Anda dapat menaikkan skala layanan. Jika Anda memiliki kapasitas yang tidak digunakan untuk menurunkan skala, maka Anda dapat mengurangi jumlah tugas yang diinginkan dalam layanan dan mengosongkan sumber daya.
Jika Anda ingin menggunakan citra kontainer yang diperbarui untuk tugas Anda, Anda dapat membuat revisi penentuan tugas baru dengan citra tersebut dan men-deploy-nya ke layanan Anda dengan menggunakan opsi memaksa deployment baru di dalam konsol.
Penjadwal layanan menggunakan parameter persentase minimum dan maksimum yang sehat (dalam konfigurasi deployment untuk layanan) untuk menentukan strategi deployment.
Jika layanan menggunakan tipe deployment (ECS
) pembaruan bergulir, persentase minimum yang sehat mewakili batas bawah jumlah tugas dalam layanan yang harus tetap berada dalam status RUNNING
selama deployment, sebagai persentase jumlah tugas yang diinginkan (dibulatkan ke atas ke bilangan bulat terdekat). Parameter tersebut juga berlaku saat instans kontainer mana pun berada dalamDRAINING
status jika layanan berisi tugas yang menggunakan tipe peluncuran EC2. Gunakan parameter ini untuk men-deploy tanpa menggunakan kapasitas klaster tambahan. Misalnya, jika layanan Anda memiliki jumlah empat tugas yang diinginkan dan persentase minimum yang sehat adalah 50 persen, maka maka maka penjadwal dapat menghentikan dua tugas yang sudah ada untuk membebaskan kapasitas klaster sebelum memulai dua tugas baru. Tugas untuk layanan yang tidak menggunakan penyeimbang beban dianggap sehat jika berada dalam status RUNNING
. Tugas untuk layanan yang menggunakan penyeimbang beban dianggap sehat jika berada dalam status RUNNING
dan dilaporkan sehat oleh penyeimbang beban. Nilai default untuk persentase minimum yang sehat adalah 100 persen.
Jika layanan menggunakan tipe deployment (ECS
) pembaruan bergulir, maka parameter persentase maksimum mewakili batas atas pada jumlah tugas dalam layanan yang diperbolehkan diPENDING
RUNNING
, atauSTOPPING
status selama deployment, sebagai persentase jumlah tugas yang diinginkan (dibulatkan ke bawah ke bilangan bulat terdekat). Parameter tersebut juga berlaku saat instans kontainer mana pun berada dalamDRAINING
status jika layanan berisi tugas yang menggunakan tipe peluncuran EC2. Gunakan parameter ini untuk menentukan ukuran batch deployment. Misalnya, jika layanan Anda memiliki jumlah empat tugas yang diinginkan dan nilai persen maksimum 200 persen, penjadwal dapat memulai empat tugas baru sebelum menghentikan empat tugas yang lebih lama. Syaratnya, sumber daya klaster yang diperlukan untuk melakukan hal itu tersedia. Nilai default untuk persentase maksimum adalah 200 persen.
Jika layanan menggunakan deployment () biru/hijau (CODE_DEPLOY
) dan tugas yang menggunakan tipe peluncuran EC2, nilai persentase minimum yang sehat dan persentase maksimum diatur ke nilai default. Itu semua hanya digunakan untuk menentukan batas bawah dan atas pada jumlah tugas dalam layanan yang tersisa dan berada dalam status RUNNING
saat instans kontainer berada dalam status DRAINING
. Jika tugas dalam layanan menggunakan tipe peluncuran Fargate, persentase kondisi minimal dan nilai persentase maksimum tidak digunakan. Saat ini mereka terlihat saat menjelaskan layanan Anda.
Saat penjadwal layanan mengganti tugas selama pembaruan, maka layanan terlebih dahulu menghapus tugas dari penyeimbang beban (jika digunakan) dan menunggu koneksi dialihkan. Kemudian, docker stop yang setara dikeluarkan untuk kontainer yang berjalan dalam tugas. Hal ini menyebabkan sinyal SIGTERM
dan waktu habis dalam 30 detik, setelah SIGKILL
dikirim dan kontainer dihentikan secara paksa. Jika kontainer menangani sinyal SIGTERM
dengan baik dan keluar dalam waktu 30 detik dari saat menerimanya, maka sinyal SIGKILL
tidak dikirim. Penjadwal layanan memulai dan menghentikan tugas seperti yang ditentukan melalui pengaturan persentase minimum dan maksimum yang sehat.
Jika Anda mengubah port yang digunakan oleh kontainer dalam penentuan tugas, maka Anda mungkin perlu memperbarui grup keamanan untuk instans kontainer agar berfungsi dengan port yang diperbarui.
Anda dapat menggunakanAWS CLI atau SDK untuk memodifikasi konfigurasi load balancer. Untuk informasi tentang cara memodifikasi konfigurasi, lihat UpdateServicedi Referensi API Amazon Elastic Container Service.
Jika Anda memperbarui ketentuan tugas untuk layanan, nama kontainer dan port kontainer yang ditentukan ketika layanan dibuat harus tetap dalam ketentuan tugas.
Untuk mengubah nama kontainer, atau port kontainer yang terkait dengan konfigurasi penyeimbang beban layanan, Anda harus membuat layanan baru.
Amazon ECS tidak secara otomatis memperbarui grup keamanan yang terkait dengan penyeimbang beban Elastic Load Balancing atau instans kontainer Amazon ECS.
Untuk memperbarui layanan yang sedang berjalan
Buka konsol Amazon ECS di https://console.aws.amazon.com/ecs/
. -
Di bilah navigasi, pilih Wilayah tempat klaster Anda berada.
-
Di panel navigasi, pilih Klaster.
-
Pada halaman Klaster, pilih nama klaster tempat layanan Anda berada.
-
Pada Klaster:
nama
, pilih Layanan. -
Centang kotak di sebelah kiri layanan untuk memperbarui dan pilih Perbarui.
-
Pada halaman Konfigurasi layanan, informasi layanan Anda sudah terisi sebelumnya. Ubah penentuan tugas, strategi penyedia kapasitas, versi platform, konfigurasi deployment, atau jumlah tugas yang diinginkan (atau kombinasi itu semua). Agar layanan Anda memulai deployment baru, yang akan menghentikan dan meluncurkan kembali semua tugas menggunakan konfigurasi baru, pilih Paksa deployment baru. Pilih Langkah selanjutnya setelah selesai mengubah konfigurasi layanan.
catatan Layanan yang menggunakan penyedia kapasitas grup Auto Scaling tidak dapat diperbarui untuk menggunakan penyedia kapasitas Fargate dan sebaliknya.
Sebuah layanan yang menggunakan versi platform Linux tidak dapat diperbarui untuk menggunakan versi platform Windows dan sebaliknya.
-
Pada halaman Konfigurasi deployment, jika layanan Anda menggunakan tipe deployment biru/hijau, maka komponen deployment layanan Anda sudah terisi sebelumnya. Konfirmasikan pengaturan berikut.
-
Untuk Nama aplikasi, pilih aplikasi CodeDeploy tempat layanan Anda menjadi bagiannya.
-
Untuk Nama grup deployment, pilih grup deployment CodeDeploy tempat layanan Anda menjadi bagiannya.
-
Pilih hook kejadian siklus hidup deployment dan fungsi Lambda terkait untuk dijalankan sebagai bagian dari revisi deployment layanan baru. Kait siklus hidup yang tersedia adalah:
-
BeforeInstall— Gunakan hook kejadian siklus hidup deployment ini untuk memanggil fungsi Lambda sebelum set tugas pengganti dibuat. Hasil dari fungsi Lambda pada kejadian siklus hidup ini tidak memulai rollback.
-
AfterInstall— Gunakan hook kejadian siklus hidup deployment ini untuk memanggil fungsi Lambda setelah set tugas pengganti dibuat. Hasil dari fungsi Lambda pada kejadian siklus hidup ini dapat memulai rollback.
-
BeforeAllowTraffic— Gunakan hook kejadian siklus hidup deployment ini untuk memanggil fungsi Lambda sebelum lalu lintas produksi dirutekan ulang ke set tugas pengganti. Hasil dari fungsi Lambda pada kejadian siklus hidup ini dapat memulai rollback.
-
AfterAllowTraffic— Gunakan hook kejadian siklus hidup deployment ini untuk memanggil fungsi Lambda setelah lalu lintas produksi dirutekan ulang ke set tugas pengganti. Hasil dari fungsi Lambda pada kejadian siklus hidup ini dapat memulai rollback.
Untuk informasi selengkapnya tentang hook siklus hidup, lihat BagianAppSpec 'hooks' dalam PanduanAWS CodeDeploy Pengguna.
-
-
-
Pilih Langkah Selanjutnya.
-
Pada halaman Konfigurasi jaringan, informasi jaringan Anda telah terisi sebelumnya. Di bagian Penyeimbangan beban, jika layanan Anda menggunakan tipe deployment biru/hijau, maka pilih listener untuk dikaitkan dengan grup target. Ubah masa tenggang pemeriksaan kondisi (jika diinginkan) dan pilih Langkah selanjutnya.
-
(Opsional) Anda dapat menggunakan Auto Scaling Layanan untuk menaikkan dan menurunkan skala layanan secara otomatis sebagai respons terhadap CloudWatch alarm.
-
Di bawah Konfigurasi opsional, pilih Konfigurasi Auto Scaling Layanan.
-
Lanjutkan ke Langkah 5: Mengonfigurasi layanan Anda untuk menggunakan Service Auto Scaling.
-
Selesaikan langkah-langkah di bagian tersebut dan kemudian kembali.
-
-
Pilih Perbarui Layanan untuk menyelesaikan dan memperbarui layanan Anda.