Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasi dari Amazon Linux 2 ke Amazon Linux 2023 Amazon AMI ECS-optimized
Setelah Amazon Linux
Amazon Linux 2023 menyediakan pendekatan default yang aman dengan kebijakan keamanan yang telah dikonfigurasi sebelumnya, SELinux dalam mode permisif, mode diaktifkan secara default, waktu IMDSv2-only boot yang dioptimalkan, dan manajemen paket yang ditingkatkan untuk peningkatan keamanan dan kinerja.
Ada tingkat kompatibilitas yang tinggi antara Amazon Linux 2 dan Amazon Linux 2023 Amazon ECS-optimized AMI, dan sebagian besar pelanggan akan mengalami perubahan minimal hingga nol dalam beban kerja mereka antara kedua sistem operasi.
Untuk informasi selengkapnya, lihat Membandingkan Amazon Linux 2 dan Amazon Linux 2023 di Panduan Pengguna Amazon Linux 2023 dan FAQ https://aws.amazon.com/linux/amazon-linux-2023/faqs
Pertimbangan kompatibilitas
Manajemen paket dan pembaruan OS
Tidak seperti versi Amazon Linux sebelumnya, AMI ECS-optimized Amazon Amazon Linux 2023 dikunci ke versi tertentu dari repositori Amazon Linux. Ini melindungi pengguna dari memperbarui paket secara tidak sengaja yang mungkin membawa perubahan yang tidak diinginkan atau merusak. Untuk informasi selengkapnya, lihat M engelola repositori dan pembaruan OS di Amazon Linux 2023 di Panduan Pengguna Amazon Linux 2023.
Versi kernel Linux
Amazon Linux 2 AMI didasarkan pada kernel Linux 4.14 dan 5.10, sedangkan Amazon Linux 2023 menggunakan kernel Linux 6.1 dan 6.12. Untuk informasi selengkapnya, lihat Membandingkan kernel Amazon Linux 2 dan Amazon Linux 2023 di Panduan Pengguna Amazon Linux 2023.
Perubahan ketersediaan paket
Berikut ini adalah perubahan paket penting di Amazon Linux 2023:
-
Beberapa paket biner sumber di Amazon Linux 2 tidak lagi tersedia di Amazon Linux 2023. Untuk informasi selengkapnya, lihat Paket yang dihapus dari Amazon Linux 2023 di Catatan Rilis Amazon Linux 2023.
-
Perubahan dalam cara Amazon Linux mendukung versi paket yang berbeda.
amazon-linux-extrasSistem yang digunakan di Amazon Linux 2 tidak ada di Amazon Linux 2023. Semua paket hanya tersedia di repositori “inti”. -
Paket tambahan untuk Enterprise Linux (EPEL) tidak didukung di Amazon Linux 2023. Untuk informasi selengkapnya, lihat Kompatibilitas EPEL di Amazon Linux 2023 di Panduan Pengguna Amazon Linux 2023.
-
Aplikasi 32-bit tidak didukung di Amazon Linux 2023. Untuk informasi selengkapnya, lihat Fitur yang tidak digunakan lagi dari Amazon Linux 2 di Panduan Pengguna Amazon Linux 2023.
Perubahan Grup Kontrol (cgroups)
Control Group (cgroup) adalah fitur kernel Linux untuk mengatur proses secara hierarkis dan mendistribusikan sumber daya sistem di antara mereka. Grup Kontrol digunakan secara luas untuk mengimplementasikan runtime kontainer, dan olehsystemd.
Amazon Linux 2023 menggunakan cgroupv2 secara default, sedangkan Amazon Linux 2 menggunakan cgroupv1. Agen Amazon ECS, Docker, dan containerd semuanya mendukung cgroupv1 dan cgroupv2. Untuk detail lebih lanjut tentang cgroupv2, lihat Grup kontrol v2 di Amazon Linux 2023 di Panduan Pengguna Amazon Linux 2023.
Pelaporan penggunaan memori
cgroupv2 mengubah cara penggunaan memori kontainer dihitung. Di cgroupv1 (Amazon Linux 2), pemanfaatan memori kontainer seperti yang dilaporkan oleh runtime container biasanya mengecualikan cache halaman. Di cgroupv2 (Amazon Linux 2023), cache halaman disertakan dalam penggunaan memori yang dilaporkan. Beban kerja yang sama dapat melaporkan pemanfaatan memori yang lebih tinggi di Amazon Linux 2023 dibandingkan dengan Amazon Linux 2, bahkan ketika konsumsi memori aplikasi sebenarnya tidak berubah.
Sebaiknya bandingkan penggunaan memori pada instans Amazon Linux 2023 sebelum memigrasikan beban kerja produksi, dan menyesuaikan batas memori tugas dan wadah jika diperlukan. Anda dapat menggunakan Con tainer Insights untuk membandingkan pemanfaatan memori antara Amazon Linux 2 dan Amazon Linux 2023.
Memori tugas membatasi visibilitas
Saat Anda menyetel memori pada tingkat tugas tanpa menetapkan batas memori tingkat kontainer, Amazon ECS menerapkan batas ke cgroup tugas. Ini bertindak sebagai batas memori efektif untuk semua wadah milik tugas. Pada cgroupv1 (Amazon Linux 2), cgroup anak dapat membaca batas memori efektif di level mereka sendiri. Mereka tidak perlu melintasi hierarki cgroup. Pada cgroupv2 (Amazon Linux 2023), batas efektif tidak terlihat oleh wadah. Selain itu, Docker menjalankan wadah di namespace cgroup pribadi secara default, yang mencegah mereka melintasi hierarki cgroup untuk menemukan batas induk.
Setiap proses di dalam wadah yang membaca batas memori cgroup untuk menentukan memori yang tersedia akan melihat memori host penuh daripada batas tingkat tugas. Misalnya, Java Virtual Machine (JVM) diketahui terpengaruh oleh masalah ini. Ini menggunakan batas cgroup untuk secara otomatis mengukur heap. Ketika tidak dapat mendeteksi batas sebenarnya, ia mengalokasikan memori secara berlebihan, yang meningkatkan risiko pembunuhan di luar memori (OOM). Runtime atau kerangka kerja lain yang membaca batas cgroup untuk keputusan sumber daya mungkin juga terpengaruh.
Ini terjadi ketika memori tingkat tugas disetel tetapi tingkat kontainer tidak memory diatur dalam definisi tugas.
Untuk mengatasi masalah ini, pilih salah satu solusi berikut:
Tetapkan batas memori tingkat wadah (disarankan)
Tetapkan memory parameter secara eksplisit pada tingkat wadah dalam definisi tugas Anda, sama dengan nilai memori tingkat tugas. Pendekatan ini aman, andal, dan tidak memerlukan perubahan infrastruktur.
Aktifkan propagasi batas memori tugas tingkat agen
Setel variabel ECS_PROPAGATE_TASK_MEMORY_LIMIT_CGROUPV2 lingkungan ke true pada agen Amazon ECS. Ketika diaktifkan dan pada cgroupv2, agen secara otomatis menetapkan batas memori setiap wadah ke nilai tingkat tugas jika wadah belum memiliki batas memori tingkat kontainer eksplisit. Ini membuat batas memori tugas terlihat di dalam wadah tanpa memerlukan perubahan definisi tugas.
Anda dapat menyetel ini di file konfigurasi agen Amazon ECS (/etc/ecs/ecs.config) pada instans Amazon EC2 Anda:
ECS_PROPAGATE_TASK_MEMORY_LIMIT_CGROUPV2=true
Opsi ini memerlukan agen Amazon ECS versi 1.104.0 atau yang lebih baru. Ini hanya berlaku pada instance Linux menggunakan cgroupv2. Itu tidak didukung di Windows.
Perubahan Layanan Metadata Instance (IMDS)
Amazon Linux 2023 memerlukan Instance Metadata Service versi 2 (IMDSv2) secara default. IMDSv2 memiliki beberapa manfaat yang membantu meningkatkan postur keamanan. Ini menggunakan metode otentikasi berorientasi sesi yang memerlukan pembuatan token rahasia dalam permintaan PUT HTTP sederhana untuk memulai sesi. Token sesi dapat berlaku antara 1 detik dan 6 jam.
Untuk informasi selengkapnya tentang cara transisi dari IMDSv1 ke IMDSv2, lihat Trans isi ke menggunakan Layanan Metadata Instans Versi 2 di Panduan Pengguna Amazon EC2.
Jika Anda ingin menggunakan IMDSv1, Anda masih dapat melakukannya dengan mengganti pengaturan secara manual menggunakan properti peluncuran opsi metadata instance.
Perubahan pertukaran memori
Per-container pertukaran memori tidak didukung di Amazon Linux 2023 dan cgroups v2. Untuk informasi selengkapnya, lihat Mengelola ruang memori swap kontainer di Amazon ECS.
Perubahan validasi FIPS
Amazon Linux 2 disertifikasi di bawah FIPS 140-2 dan Amazon Linux 2023 disertifikasi di bawah FIPS 140-3.
Untuk mengaktifkan mode FIPS di Amazon Linux 2023, instal paket yang diperlukan di instans Amazon EC2 Anda dan ikuti langkah-langkah konfigurasi menggunakan petunjuk di Aktifkan Mode FIPS di Amazon Linux 2023 di Panduan Pengguna Amazon Linux 2023.
Dukungan instans yang dipercepat
AMI Amazon ECS-optimized Amazon Linux 2023 mendukung jenis instans yang dipercepat Neuron dan GPU. Untuk informasi selengkapnya, lihat AMI Amazon ECS-optimized Linux.
Membangun AMI khusus
Meskipun kami merekomendasikan pindah ke Amazon ECS-optimized AMI yang didukung dan diterbitkan secara resmi untuk Amazon Linux 2023, Anda dapat terus membuat ECS-optimized AMI Amazon Linux 2 khusus menggunakan skrip build sumber terbuka yang digunakan untuk membangun varian Linux dari Amazon ECS-optimized AMI. Untuk informasi selengkapnya, lihat Skrip ECS-optimized pembuatan AMI Amazon Linux.
Strategi migrasi
Sebaiknya buat dan menerapkan rencana migrasi yang mencakup pengujian aplikasi menyeluruh. Bagian berikut menguraikan strategi migrasi yang berbeda berdasarkan cara Anda mengelola infrastruktur Amazon ECS Anda.
Bermigrasi dengan penyedia kapasitas Amazon ECS
-
Buat penyedia kapasitas baru dengan template peluncuran baru. Ini harus mereferensikan grup Penskalaan Otomatis dengan template peluncuran yang mirip dengan yang sudah ada, tetapi alih-alih Amazon Linux 2 Amazon ECS-optimized AMI, itu harus menentukan salah satu varian Amazon Linux 2023. Tambahkan penyedia kapasitas baru ini ke cluster Amazon ECS Anda yang ada.
-
Perbarui strategi penyedia kapasitas default cluster Anda untuk menyertakan penyedia kapasitas Amazon Linux 2 yang ada dan penyedia kapasitas Amazon Linux 2023 yang baru. Mulailah dengan bobot yang lebih tinggi pada penyedia Amazon Linux 2 dan bobot yang lebih rendah pada penyedia Amazon Linux 2023 (misalnya, Amazon Linux 2: berat 80, Amazon Linux 2023: berat 20). Hal ini menyebabkan Amazon ECS mulai menyediakan instans Amazon Linux 2023 saat tugas baru dijadwalkan. Pastikan instans terdaftar dengan benar dan tugas dapat berjalan dengan sukses pada instans baru.
-
Secara bertahap sesuaikan bobot penyedia kapasitas dalam strategi default cluster Anda, tingkatkan bobot untuk penyedia Amazon Linux 2023 sambil mengurangi bobot penyedia Amazon Linux 2 dari waktu ke waktu (misalnya, 60/40, lalu 40/60, lalu 20/80). Anda juga dapat memperbarui strategi penyedia kapasitas layanan individual untuk memprioritaskan instans Amazon Linux 2023. Pantau penempatan tugas untuk memastikan mereka berhasil berjalan di instans Amazon Linux 2023.
-
Secara opsional, kuras instans kontainer Amazon Linux 2 untuk mempercepat migrasi tugas. Jika Anda memiliki kapasitas penggantian Amazon Linux 2023 yang cukup, Anda dapat menguras instans kontainer Amazon Linux 2 secara manual melalui konsol Amazon ECS atau AWS CLI untuk mempercepat transisi tugas Anda dari Amazon Linux 2 ke Amazon Linux 2023. Setelah migrasi selesai, hapus penyedia kapasitas Amazon Linux 2 dari cluster Anda dan hapus grup Auto Scaling terkait.
Migrasi dengan grup Penskalaan Otomatis Amazon EC2
-
Buat grup Amazon EC2 Auto Scaling baru dengan template peluncuran baru. Ini harus mirip dengan template peluncuran Anda yang ada, tetapi alih-alih Amazon Linux 2 Amazon ECS-optimized AMI, itu harus menentukan salah satu varian Amazon Linux 2023. Grup Penskalaan Otomatis baru ini dapat meluncurkan instance ke cluster yang ada.
-
Tingkatkan grup Penskalaan Otomatis sehingga Anda mulai memiliki instans Amazon Linux 2023 yang mendaftar ke cluster Anda. Pastikan instans terdaftar dengan benar dan tugas dapat berjalan dengan sukses pada instans baru.
-
Setelah tugas Anda diverifikasi untuk bekerja di Amazon Linux 2023, tingkatkan grup Amazon Linux 2023 Auto Scaling sambil secara bertahap mengurangi grup Amazon Linux 2 Auto Scaling, hingga Anda benar-benar mengganti semua instans Amazon Linux 2.
-
Jika Anda memiliki kapasitas penggantian Amazon Linux 2023 yang cukup, Anda mungkin ingin menguras instans kontainer secara eksplisit untuk mempercepat transisi tugas Anda dari Amazon Linux 2 ke Amazon Linux 2023. Untuk informasi selengkapnya, lihat Menguras instans kontainer Amazon ECS.
Migrasi dengan instans yang dikelola secara manual
-
Luncurkan secara manual (atau sesuaikan skrip yang meluncurkan) instans Amazon EC2 baru menggunakan Amazon ECS-optimized Amazon Linux 2023 AMI alih-alih Amazon Linux 2. Pastikan instans ini menggunakan grup keamanan, subnet, peran IAM, dan konfigurasi cluster yang sama dengan instans Amazon Linux 2 yang ada. Instans harus secara otomatis mendaftar ke cluster Amazon ECS Anda yang ada saat diluncurkan.
-
Verifikasi instans Amazon Linux 2023 baru berhasil mendaftar ke cluster Amazon ECS Anda dan berada dalam
ACTIVEstatus. Uji bahwa tugas dapat dijadwalkan dan dijalankan dengan benar pada instans baru ini dengan menunggu penempatan tugas alami atau secara manual stopping/starting beberapa tugas untuk memicu penjadwalan ulang. -
Ganti instans Amazon Linux 2 Anda secara bertahap dengan meluncurkan instans Amazon Linux 2023 tambahan sesuai kebutuhan, lalu menguras dan menghentikan instans Amazon Linux 2 secara manual satu per satu. Anda dapat menguras instans melalui konsol Amazon ECS dengan menyetel instans ke
DRAININGstatus, yang akan menghentikan penempatan tugas baru di dalamnya dan memungkinkan tugas yang ada diselesaikan atau dijadwalkan ulang di tempat lain.