Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Menerapkan penerapan kenari Lambda menggunakan alias tertimbang

Mode fokus
Menerapkan penerapan kenari Lambda menggunakan alias tertimbang - AWS Lambda

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

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

Anda dapat menggunakan alias tertimbang untuk membagi lalu lintas antara dua versi berbeda dari fungsi yang sama. Dengan pendekatan ini, Anda dapat menguji versi baru dari fungsi Anda dengan persentase lalu lintas yang kecil dan dengan cepat memutar kembali jika perlu. Ini dikenal sebagai penyebaran kenari. Penerapan Canary berbeda dari penerapan biru/hijau dengan mengekspos versi baru hanya pada sebagian permintaan daripada mengalihkan semua lalu lintas sekaligus.

Anda dapat mengarahkan alias ke maksimal dua versi fungsi Lambda. Versi harus memenuhi kriteria berikut:

  • Kedua versi harus memiliki peran eksekusi sama.

  • Kedua versi harus memiliki konfigurasi antrean surat mati sama, atau tidak ada konfigurasi antrean surat mati.

  • Kedua versi tersebut harus dipublikasikan. Alias tidak dapat menunjuk ke $LATEST.

catatan

Lambda menggunakan model probabilistik sederhana untuk mendistribusikan lalu lintas di antara dua versi fungsi. Pada tingkat lalu lintas rendah, Anda mungkin melihat varians tinggi di antara persentase lalu lintas yang dikonfigurasi dan aktual di setiap versi. Jika fungsi Anda menggunakan konkurensi terprovisi, Anda dapat menghindari invokasi limpahan dengan mengonfigurasi jumlah yang lebih tinggi dari instans konkurensi terprovisi selama perutean alias aktif.

Buat alias tertimbang

Console
Untuk mengonfigurasi perutean pada alias menggunakan konsol
catatan

Verifikasi bahwa fungsi memiliki setidaknya dua versi yang dipublikasikan. Untuk membuat versi tambahan, ikuti petunjuk dalam Membuat versi fungsi.

  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi.

  3. Pilih Alias, lalu pilih Buat alias.

  4. Di halaman Buat alias, lakukan hal berikut:

    1. Masukkan Nama untuk alias.

    2. (Opsional) Masukkan Deskripsi untuk alias.

    3. Untuk Versi, pilih versi fungsi pertama yang ingin Anda tunjuk.

    4. Perluas Alias tertimbang.

    5. Untuk Versi tambahan, pilih versi fungsi kedua yang ingin Anda tunjuk.

    6. Untuk Bobot (%), masukkan nilai bobot untuk fungsi. Bobot adalah persentase lalu lintas yang ditetapkan untuk versi tersebut ketika alias dipanggil. Versi pertama menerima bobot residual. Misalnya, jika Anda menentukan 10 persen ke Versi tambahan, versi pertama ditetapkan ke 90 persen secara otomatis.

    7. Pilih Simpan.

AWS CLI

Gunakan AWS CLI perintah create-alias dan update-alias untuk mengonfigurasi bobot lalu lintas antara dua versi fungsi. Saat membuat atau memperbarui alias, Anda menentukan berat lalu lintas dalam parameter routing-config.

Contoh berikut membuat alias fungsi Lambda bernama routing-alias yang menunjuk ke versi 1 dari fungsi. Versi 2 fungsi menerima 3 persen lalu lintas. 97 persen lalu lintas yang tersisa diarahkan ke versi 1.

aws lambda create-alias \ --name routing-alias \ --function-name my-function \ --function-version 1 \ --routing-config AdditionalVersionWeights={"2"=0.03}

Gunakan perintah update-alias untuk meningkatkan persentase lalu lintas masuk ke versi 2. Dalam contoh berikut, Anda meningkatkan lalu lintas menjadi 5 persen.

aws lambda update-alias \ --name routing-alias \ --function-name my-function \ --routing-config AdditionalVersionWeights={"2"=0.05}

Untuk mengirimkan semua lalu lintas ke versi 2, gunakan update-alias untuk mengubah properti function-version untuk menunjuk alias ke versi 2. Perintah juga mengatur ulang konfigurasi perutean.

aws lambda update-alias \ --name routing-alias \ --function-name my-function \ --function-version 2 \ --routing-config AdditionalVersionWeights={}

AWS CLI Perintah pada langkah sebelumnya sesuai dengan operasi API Lambda berikut:

Untuk mengonfigurasi perutean pada alias menggunakan konsol
catatan

