View a markdown version of this page

Titik akhir Fungsi Web Lambda - AWS Lambda

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

Titik akhir Fungsi Web Lambda

Endpoint adalah sumber daya turunan dari Fungsi Web yang menyediakan titik masuk jaringan untuk lalu lintas HTTP. Setiap endpoint menyertakan nama domain unik dengan TLS dan jenis otentikasi. Ini juga memiliki pengaturan untuk lingkup geografis, penskalaan, pelambatan, dan perutean lalu lintas. Fungsi Web dapat memiliki hingga 10 titik akhir, masing-masing dengan konfigurasi independen.

Bagian berikut menjelaskan jenis titik akhir, nama domain, otentikasi, dan replikasi. Untuk informasi tentang pengaturan penskalaan dan pembatasan, lihat. Perilaku penskalaan untuk Fungsi Web Lambda Untuk informasi tentang mode penyebaran otomatis dan perutean lalu lintas, lihat. Pola deployment

Jenis titik akhir

Jenis endpoint menentukan bagaimana Lambda menyebarkan Fungsi Web Anda Wilayah AWS di seluruh dan bagaimana lalu lintas diarahkan ke sana. Anda memilih tipe endpoint saat membuat endpoint. Jenis titik akhir tidak dapat diubah setelah pembuatan.

HomeRegion

Menjalankan Fungsi Web Anda dalam satu Wilayah AWS. Lambda menyajikan permintaan dari Wilayah tempat Anda membuat titik akhir. Lambda mengalokasikan satu nama domain regional untuk titik akhir.

Gunakan HomeRegionuntuk aplikasi yang tidak memerlukan ketersediaan Multi-region, atau ketika Anda ingin memulai dengan konfigurasi yang paling sederhana.

MultiRegion

Menjalankan Fungsi Web Anda dalam beberapa Wilayah AWS. Anda menentukan Wilayah target saat membuat titik akhir. Lambda menambahkan Wilayah rumah secara otomatis. Titik akhir harus mencakup setidaknya satu Wilayah lainnya. Untuk merutekan lalu lintas ke revisi, Anda menetapkan bobot revisi titik akhir. Lambda kemudian mereplikasi kode dan konfigurasi Anda ke semua Wilayah tertentu secara otomatis. Lambda mengalokasikan satu nama domain global. Ini menggunakan perutean berbasis latensi untuk mengirim setiap permintaan ke Wilayah yang biasanya memberikan latensi terendah untuk pemanggil. Lambda tidak melakukan failover berbasis kesehatan.

Anda mengelola Fungsi Web dari satu Wilayah rumah. Lambda menangani replikasi ke Wilayah lain. Klien terhubung ke satu nama domain.

Gunakan MultiRegionuntuk aplikasi global yang membutuhkan latensi rendah bagi pengguna di beberapa lokasi geografis.

PerRegion

Menjalankan Fungsi Web Anda dalam beberapa Wilayah AWS, dengan nama domain regional terpisah di setiap Wilayah. Anda menentukan Wilayah target saat membuat titik akhir. Lambda menambahkan Wilayah rumah secara otomatis. Titik akhir harus mencakup setidaknya satu Wilayah lainnya. Lambda mengatur titik akhir di setiap Wilayah yang ditentukan secara otomatis. Setiap Wilayah memiliki nama domain independennya sendiri.

Tidak seperti MultiRegion, Lambda tidak melakukan routing berbasis latensi otomatis. Anda mengelola bagaimana lalu lintas mencapai setiap domain regional, misalnya dengan kebijakan perutean Route 53 Anda sendiri atau CloudFront distribusi.

Gunakan PerRegionsaat Anda memerlukan kontrol atas keputusan perutean per Wilayah, misalnya untuk menerapkan batasan geografis, logika failover kustom, atau Region-specific kebijakan lalu lintas.

Jenis Wilayah dan titik akhir tidak dapat diperbarui setelah pembuatan. Untuk mengubahnya, buat titik akhir baru dengan konfigurasi yang Anda inginkan, migrasi lalu lintas ke nama domain titik akhir baru, lalu hapus titik akhir lama.

Untuk detail tentang cara Lambda mereplikasi Fungsi Web Anda di seluruh Wilayah dan rute lalu lintas, lihat. Multi-Region penyebaran

Nama domain

