Function Compute mendukung Application Load Balancer (ALB) sebagai sumber event. Anda dapat menetapkan Function Compute sebagai layanan backend untuk ALB. ALB meneruskan permintaan ke fungsi di Function Compute dan secara sinkron mengembalikan hasil pemanggilan fungsi. Topik ini menjelaskan cara mengonfigurasi pemicu ALB untuk menjalankan fungsi.
Prasyarat
Function Compute
Application Load Balancer (ALB)
Batasan
Instans ALB dan layanan Function Compute harus berada di wilayah yang sama.
Batasan berikut berlaku saat Anda menggunakan Function Compute sebagai server backend untuk ALB:
Hanya fungsi yang dipicu oleh permintaan HTTP yang didukung.
Function Compute mensyaratkan bahwa header permintaan HTTP dari klien berisi bidang Date. Bidang Date menunjukkan waktu pengiriman pesan.
Batasan berikut berlaku saat Anda menggunakan Function Compute dengan ALB:
Di ALB, Anda harus menetapkan tipe kelompok server ke Function Compute. Kelompok server backend dan listener harus menggunakan protokol HTTP.
ALB hanya mendukung penambahan satu layanan Function Compute sebagai server backend.
Langkah 1: Tulis dan uji kode fungsi
Masuk ke Konsol Function Compute. Di panel navigasi kiri, klik Services & Functions.
Di bilah navigasi atas, pilih wilayah. Di halaman Services, klik layanan yang diinginkan.
Di halaman Functions, klik nama fungsi yang diinginkan.
Di halaman detail fungsi, klik tab Function Code. Tulis kode di editor kode lalu klik Deploy Code.
Kode berikut merupakan contoh.
var getRawBody = require('raw-body'); var getFormBody = require('body/form'); var body = require('body'); /* Untuk mengaktifkan fitur initializer, implementasikan fungsi initializer seperti di bawah ini: exports.initializer = (context, callback) => { console.log('initializing'); callback(null, ''); }; */ exports.handler = (req, resp, context) => { console.log('hello world'); var params = { path: req.path, queries: req.queries, headers: req.headers, method : req.method, requestURI : req.url, clientIP : req.clientIP, log : ("Hello World.This is FC!"), } getRawBody(req, function(err, body) { for (var key in req.queries) { var value = req.queries[key]; resp.setHeader(key, value); } resp.setHeader("Content-Type", "text/plain"); params.body = body.toString(); resp.send(JSON.stringify(params, null, ' ')); }); /* getFormBody(req, function(err, formBody) { for (var key in req.queries) { var value = req.queries[key]; resp.setHeader(key, value); } params.body = formBody; console.log(formBody); resp.send(JSON.stringify(params)); }); */ }Di tab Function Code, klik Test Function.
Setelah eksekusi selesai, Anda dapat melihat hasilnya di bagian atas tab Function Code.
Langkah 2: Buat kelompok server untuk Function Compute
Masuk ke Konsol ALB.
Masuk ke Konsol ALB. Di panel navigasi kiri, pilih Server Groups. Di bilah navigasi atas, pilih wilayah yang sama dengan fungsi yang telah dibuat, lalu klik Create Server Group.
Di panel navigasi kiri, pilih .
Di halaman Server Groups, klik Create Server Group, lengkapi konfigurasi berikut, lalu klik Create.