Verifikasi bahwa fungsi memiliki setidaknya dua versi yang dipublikasikan. Untuk membuat versi tambahan, ikuti petunjuk dalam Membuat versi fungsi.

  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi.

  3. Pilih Alias, lalu pilih Buat alias.

  4. Di halaman Buat alias, lakukan hal berikut:

    1. Masukkan Nama untuk alias.

    2. (Opsional) Masukkan Deskripsi untuk alias.

    3. Untuk Versi, pilih versi fungsi pertama yang ingin Anda tunjuk.

    4. Perluas Alias tertimbang.

    5. Untuk Versi tambahan, pilih versi fungsi kedua yang ingin Anda tunjuk.

    6. Untuk Bobot (%), masukkan nilai bobot untuk fungsi. Bobot adalah persentase lalu lintas yang ditetapkan untuk versi tersebut ketika alias dipanggil. Versi pertama menerima bobot residual. Misalnya, jika Anda menentukan 10 persen ke Versi tambahan, versi pertama ditetapkan ke 90 persen secara otomatis.

    7. Pilih Simpan.

Menentukan versi mana yang dipanggil

Saat Anda mengonfigurasi bobot lalu lintas di antara dua versi fungsi, ada dua cara untuk menentukan versi fungsi Lambda yang sudah dipanggil:

  • CloudWatch Log — Lambda secara otomatis memancarkan entri START log yang berisi ID versi yang dipanggil untuk setiap pemanggilan fungsi. Contoh:

    START RequestId: 1dh194d3759ed-4v8b-a7b4-1e541f60235f Version: 2

    Untuk invokasi alias, Lambda menggunakan dimensi ExecutedVersion untuk memfilter data metrik dengan versi yang dipanggil. Untuk informasi selengkapnya, lihat Melihat metrik untuk fungsi Lambda.

  • Muatan respons (invokasi tersinkron) – Respons untuk invokasi fungsi tersinkron yang mencakup header x-amz-executed-version untuk menunjukkan versi fungsi mana yang telah dipanggil.

Buat penerapan bergulir dengan alias tertimbang

Use AWS CodeDeploy and AWS Serverless Application Model (AWS SAM) untuk membuat penerapan bergulir yang secara otomatis mendeteksi perubahan pada kode fungsi Anda, menerapkan versi baru fungsi Anda, dan secara bertahap meningkatkan jumlah lalu lintas yang mengalir ke versi baru. Jumlah lalu lintas dan tingkat peningkatan adalah parameter yang dapat Anda konfigurasi.

Dalam penerapan bergulir, AWS SAM lakukan tugas-tugas ini:

  • Mengkonfigurasi fungsi Lambda Anda dan membuat alias. Konfigurasi routing alias tertimbang adalah kemampuan dasar yang mengimplementasikan penerapan bergulir.

  • Membuat grup CodeDeploy aplikasi dan penyebaran. Grup penyebaran mengelola penerapan bergulir dan rollback, jika diperlukan.

  • Mendeteksi saat Anda membuat versi baru fungsi Lambda Anda.

  • Pemicu CodeDeploy untuk memulai penyebaran versi baru.

Contoh AWS SAM template

Contoh berikut menunjukkan templat AWS SAM untuk deployment bergulir sederhana.

AWSTemplateFormatVersion : '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: A sample SAM template for deploying Lambda functions Resources: # Details about the myDateTimeFunction Lambda function myDateTimeFunction: Type: AWS::Serverless::Function Properties: Handler: myDateTimeFunction.handler Runtime: nodejs18.x # Creates an alias named "live" for the function, and automatically publishes when you update the function. AutoPublishAlias: live DeploymentPreference: # Specifies the deployment configuration Type: Linear10PercentEvery2Minutes

Templat ini menentukan fungsi Lambda bernama myDateTimeFunction dengan properti berikut.

AutoPublishAlias

Properti AutoPublishAlias membuat alias bernama live. Selain itu, kerangka kerja AWS SAM secara otomatis mendeteksi saat Anda menyimpan kode baru untuk fungsi tersebut. Kerangka kerja kemudian menerbitkan versi fungsi baru dan memperbarui alias live untuk mengarah ke versi baru.

DeploymentPreference

DeploymentPreferenceProperti menentukan tingkat di mana CodeDeploy aplikasi menggeser lalu lintas dari versi asli fungsi Lambda ke versi baru. Nilai Linear10PercentEvery2Minutes menggeser sepuluh persen tambahan lalu lintas ke versi baru setiap dua menit.

Untuk daftar konfigurasi deployment yang ditetapkan sebelumnya, lihat Konfigurasi deployment.

Untuk informasi selengkapnya tentang cara membuat penerapan bergulir dengan CodeDeploy dan AWS SAM, lihat berikut ini:

Topik berikutnya:

Versi

Topik sebelumnya:

Menggunakan alias
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.