Lambda mengalokasikan nama domain unik untuk setiap titik akhir saat Anda membuatnya. Klien mengirim permintaan HTTPS ke domain ini untuk menjalankan Fungsi Web Anda. Domain mendukung HTTPS, dan Lambda mengelola sertifikat TLS untuk domain tersebut. Anda tidak membuat, memperbarui, atau mengelola sertifikat sendiri.

Format nama domain tergantung pada jenis titik akhir:

  • HomeRegiondan PerRegion— Setiap Wilayah memiliki domain dalam format:

    domain-id.shard-id.lambda-web.region.on.aws

    Contoh: bcdfghjklmnpqrst.b7t.lambda-web.ap-northeast-3.on.aws

  • MultiRegion— Domain global tunggal dalam format:

    domain-id.lambda-web.global.on.aws

    Contoh: bcdfghjklmn.lambda-web.global.on.aws

    Lambda menggunakan perutean berbasis latensi untuk memilih Wilayah untuk setiap klien.

Anda dapat mengambil nama domain dari GetWebFunctionEndpoint respons atau dari konsol Lambda setelah titik akhir mencapai status Aktif.

catatan

Endpoint Web Function tidak mendukung melampirkan nama domain kustom secara langsung. Klien yang memanggil domain endpoint harus menggunakan nama Lambda-allocated domain. Untuk melayani lalu lintas di domain Anda sendiri, letakkan CloudFront distribusi Amazon di depan titik akhir dan gunakan nama Lambda-allocated domain sebagai asal.

Jenis autentikasi

authTypePengaturan mengontrol apakah Lambda mengautentikasi permintaan HTTP yang masuk sebelum meneruskannya ke aplikasi Anda. Anda dapat memperbarui pengaturan ini pada titik akhir yang ada.

ApplicationManaged

Lambda tidak mengautentikasi permintaan yang masuk. Semua permintaan HTTP diteruskan langsung ke aplikasi Anda. Anda bertanggung jawab untuk menangani otentikasi dalam kode aplikasi Anda.

IamAuth

Lambda memvalidasi tanda tangan setiap permintaan. Menandatangani permintaan dengan AWS Signature Version 4 (SigV4) untuk HomeRegiondan PerRegiondomain, dan dengan Sigv4a Versi Tanda Tangan 4a (Sigv4a) untuk domain global. MultiRegion Hanya penelepon dengan lambda:InvokeWebFunctionEndpoint izin yang dapat memanggil titik akhir.

Untuk detail selengkapnya tentang autentikasi, termasuk CloudFront integrasi dan kebijakan berbasis sumber daya, lihat. Kontrol akses titik akhir Fungsi Web Lambda

Auto-deployment modus

autoDeploymentModePengaturan mengontrol apakah Lambda secara otomatis merutekan lalu lintas ke revisi baru setiap kali Anda menerapkan aplikasi. Anda dapat memperbarui pengaturan ini pada titik akhir yang ada.

Jika Anda menghilangkan autoDeploymentMode permintaan API, defaultnya adalah. Disabled Konsol Lambda dan aws lambda-web deploy perintah digunakan LatestRevision untuk titik akhir baruHomeRegion. LatestRevisiondidukung hanya untuk HomeRegion titik akhir, jadi MultiRegion dan PerRegion titik akhir selalu digunakan. Disabled Saat menggunakanDisabled, tentukan revisionWeights total 100.

LatestRevision

Lambda secara otomatis merutekan 100% lalu lintas ke revisi aktif terbaru. Gunakan untuk lingkungan pengembangan dan pementasan. LatestRevision mode hanya tersedia untuk HomeRegiontitik akhir.

Dinonaktifkan

Lambda tidak mengubah perutean lalu lintas saat Anda membuat revisi baru. Anda mengontrol perutean secara manual dengan bobot revisi. Gunakan untuk lingkungan produksi. Mode dinonaktifkan tersedia untuk semua jenis titik akhir. MultiRegiondan PerRegiontitik akhir selalu menggunakan mode Dinonaktifkan.

Untuk detail tentang pola penerapan, rollback, dan perilaku peralihan mode, lihat. Pola deployment

Penskalaan dan pelambatan