Item Konfigurasi
Deskripsi
Server Group Type
Pilih tipe kelompok server. Pada contoh ini, pilih Function Compute Type.
Server Group Name
Kustom
Backend Protocol
Pilih protokol backend. Pada contoh ini, pilih HTTP.
Pilih kelompok resource
Pilih kelompok resource tempat kelompok server berada.
Configure Health Checks
Enable Health Check
Aktifkan atau nonaktifkan pemeriksaan kesehatan. Pada contoh ini, pengaturan default digunakan, yaitu menonaktifkan pemeriksaan kesehatan.
Konfigurasi Lanjutan
Untuk mengaktifkan pemeriksaan kesehatan, sesuaikan konfigurasi lanjutan sesuai kebutuhan. Untuk informasi selengkapnya, lihat Buat dan kelola kelompok server.
Pada pesan yang muncul, klik Add Backend Server.
Di tab Backend Servers, klik Configure Function Compute.
Di panel Add Backend Servers, gunakan salah satu metode berikut untuk menyelesaikan konfigurasi, lalu klik OK.
Select Resources
Item Konfigurasi
Deskripsi
Metode Konfigurasi
Pilih Select Resources.
Service
Pilih layanan tempat fungsi target berada.
Version
Pilih LATEST. Layanan yang baru dibuat hanya memiliki versi LATEST secara default.
Function
Pilih fungsi target.
Description
Kustom.
Use ARN
Item Konfigurasi
Deskripsi
Metode Konfigurasi
Pilih Use ARN.
ARN
Masukkan ARN fungsi target. Untuk informasi tentang cara mendapatkan ARN fungsi, lihat Dapatkan ARN fungsi.
Catatan:
Kustom
Panel Add Backend Servers menampilkan pesan yang menyatakan bahwa server berhasil ditambahkan. Klik Close. Di tab Backend Servers, Anda dapat melihat server backend yang telah dikonfigurasi.
Langkah 3: Buat instans ALB dan konfigurasi listener
Masuk ke Konsol Application Load Balancer (ALB).
Di bilah menu atas, pilih wilayah. Pada contoh ini, China (Hangzhou) dipilih.
Di halaman Instances, klik Create Application Load Balancer.
Di halaman pembelian Application Load Balancer (Pay-As-You-Go), lengkapi pengaturan parameter.
Bagian ini hanya mencantumkan parameter yang relevan dengan topik ini. Untuk informasi tentang parameter lainnya, lihat Buat dan kelola instans ALB.
Region: Pada contoh ini, pilih China (Hangzhou).
Network Type: Pada contoh ini, pilih Internet.
Di halaman Instances, temukan instans ALB yang telah dibuat. Di kolom Actions instans tersebut, klik Create Listener untuk membuka wizard konfigurasi listener.
Di wizard Configure Listener, lengkapi konfigurasi berikut, lalu klik Next.
Item Konfigurasi
Deskripsi
Listener Protocol
Pilih protokol untuk listener. Pada contoh ini, pilih HTTP.
Listener Port
Masukkan port listener yang menerima permintaan dan meneruskannya ke server backend. Range port adalah 1 hingga 65535. Pada contoh ini, masukkan 80.
Listener Name
Custom
Advanced Configuration
Pada contoh ini, konfigurasi default digunakan.
Di wizard Select Server Group, dari daftar drop-down Select Server Group, pilih Function Compute Type. Pilih kelompok server backend yang telah Anda buat di Langkah 2: Buat kelompok server untuk Function Compute, lalu klik Next.
Di wizard Configuration Review, konfirmasi pengaturan lalu klik Submit.
Langkah 4: Uji koneksi
Setelah menyelesaikan langkah-langkah di atas, koneksi antara Function Compute dan ALB telah terbentuk. Lakukan operasi berikut untuk menguji koneksi antara Function Compute dan ALB.
Buka jendela command line dan jalankan perintah curl -v untuk mendapatkan bidang header Date.
Function Compute mensyaratkan bahwa header permintaan HTTP berisi bidang Date.
curl -v <nama domain instans ALB>
Jalankan perintah curl -H untuk mengakses nama domain instans ALB.
curl -H "Date header field" <nama domain instans ALB>Jika Anda menerima pesan respons seperti pada gambar berikut, berarti ALB dapat meneruskan permintaan ke Function Compute dan memanggil fungsi.

Informasi tambahan
- Gunakan Serverless Devs untuk mengonfigurasi pemicu. Untuk informasi selengkapnya, lihat Serverless Devs.
- Gunakan SDK untuk mengonfigurasi pemicu. Untuk informasi selengkapnya, lihat SDK.
Untuk memodifikasi atau menghapus pemicu yang telah dibuat, lihat Kelola pemicu.