Secara default, Anda hanya dapat memanggil fungsi yang dibuat di Function Compute melalui Internet. Jika ingin fungsi mengakses sumber daya di virtual private cloud (VPC) atau mengizinkan permintaan dari VPC tertentu ke fungsi tersebut, Anda harus mengonfigurasi jaringan dan izin secara manual untuk layanan tempat fungsi berada. Pengaturan ini berlaku pada tingkat layanan dan mencakup semua fungsi dalam layanan tersebut. Topik ini menjelaskan cara mengonfigurasi jaringan untuk layanan di konsol Function Compute.
Catatan penggunaan
Sebelum mengaitkan sumber daya VPC dengan layanan, pastikan bahwa izin
vpc:DescribeVSwitchAttributesdanvpc:DescribeVpcAttributetelah diberikan kepada peran terkait layanan.Untuk fungsi Custom Container yang dibuat menggunakan gambar kontainer dari instance Container Registry Enterprise Edition, konfigurasikan VPC dan vSwitch sesuai aturan berikut ketika mengatur pengaturan VPC untuk layanan tempat fungsi berada:
Jika pengenal Default Resolution muncul di sebelah VPC di kolom Visit IP pada halaman Access Control instance Container Registry Enterprise Edition, konfigurasikan VPC dan vSwitch yang menggunakan alamat IP hasil resolusi default.

Jika pengenal Default Resolution tidak muncul, Anda dapat memilih VPC dan vSwitch acak yang terikat pada instance tersebut.

