Buat konfigurasi routing untuk alias Lambda - AWS Lambda

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

Buat konfigurasi routing untuk alias Lambda

Gunakan konfigurasi routing pada alias untuk mengirim sebagian lalu lintas ke versi fungsi kedua. Misalnya, Anda dapat mengurangi risiko deployment versi baru dengan mengonfigurasikan alias untuk mengirim sebagian besar lalu lintas ke versi yang ada, dan hanya sebagian kecil lalu lintas ke versi baru.

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.

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.

Console
Untuk mengkonfigurasi routing pada alias menggunakan konsol
catatan

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

  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 dalam langkah-langkah sebelumnya sesuai dengan operasi Lambda berikut: API

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 ke Amazon CloudWatch Logs untuk setiap pemanggilan fungsi. Berikut adalah contohnya:

    19:44:37 START RequestId: request id Version: $version

    Untuk invokasi alias, Lambda menggunakan dimensi Executed Version untuk memfilter data metrik dengan versi yang dipanggil. Untuk informasi selengkapnya, lihat Lihat 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.