View a markdown version of this page

Memilih dan mengonfigurasi arsitektur set instruksi untuk fungsi Lambda Anda - AWS Lambda

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

Memilih dan mengonfigurasi arsitektur set instruksi untuk fungsi Lambda Anda

Yang arsitektur set instruksi Fungsi Lambda menentukan jenis prosesor komputer yang digunakan Lambda untuk menjalankan fungsi tersebut. Lambda menyediakan pilihan arsitektur set instruksi:

  • arm64 - arsitektur ARM 64-bit, untuk AWS Prosesor Graviton.

  • x86_64 - arsitektur x86 64-bit, untuk prosesor berbasis x86.

catatan

Arsitektur arm64 tersedia di sebagian besar Wilayah AWS. Untuk informasi selengkapnya, silakan lihat AWS Lambda Harga. Dalam tabel harga memori, pilih Harga Arm tab, lalu buka Wilayah daftar dropdown untuk melihat yang mana Wilayah AWS mendukung arm64 dengan Lambda.

Untuk contoh cara membuat fungsi dengan arsitektur arm64, lihat AWS Lambda Fungsi Didukung oleh AWS Prosesor Graviton2.

Keuntungan menggunakan arsitektur arm64

Fungsi lambda yang menggunakan arsitektur arm64 (AWS Prosesor Graviton) dapat mencapai harga dan kinerja yang jauh lebih baik daripada fungsi setara yang berjalan pada arsitektur x86_64. Pertimbangkan untuk menggunakan arm64 untuk aplikasi komputasi intensif seperti komputasi kinerja tinggi, pengkodean video, dan beban kerja simulasi.

Lambda mengelola perangkat keras yang mendasarinya dan tidak menjamin generasi prosesor tertentu: fungsi Anda mungkin berjalan pada generasi prosesor Graviton yang berbeda tergantung pada ketersediaan perangkat keras regional. Kode Anda tidak menargetkan chipset tertentu; itu hanya perlu kompatibel dengan arsitektur arm64 (AArch64). Semua generasi Graviton memberikan manfaat ini dibandingkan x86_64:

  • Cache L2 yang lebih besar per vCPU, yang mengurangi waktu baca memori dan meningkatkan latensi untuk backend web dan seluler, layanan mikro, dan sistem pemrosesan data.

  • Peningkatan kinerja enkripsi melalui ekstensi kriptografi Arm.

  • Dukungan untuk set instruksi yang menurunkan latensi CPU-based inferensi pembelajaran mesin.

Untuk informasi lebih lanjut, lihat AWS Prosesor Graviton.

Persyaratan untuk migrasi ke arsitektur arm64

Saat Anda memilih fungsi Lambda untuk bermigrasi ke arsitektur arm64, untuk memastikan migrasi yang lancar, pastikan fungsi Anda memenuhi persyaratan berikut:

  • Paket penerapan hanya berisi komponen sumber terbuka dan kode sumber yang Anda kontrol, sehingga Anda dapat membuat pembaruan yang diperlukan untuk migrasi.

  • Jika kode fungsi menyertakan dependensi pihak ketiga, setiap pustaka atau paket menyediakan versi arm64.

Kompatibilitas kode fungsi dengan arsitektur arm64

Kode fungsi Lambda Anda harus kompatibel dengan arsitektur set instruksi fungsi. Sebelum Anda memigrasikan fungsi ke arsitektur arm64, perhatikan poin-poin berikut tentang kode fungsi saat ini:

  • Jika Anda menambahkan kode fungsi Anda menggunakan editor kode yang disematkan, kode Anda mungkin berjalan pada salah satu arsitektur tanpa modifikasi.

  • Jika Anda mengunggah kode fungsi Anda, Anda harus mengunggah kode baru yang kompatibel dengan arsitektur target Anda.

  • Jika fungsi Anda menggunakan lapisan, Anda harus periksa setiap lapisan untuk memastikan bahwa itu kompatibel dengan arsitektur baru. Jika layer tidak kompatibel, edit fungsi untuk mengganti versi layer saat ini dengan versi layer yang kompatibel.

  • Jika fungsi Anda menggunakan ekstensi Lambda, Anda harus memeriksa setiap ekstensi untuk memastikan bahwa itu kompatibel dengan arsitektur baru.

  • Jika fungsi Anda menggunakan jenis paket penyebaran gambar kontainer, Anda harus membuat image kontainer baru yang kompatibel dengan arsitektur fungsi.

Cara bermigrasi ke arsitektur arm64

Untuk memigrasikan fungsi Lambda ke arsitektur arm64, sebaiknya ikuti langkah-langkah berikut:

  1. Buat daftar dependensi untuk aplikasi atau beban kerja Anda. Ketergantungan umum meliputi:

    • Semua pustaka dan paket yang digunakan fungsi.

    • Alat yang Anda gunakan untuk membangun, menerapkan, dan menguji fungsi, seperti kompiler, rangkaian pengujian, integrasi berkelanjutan, dan pengiriman berkelanjutan (CI/CD) pipeline, alat penyediaan, dan skrip.

    • Ekstensi Lambda dan alat pihak ketiga yang Anda gunakan untuk memantau fungsi dalam produksi.

  2. Untuk setiap dependensi, periksa versi, lalu periksa apakah versi arm64 tersedia.

  3. Bangun lingkungan untuk memigrasikan aplikasi Anda.

  4. Bootstrap aplikasi.

  5. Uji dan debug aplikasi.

  6. Uji kinerja fungsi arm64. Bandingkan kinerja dengan versi x86_64.

  7. Perbarui pipeline infrastruktur Anda untuk mendukung fungsi arm64 Lambda.

  8. Tahap penerapan Anda ke produksi.

    Misalnya, gunakan konfigurasi routing alias untuk membagi lalu lintas antara versi x86 dan arm64 fungsi, dan membandingkan kinerja dan latensi.

Untuk informasi selengkapnya tentang cara membuat lingkungan kode untuk arsitektur arm64, termasuk informasi khusus bahasa untuk Java, Go, .NET, dan Python, lihat Memulai dengan AWS Graviton GitHub repositori.

Mengkonfigurasi arsitektur set instruksi

Anda dapat mengonfigurasi arsitektur set instruksi untuk fungsi Lambda baru dan yang ada menggunakan konsol Lambda, AWS SDK, AWS Command Line Interface (AWS CLI), atau CloudFormation. Ikuti langkah-langkah ini untuk mengubah arsitektur set instruksi untuk fungsi Lambda yang ada dari konsol.

  1. Buka Halaman Fungsi Acara dari konsol Lambda.

  2. Pilih nama fungsi yang ingin Anda konfigurasi arsitektur set instruksi.

  3. Di bagian utama Kode tab, untuk Pengaturan runtime bagian, pilih Sunting.

  4. Di bawah Arsitektur, pilih arsitektur set instruksi yang Anda ingin fungsi Anda gunakan.

  5. Pilih Simpan.