Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Praktik terbaik untuk menyebarkan pembaruan dengan aman
Amazon Linux 2023 (AL2023) memiliki beberapa fitur yang dirancang untuk membantu menyebarkan pembaruan dengan aman ke Sistem Operasi, dan dapat mengetahui apa yang berubah di antara pembaruan, dan jika perlu, dengan mudah kembali ke versi yang lebih lama. Bagian ini mengeksplorasi pelajaran yang dipetik AWS dari lebih dari satu dekade penggunaan internal dan eksternal Amazon Linux.
Awas
Men dnf --releasever=latest update jalankan bukanlah praktik terbaik, dan kemungkinan akan menghasilkan pembaruan OS yang pertama kali diuji dalam produksi.
Alih-alih menggunakanlatest, gunakan versi rilis AL2023 tertentu. Ini memastikan Anda menerapkan perubahan yang sama di seluruh instans produksi seperti yang Anda uji sebelumnya. Misalnya, dnf --releasever=2023.12.20260817 update akan selalu memperbarui ke rilis 2023.12.20260817.
Untuk informasi selengkapnya, lihat bagian Memperbarui AL2023 di Panduan Pengguna AL2023.
Tanpa perencanaan keamanan penerapan pembaruan OS, dampak interaksi negatif yang tidak terduga antara pembaruan Anda application/service dan OS dapat jauh lebih besar, hingga dan termasuk pemadaman total. Seperti halnya masalah perangkat lunak apa pun, semakin dini masalah terdeteksi, semakin sedikit dampaknya pada pengguna akhir.
Penting untuk tidak jatuh ke dalam perangkap mempercayai dua hal yang pada dasarnya tidak benar:
Vendor OS tidak akan pernah membuat kesalahan dalam pembaruan ke OS.
Perilaku spesifik atau antarmuka ke OS yang Anda andalkan cocok dengan perilaku dan antarmuka yang akan dianggap oleh vendor OS sebagai sesuatu untuk diandalkan.
yaitu vendor OS dan Anda akan setuju bahwa ada masalah dengan pembaruan.
Jangan mengandalkan niat baik, letakkan sistem di tempat untuk memastikan bahwa keamanan penerapan mencakup pembaruan apa pun ke OS.
Tidak disarankan untuk menguji pembaruan OS baru dengan menerapkan ke lingkungan produksi. Praktik terbaik adalah mempertimbangkan OS sebagai bagian lain dari penerapan Anda, dan pertimbangkan untuk menerapkan mekanisme keamanan penerapan yang sama yang Anda anggap cocok untuk perubahan lain pada lingkungan produksi.
Ini adalah praktik terbaik untuk menguji setiap dan semua pembaruan OS sebelum menerapkan ke sistem produksi. Saat menerapkan, peluncuran bertahap dikombinasikan dengan pemantauan yang baik direkomendasikan. Peluncuran bertahap dapat memastikan bahwa jika masalah terjadi, meskipun tidak segera, dampaknya terbatas pada subset armada, dan penyebaran pembaruan lebih lanjut dapat dihentikan sementara penyelidikan dan mitigasi lebih lanjut dapat terjadi.
Mitigasi dampak negatif dari mengambil pembaruan ke OS sering menjadi prioritas pertama, diikuti dengan menyelesaikan masalah, di mana pun itu. Di mana pengenalan pembaruan OS berkorelasi dengan dampak negatif, kemampuan untuk kembali ke versi OS yang diketahui sebelumnya adalah alat yang ampuh untuk dimiliki.
Amazon Linux 2023 memperkenalkanPeningkatan deterministik melalui repositori berversi, fitur baru yang kuat untuk memastikan setiap perubahan pada versi OS (atau paket individual) dapat diulang. Jadi, jika masalah dihadapi saat berpindah dari satu versi OS ke versi OS berikutnya, ada mekanisme yang mudah digunakan yang tersedia untuk tetap pada versi OS yang diketahui berfungsi sambil mencari cara mengatasi masalah tersebut.
Dengan AL2023, setiap kali kami merilis pembaruan paket baru, ada versi baru untuk dikunci, dan AMI baru yang mengunci versi itu. Catatan R ilis AL2023 mencakup perubahan di setiap rilis, dan Penasihat Keamanan Amazon Linux untuk AL2023 mencakup masalah keamanan yang dibahas dalam pembaruan paket.
Misalnya, jika Anda terpengaruh oleh masalah yang ada di rilis 2023.6.20241028, Anda dapat segera kembali menggunakan AMI dan gambar wadah dari rilis sebelumnya, 2023.6.20241010. https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html Dalam hal ini, ada bug dalam paket yang diperbaiki pada rilis 2023.6.20241031 berikutnya, tetapi dengan Peningkatan deterministik melalui repositori berversi siapa pun yang terpengaruh dapat segera mengambil tindakan sederhana untuk mengurangi: cukup gunakan gambar sebelumnya.
Peningkatan deterministik melalui repositori berversijuga memberikan jaminan bahwa penyebaran pembaruan OS yang sedang berlangsung, baik di tempat atau dengan meluncurkan AMI atau gambar kontainer baru, tidak terpengaruh oleh pembaruan OS yang dirilis selanjutnya.
Untuk contoh pertama kami, armada A adalah armada besar yang berada di tengah penerapan pembaruan dari 2023.5.20241001 ke rilis 2023.6.20241010 ketika rilis 202 3.6.20241028 keluar. https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html Peningkatan deterministik melalui repositori berversiberarti bahwa penyebaran untuk armada A berlanjut tanpa perubahan apa pun pada pembaruan apa yang diterapkan.
Tujuan dari strategi penyebaran berbasis gelombang atau berbasis fase seperti pertama mengerahkan ke 1% armada, kemudian 5%, 10%, 20%, 40%, hingga mencapai 100%, adalah untuk dapat menguji perubahan dengan cara terbatas sebelum meluncurkannya lebih luas. Jenis strategi penerapan ini umumnya dianggap sebagai praktik terbaik untuk menerapkan perubahan produksi apa pun.
Dengan strategi penyebaran berbasis gelombang dan pembaruan armada A ke 2023.6.20241010 berada pada tahap di mana itu digunakan ke banyak host sekaligus, fakta bahwa 2023.6.20241028 dirilis tidak berdampak pada penerapan yang sedang berlangsung berkat penggunaan. Peningkatan deterministik melalui repositori berversi
Jika armada B menjalankan versi yang lebih lama, katakanlah 2023.5.20240708, dan telah mulai menerapkan pembaruan ke 2023.6.20241028, dan armada B dipengaruhi oleh masalah dalam versi itu, ini akan diperhatikan di awal penerapan. Pada saat itu, keputusan dapat dibuat tentang apakah akan menjeda peluncuran apa pun sampai perbaikan untuk masalah itu tersedia, atau jika sementara itu untuk memulai penyebaran armada versi yang sama A sedang berjalan, 2023.6.20241010 sehingga armada B mendapatkan semua pembaruan antara 2023.5.20240708 dan 2023.6.20241010. https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.5.20240708.html https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html
Penting untuk dicatat bahwa tidak mengambil pembaruan OS segera dapat menyebabkan masalah. Pembaruan baru kemungkinan berisi perbaikan bug dan keamanan yang mungkin relevan dengan lingkungan Anda. Untuk informasi selengkapnya, lihat Keamanan dan Kepatuhan di Amazon Linux 2023 dan Kelola pembaruan paket dan sistem operasi di AL2023.
Penting untuk mengonfigurasi sistem penerapan Anda agar dapat dengan mudah mengambil pembaruan OS baru, mengujinya sebelum menerapkan ke produksi, dan menggunakan mekanisme seperti penerapan berbasis gelombang untuk meminimalkan dampak negatif apa pun. Untuk dapat mengurangi dampak negatif dari pembaruan OS, penting untuk mengetahui cara membuat sistem penerapan Anda menunjuk ke versi OS yang diketahui baik sebelumnya, dan setelah masalah diatasi, jangan lagi dikunci ke versi yang lebih lama diketahui baik tetapi pindah ke versi baru yang diketahui baik.
Mempersiapkan Pembaruan Kecil
Mempersiapkan pembaruan yang lebih kecil ke OS, seperti rilis titik baru AL2023 dimaksudkan untuk dibatasi pada upaya nol. Pastikan untuk membaca Catatan Rilis AL2023 untuk setiap perubahan yang akan datang.
Peri ode dukungan paket yang akan berakhir mungkin melibatkan pemindahan ke versi runtime bahasa yang lebih baru (seperti denganPHP dalam AL2023). Ini adalah praktik terbaik untuk mempersiapkan ini terlebih dahulu dengan beralih ke versi waktu berjalan bahasa baru dengan nyaman sebelum periode dukungan berakhir.
Untuk paket sepertipcre versi 1, ada juga kesempatan untuk merencanakan terlebih dahulu dan memigrasikan kode Anda ke penggantinya, yang dalam hal ini adalah pcre versi 2. Ini adalah praktik terbaik untuk melakukannya sesegera mungkin, untuk memberikan waktu untuk kemunduran apa pun.
Jika tidak ada penggantian langsung, seperti denganBerkeley DB (libdb), Anda mungkin perlu membuat pilihan berdasarkan kasus penggunaan Anda.
Mempersiapkan Pembaruan Besar
Memperbarui ke versi utama baru dari Sistem Operasi hampir secara universal dipandang sebagai sesuatu yang membutuhkan perencanaan, pekerjaan untuk beradaptasi dengan fungsionalitas yang diubah atau tidak digunakan lagi, dan juga pengujian sebelum penerapan. Tidak jarang dapat mempersiapkan versi utama berikutnya dari Amazon Linux 2023 secara lebih bertahap, seperti mengatasi penggunaan fungsionalitas yang tidak digunakan lagi atau dihapus sebelum melanjutkan dengan pindah ke versi utama berikutnya.
Misalnya, saat berpindah dari AL2 ke AL2023, membaca Fungsionalitas tidak digunakan lagi dan dihapus di AL2 AL2023 bagian tersebut dapat menghasilkan sejumlah langkah aman dan kecil yang dapat terjadi saat masih menggunakan AL2 untuk mempersiapkan AL2023. Misalnya, Python 2.7 telah diganti dengan Python 3 penggunaan apa pun (di luar penggunaan OS seperti di manajer yum paket) dapat dimigrasikan ke Python 3 sebagai persiapan untuk digunakanPython dalam AL2023. Jika menggunakan PHP, baik AL2 (melalui PHP 8.2 AL2 Extra) dan AL2023 mengirimkan PHP 8.2, dan dengan demikian migrasi versi PHP dan migrasi OS tidak harus terjadi secara bersamaan.
Saat menggunakan AL2023, dimungkinkan juga untuk mempersiapkan versi utama Amazon Linux 2023 berikutnya hari ini, saat menggunakan AL2023. Tidak digunakan lagi di AL2023Bagian ini mencakup fitur dan paket yang tidak digunakan lagi di AL2023 dan akan dihapus.
Misalnya, memigrasikan Sistem V Init (sysvinit) penggunaan yang tersisa, seperti init skrip ke yang systemd setara, akan mempersiapkan Anda untuk masa depan, serta memungkinkan Anda menggunakan rangkaian systemd fitur lengkap untuk memantau layanan, bagaimana dan apakah harus memulai ulang layanan, layanan lain apa yang dibutuhkan, dan apakah ada batasan sumber daya atau izin yang harus diterapkan.
Untuk fitur seperti dukungan 32-bit, penghentian dapat mencakup beberapa versi utama OS. Untuk 32-bit, Amazon Linux 1 (AL1) tidak digunakan lagi32-bit x86 (i686) AMIs, Amazon Linux 2 tidak digunakan lagiPaket 32-bit x86 (i686), dan Amazon Linux 2023 tidak digunakan lagi. Dukungan runtime 32bit x86 (i686) Transisi menjauh dari IMDSv1 juga mencakup beberapa versi utama OS. Untuk jenis perubahan ini, dipahami bahwa beberapa pelanggan memerlukan waktu yang lebih lama untuk beradaptasi dengannya, sehingga ada banyak kelonggaran sebelum fungsionalitas tidak lagi tersedia di Amazon Linux 2023.
Daftar fungsionalitas yang tidak digunakan lagi diperbarui selama masa pakai OS, dan disarankan untuk tetap up to date dengan perubahannya.