Kemampuan akses jaringan
Fitur VPC dapat menurunkan efisiensi cold start dari Function Compute. Kami menyarankan agar Anda tidak mengonfigurasi fitur ini kecuali diperlukan. Anda dapat menggunakan pengguna RAM untuk mengakses sumber daya seperti Tablestore.
Trafik dihasilkan saat Anda mengakses fungsi dari alamat jaringan atau saat fungsi mengakses alamat jaringan. Jenis trafik berikut dihasilkan:
Trafik Internet: trafik yang dihasilkan saat mengakses alamat Internet, seperti situs web resmi Alibaba Cloud, situs web Taobao, dan titik akhir publik layanan Alibaba Cloud.
Trafik VPC: trafik yang dihasilkan saat mengakses alamat VPC, seperti alamat ApsaraDB RDS, File Storage NAS (NAS), dan alamat IP privat dari instance Elastic Compute Service (ECS) di VPC.
Anda dapat mengonfigurasi pengaturan jaringan berdasarkan kebutuhan bisnis untuk mendapatkan kemampuan akses jaringan fungsi yang sesuai:
Pengaturan trafik keluar fungsi: tentukan apakah akan mengizinkan fungsi untuk mengakses sumber daya melalui Internet atau di dalam VPC dengan mengonfigurasi parameter Access to VPC dan Access to Internet.
Tabel 1 - Trafik Keluar Fungsi
Pengaturan Jaringan
Deskripsi
Mengizinkan fungsi untuk mengakses sumber daya hanya melalui Internet.
Fungsi dapat mengakses Internet dan jaringan internal tetapi tidak dapat mengakses sumber daya di VPC. Konfigurasikan parameter berikut:
Atur Access to VPC menjadi No.
Atur Access to Internet menjadi Yes.
Mengizinkan fungsi untuk mengakses hanya sumber daya di VPC.
Fungsi dapat mengakses sumber daya jaringan publik dan internal menggunakan VPC. Pengaturan ini berlaku untuk skenario seperti PrivateZone, NAT Gateway, dan pengikatan VPC. Konfigurasikan parameter berikut:
Atur Access to VPC menjadi Yes, lalu tentukan VPC yang dapat diakses oleh fungsi tersebut.
Atur Access to Internet menjadi No.
Mengizinkan fungsi untuk mengakses sumber daya melalui Internet dan di dalam VPC.
Fungsi dapat mengakses sumber daya jaringan publik menggunakan logika fungsi dan sumber daya jaringan internal menggunakan VPC. Konfigurasikan parameter berikut:
Atur Access to VPC ke Yes, lalu tentukan VPC yang dapat diakses oleh fungsi tersebut.
Atur Access to Internet menjadi Yes.
Melarang fungsi untuk mengakses sumber daya melalui Internet atau di dalam VPC.
Fungsi hanya dapat mengakses sumber daya jaringan internal menggunakan logika fungsi. Konfigurasikan parameter berikut:
Atur Access to VPC menjadi No.
Atur Access to Internet menjadi No.
Pengaturan trafik masuk fungsi: tentukan apakah akan mengizinkan permintaan pemanggilan dari Internet atau VPC. Anda dapat menggunakan Function Invocation only by Specified VPCs untuk mengonfigurasi pengaturan trafik masuk.
Tabel 2. Trafik Masuk Fungsi
Pengaturan Jaringan
Deskripsi
Mengizinkan akses ke fungsi melalui Internet dan VPC tertentu.
Secara default, Anda dapat memanggil fungsi melalui Internet dan VPC. Item berikut menggambarkan konfigurasi jaringan default:
Function Invocation only by Specified VPCs diatur menjadi No.
Mengizinkan akses ke fungsi hanya melalui VPC tertentu.
Fungsi dapat dipanggil melalui VPC tertentu tetapi tidak dapat dipanggil melalui Internet. Konfigurasikan parameter berikut:
Atur Function Invocation only by Specified VPCs menjadi Yes dan tentukan VPC tempat fungsi Anda dapat dipanggil.
Zona di mana Function Compute didukung
Untuk informasi lebih lanjut tentang zona yang didukung terbaru di setiap wilayah, Anda dapat memanggil operasi GetAccountSettings di OpenAPI Explorer.
Jika sumber daya Anda diterapkan di zona di mana Function Compute tidak didukung, buat vSwitch di zona yang didukung di VPC Anda dan tentukan ID vSwitch dalam konfigurasi VPC layanan Function Compute. vSwitch di VPC yang sama dapat berkomunikasi satu sama lain melalui jaringan privat. Oleh karena itu, Function Compute dapat menggunakan vSwitch untuk mengakses sumber daya VPC yang diterapkan di zona lain. Untuk informasi lebih lanjut, lihat Bagaimana cara menyelesaikan kesalahan "vSwitch berada di zona yang tidak didukung"?
Sebelum Anda mulai
(Opsional) Buat sumber daya jaringan.
Jika Anda belum membuat sumber daya, pilih Automatic Configuration saat mengonfigurasi pengaturan jaringan. Jika tidak, Anda harus membuat sumber daya seperti yang dijelaskan dalam topik-topik berikut:
Konfigurasikan pengaturan jaringan dan peran
VPC dan izin dikonfigurasi pada tingkat layanan. Jika Anda mengizinkan layanan di Function Compute untuk mengakses VPC, semua fungsi dalam layanan tersebut diizinkan untuk mengakses VPC.
Masuk ke konsol Function Compute. Di panel navigasi kiri, klik Services & Functions.
Di bilah navigasi atas, pilih wilayah. Pada halaman Services, temukan layanan yang diinginkan dan klik Configure di kolom Actions.
Di bagian Role Settings dari halaman Modifikasi Layanan, konfigurasikan parameter Service Role. Pastikan bahwa peran yang Anda pilih memiliki izin untuk mengakses sumber daya VPC
Kami menyarankan agar Anda memberikan izin kepada peran berdasarkan prinsip hak istimewa minimal. Untuk informasi lebih lanjut tentang kontrol izin granular, lihat Kebijakan dan Contoh Kebijakan.
Di bagian Network Settings, konfigurasikan parameter berikut.
Access to VPC: Tentukan apakah akan mengizinkan fungsi untuk mengakses sumber daya di VPC. Opsi:
Yes: Fungsi dapat mengakses sumber daya di VPC. Jika Anda mengatur nilainya menjadi Yes, Anda juga harus mengonfigurasi parameter Configuration Mode. Opsi:
(Direkomendasikan) Automatic Configuration: Function Compute secara otomatis membuat sumber daya seperti VPC, vSwitches, dan grup keamanan untuk Anda. Setelah sumber daya jaringan dibuat, Anda dapat memodifikasi sumber daya jaringan berdasarkan kebutuhan bisnis Anda.
CatatanNama sumber daya jaringan yang dibuat secara otomatis oleh Function Compute diawali dengan fc.auto.create.
Custom Configuration: Anda harus secara manual memilih sumber daya yang ada, termasuk VPC, vSwitches, dan grup keamanan. Pastikan bahwa sumber daya tersebut telah dibuat sebelumnya.