Setiap titik akhir memiliki pengaturan penskalaan dan pelambatan yang mengontrol kapasitas. Anda dapat memperbarui pengaturan ini pada titik akhir yang ada denganupdate-web-function-endpoint. Menghilangkan --scaling-config atau --throttle-config menyimpan nilai saat ini, atau berikan objek kosong ('{}') untuk menghapus nilai yang ditetapkan sebelumnya. Untuk menghapus batas tarif, berikan --throttle-config objek kosong. A rateLimit dari 0 memblokir semua lalu lintas.

  • maxEnvironments – Opsional. Jumlah maksimum lingkungan eksekusi untuk titik akhir di setiap Wilayah. Ketika tidak disetel, titik akhir menskalakan sesuai kebutuhan dalam kuota akun.

  • rateLimit— Permintaan maksimum per detik. Pengaturan ini bersifat opsional. Jika tidak diatur, titik akhir dibatasi oleh kuota tingkat permintaan per endpoint sebesar 10.000 RPS dan kuota akun. Batas tarif berlaku untuk titik akhir secara keseluruhan, di semua lingkungan eksekusi. Ini bukan batas per-lingkungan. Untuk MultiRegiondan PerRegiontitik akhir, setiap Wilayah memberlakukan batas secara independen. Permintaan berlebih menerima HTTP 429.

Untuk detail tentang cara setelan ini berinteraksi dengan konkurensi tingkat revisi dan panduan dalam memilih nilai, lihat. Perilaku penskalaan untuk Fungsi Web Lambda

Membuat dan mengelola titik akhir

Membuat titik akhir

Untuk membuat HomeRegion titik akhir (AWS CLI)
  • aws lambda-web create-web-function-endpoint \ --function-name my-web-app \ --endpoint-name my-endpoint \ --endpoint-type HomeRegion \ --auth-type ApplicationManaged \ --auto-deployment-mode LatestRevision
Untuk membuat MultiRegion titik akhir (AWS CLI)
  • aws lambda-web create-web-function-endpoint \ --function-name my-web-app \ --endpoint-name my-global-endpoint \ --endpoint-type MultiRegion \ --regions us-east-1 eu-west-1 ap-northeast-1 \ --auth-type ApplicationManaged \ --revision-weights '[{"revisionId": "rev-a1b2c", "weight": 100}]'

    MultiRegion dan PerRegion titik akhir memerlukan bobot revisi, karena LatestRevisionpenerapan otomatis tidak tersedia untuk mereka. Untuk informasi selengkapnya, lihat Pola deployment.

Mencantumkan titik akhir

aws lambda-web list-web-function-endpoints \ --function-name my-web-app

Respons mencakup nama, jenis, nama domain, status, dan konfigurasi setiap titik akhir.

Mendapatkan detail titik akhir

aws lambda-web get-web-function-endpoint \ --function-name my-web-app \ --endpoint-name my-endpoint

Respons tersebut mencakup nama domain titik akhir, status, jenis otentikasi, mode penerapan otomatis, pengaturan penskalaan, bobot revisi, dan (untuk dan PerRegion titik akhir) setiap status Wilayah MultiRegion dan status pembaruan di bidang. regionalEndpoints

Memperbarui titik akhir

Anda dapat memperbarui properti berikut pada titik akhir yang ada:

  • description

  • authType

  • autoDeploymentMode

  • revisionWeights

  • scalingConfig

  • throttleConfig

Anda tidak dapat memperbarui properti berikut. Untuk mengubahnya, buat titik akhir baru dengan konfigurasi yang Anda inginkan, migrasi lalu lintas ke nama domain titik akhir baru, lalu hapus titik akhir lama.

  • endpointType (HomeRegion, MultiRegion, PerRegion)

  • regions(Wilayah target titik akhir)

Menghapus titik akhir

aws lambda-web delete-web-function-endpoint \ --function-name my-web-app \ --endpoint-name my-endpoint

Ketika Anda menghapus titik akhir, itu memasuki status Menghapus. Lambda berhenti merutekan permintaan baru ke titik akhir dan menghentikan nama domainnya. Untuk PerRegion titik akhir, Lambda menghentikan nama domain di setiap Wilayah. Lambda tidak pernah menetapkan nama domain endpoint yang dihapus ke titik akhir lain di akun mana pun. Lambda menguras permintaan dalam penerbangan. Ini memungkinkan permintaan yang sudah dalam proses selesai dan menolak permintaan baru ke nama domain titik akhir. Untuk MultiRegion dan PerRegion titik akhir, Lambda menghapus titik akhir dari semua Wilayah. Setelah penghapusan selesai, Lambda secara permanen menghapus titik akhir.

Menghapus titik akhir tidak menghapus Fungsi Web atau revisinya. Revisi tetap tersedia untuk digunakan oleh titik akhir lainnya.