VPC: Pilih ID VPC dari daftar drop-down.
vSwitch: Pilih setidaknya satu ID vSwitch dari daftar drop-down.
Parameter ini mendefinisikan subnet yang dapat diakses oleh Function Compute. Kami menyarankan agar Anda menentukan dua atau lebih ID vSwitch. Jika zona menjadi tidak tersedia atau alamat IP tidak mencukupi, fungsi Anda dapat berjalan di subnet lain.
Security Group: Pilih ID grup keamanan dari daftar drop-down.
Parameter ini menentukan grup keamanan yang terkait dengan Function Compute. Grup keamanan ini mendefinisikan aturan masuk dan keluar dari Function Compute di VPC yang ditentukan. Di dalam grup keamanan yang terkait dengan VPC, konfigurasikan aturan untuk mengizinkan akses dari grup keamanan yang terkait dengan Function Compute. Jika tidak, Function Compute tidak dapat mengakses sumber daya yang diterapkan di VPC tersebut.
No: Fungsi tidak dapat mengakses sumber daya di VPC.
Static Public IP Address: Tentukan apakah akan memperoleh alamat IP publik statis menggunakan gateway NAT dan alamat IP elastis (EIP). Untuk informasi lebih lanjut, lihat Tetapkan Alamat IP Publik Statis.
Access to Internet: Tentukan apakah akan mengizinkan fungsi untuk mengakses Internet. Opsi:
Yes: Fungsi dapat mengakses Internet.
No: Fungsi tidak dapat mengakses Internet.
Function Invocation only by Specified VPCs: Tentukan apakah hanya permintaan pemanggilan dari VPC tertentu yang diizinkan. Opsi:
Yes: Fungsi hanya dapat dipanggil melalui VPC tertentu. Perhatikan hal-hal berikut:
Anda dapat mengaitkan maksimal 20 VPC dengan layanan.
Pemanggilan fungsi oleh pemicu tidak terpengaruh meskipun Anda hanya mengizinkan pemanggilan dari VPC tertentu.
Setelah Anda mengikat satu atau lebih VPC dengan layanan, pengaturan VPC berlaku untuk semua versi dan alias layanan tersebut.
Jika Anda hanya mengizinkan permintaan dari VPC tertentu, permintaan dari Internet dan VPC lainnya akan ditolak. Dalam hal ini,
StatusCode403,ErrorCodeAccessDenied, dan pesan kesalahanResource access is bound by VPC: VPC IDdilaporkan.VPC hanya dapat diikat dengan titik akhir HTTP privat, bukan titik akhir publik atau titik akhir HTTPS privat.
No: Fungsi hanya dapat dipanggil melalui Internet. Anda tidak dapat memanggil fungsi melalui VPC.
Klik Save.
Tanya Jawab Umum
Mengapa saya tidak dapat menghubungkan Function Compute ke VPC untuk debugging?
Jika Function Compute gagal terhubung ke VPC setelah layanan Anda dikonfigurasi untuk mengizinkan fungsi mengakses VPC, periksa kemungkinan penyebab berikut:
Terjadi kesalahan pada subnet tempat vSwitch terkait, atau alamat IP tidak mencukupi. Kami menyarankan agar Anda menentukan setidaknya dua ID vSwitch. Ini memungkinkan fungsi Anda berjalan di zona lain jika terjadi kesalahan di zona saat ini.
Grup keamanan tidak valid. Konfigurasikan grup keamanan berdasarkan aturan berikut:
Di dalam grup keamanan yang terkait dengan VPC yang ditentukan, sebuah aturan dikonfigurasi untuk mengizinkan akses dari grup keamanan yang terkait dengan Function Compute.
Trafik keluar dari grup keamanan harus mendukung Internet Control Message Protocol (ICMP). Function Compute memeriksa konektivitas jaringan VPC berdasarkan ICMP.
Untuk informasi lebih lanjut tentang cara mengonfigurasi aturan grup keamanan, lihat Tambahkan Aturan Grup Keamanan.
Apa yang harus saya lakukan jika sumber daya tidak cukup ketika saya membuat sumber daya jaringan?
Ketika Anda membuat sumber daya VPC, panjang awalan blok CIDR adalah 24 dan jumlah alamat IP yang tersedia adalah 252. Jika jumlah instance terlalu besar, batas mungkin terlampaui. Dalam hal ini, Anda harus secara manual memodifikasi blok CIDR dari vSwitch dan grup keamanan.
Pemecahan Masalah
Function Compute tidak memverifikasi izin untuk mengakses VPC jika Anda mengonfigurasi vpcConfig. Sebagai gantinya, izin diverifikasi ketika fungsi dieksekusi. Oleh karena itu, kesalahan baru mungkin terjadi ketika Anda memanggil fungsi menggunakan operasi InvokeFunction jika vpcConfig dikonfigurasi. Tabel berikut menjelaskan kesalahan umum yang mungkin terjadi ketika fungsi di Function Compute mengakses VPC. Anda dapat merujuk pada tabel ini untuk memecahkan masalah.
Kode kesalahan | Kode status | Penyebab | Solusi |
InvalidArgument | 400 | Function Compute tidak mendukung zona dari vSwitch yang ditentukan. | Tentukan ID vSwitch yang valid. Untuk informasi lebih lanjut, lihat Zona di mana Function Compute didukung. |
Sumber daya yang ditentukan oleh parameter vpcId, vSwitchIds, atau securityGroupId di vpcConfig tidak dapat ditemukan. | Periksa apakah pengaturan di vpcConfig valid. | ||
vSwitch atau grup keamanan yang ditentukan tidak berada di VPC. | Periksa apakah pengaturan vpcConfig valid. Pastikan bahwa sumber daya yang ditentukan oleh vSwitchId dan securityGroupId diterapkan di VPC yang ditentukan oleh vpcId. | ||
AccessDenied | 403 | Anda belum memberikan izin operasi pada antarmuka jaringan elastis (ENI) kepada fungsi. | Periksa izin operasi layanan. Untuk informasi lebih lanjut, lihat Berikan izin Function Compute untuk mengakses layanan Alibaba Cloud lainnya. |
ResourceExhausted | 429 | Alamat IP yang tersedia di blok CIDR dari vSwitch tidak mencukupi. Function Compute tidak dapat membuat ENI tambahan. | Buat vSwitch dengan blok CIDR yang lebih besar dan perbarui parameter vSwitchId di vpcConfig. Catatan Kami menyarankan agar Anda menggunakan blok CIDR |
Informasi tambahan
Jika Anda ingin fungsi mengakses database yang berada di VPC, kami menyarankan agar Anda menambahkan blok CIDR dari vSwitch yang Anda konfigurasikan ke daftar putih. Untuk informasi lebih lanjut, lihat Akses Database.
Jika Anda ingin membatasi akses fungsi ke Internet, gunakan alamat IP statis. Untuk informasi lebih lanjut, lihat Tetapkan Alamat IP Publik Statis.