Secara default, fungsi yang dibuat di Function Compute dapat mengakses jaringan publik tetapi tidak dapat mengakses resource dalam Virtual Private Cloud (VPC). Untuk mengaktifkan akses fungsi ke resource VPC atau membatasi pemanggilan fungsi hanya dari VPC tertentu, Anda harus mengonfigurasi secara manual pengaturan jaringan dan izinnya. Topik ini menjelaskan cara mengonfigurasi pengaturan jaringan untuk suatu fungsi di Konsol Function Compute.
Catatan penggunaan
Saat mengonfigurasi akses VPC untuk fungsi berakselerasi GPU yang dibuat dari image instans Alibaba Cloud Container Registry (ACR) Edisi Perusahaan, pemilihan VPC dan vSwitch harus mengikuti prinsip-prinsip berikut.
Jika halaman Access Control instans ACR Edisi Perusahaan menampilkan Access IP dengan tag Default Resolution, VPC dan vSwitch untuk fungsi tersebut harus diatur ke VPC dan vSwitch yang sesuai dengan alamat IP resolusi default.
Jika halaman Access Control instans ACR Edisi Perusahaan menampilkan Access IP tanpa tag Default Resolution, VPC dan vSwitch untuk fungsi tersebut dapat diatur ke pasangan apa pun yang terikat ke instans tersebut.
Kemampuan akses jaringan
Mengaktifkan akses VPC dapat meningkatkan latensi cold start Function Compute. Kami menyarankan menggunakan konfigurasi ini hanya jika diperlukan. Sebagai alternatif, pertimbangkan penggunaan otorisasi RAM untuk mengakses resource. Untuk informasi selengkapnya, lihat Gunakan role fungsi untuk mengakses layanan cloud lainnya.
Saat fungsi dipanggil atau saat mengakses alamat jaringan, trafik akan dihasilkan. Trafik tersebut terbagi ke dalam kategori berikut.
Trafik jaringan publik: Trafik yang dihasilkan dari akses ke alamat Internet, seperti website resmi Alibaba Cloud, Taobao, atau titik akhir publik layanan cloud.
Trafik VPC: Trafik yang dihasilkan dari akses ke resource dalam VPC Anda, seperti titik akhir RDS, titik akhir NAS, atau alamat IP pribadi instans ECS.
Kemampuan akses jaringan fungsi bergantung pada pengaturannya. Anda dapat mengonfigurasinya sesuai kebutuhan.
Trafik egress fungsi: Menentukan apakah fungsi dapat mengirim trafik egress ke jaringan publik atau ke resource dalam VPC. Pengaturan yang sesuai adalah Allow VPC Access dan Allow function to access public network.
Tabel 1. Trafik egress fungsi
Konfigurasi
Deskripsi
Izinkan fungsi hanya mengakses jaringan publik
Fungsi mengakses jaringan publik dan jaringan internal Function Compute. Akses melalui VPC Anda dinonaktifkan.
Pengaturan jaringan yang diperlukan:
Atur Allow VPC Access ke No.
Atur Allow function to access public network ke Yes.
Izinkan fungsi hanya mengakses VPC
Fungsi hanya mengakses jaringan publik dan resource internal melalui VPC Anda. Konfigurasi ini cocok untuk skenario yang melibatkan PrivateZone, Gateway NAT, atau fungsi yang terikat ke VPC.
Pengaturan jaringan yang diperlukan:
Atur Allow VPC Access ke Yes dan konfigurasikan informasi VPC yang dapat diakses oleh fungsi.
Atur Allow function to access public network ke No.
Izinkan fungsi mengakses jaringan publik dan VPC
Untuk fungsi non-GPU:
Akses jaringan publik melalui jaringan fungsi.
Akses jaringan internal melalui VPC Anda. PrivateZone didukung untuk resolusi nama domain privat.
Untuk fungsi GPU:
Akses jaringan publik dan jaringan internal dalam blok CIDR 100.0.0.0/8 melalui jaringan fungsi.
Akses jaringan internal di luar blok CIDR 100.0.0.0/8 melalui VPC Anda. PrivateZone tidak didukung untuk resolusi nama domain privat. Untuk mengaktifkan fitur ini, Anda dapat submit a ticket.
Pengaturan jaringan yang diperlukan:
Atur Allow VPC Access ke Yes dan konfigurasikan informasi VPC yang dapat diakses oleh fungsi.
Atur Allow function to access public network ke Yes.
Larang fungsi mengakses jaringan publik dan VPC
Fungsi hanya dapat mengakses jaringan internal Function Compute. Akses ke jaringan publik dan VPC Anda dinonaktifkan. Pengaturan jaringan yang diperlukan:
Atur Allow VPC Access ke No.
Atur Allow function to access public network ke No.
Trafik ingress fungsi: Menentukan apakah fungsi dapat menerima trafik ingress dari jaringan publik atau VPC. Pengaturan yang sesuai adalah Allow Only Specified VPCs to Invoke the Function.
Tabel 2. Trafik ingress fungsi
Konfigurasi
Deskripsi
Izinkan fungsi dipanggil dari jaringan publik dan VPC
Secara default, fungsi baru dapat dipanggil dari jaringan publik dan dari dalam VPC. Konfigurasi jaringan default adalah sebagai berikut:
Atur Allow Only Specified VPCs to Invoke the Function ke No.
Izinkan fungsi hanya dipanggil dari VPC tertentu
Pengaturan ini hanya mengizinkan pemanggilan fungsi dari VPC tertentu dan menolak permintaan dari jaringan publik. Pengaturan jaringan yang diperlukan:
Atur Allow Only Specified VPCs to Invoke the Function ke Yes dan konfigurasikan VPC dari mana fungsi dapat dipanggil.
Zona ketersediaan yang didukung
Untuk mendapatkan daftar terbaru zona ketersediaan yang didukung di setiap wilayah, Anda dapat memanggil operasi API Get Availability Zones di OpenAPI Explorer.
Jika resource Anda berada di zona ketersediaan yang tidak didukung oleh Function Compute, Anda dapat membuat vSwitch di lingkungan VPC Anda dalam zona ketersediaan yang didukung oleh Function Compute, lalu atur ID vSwitch tersebut dalam konfigurasi VPC untuk fungsi Function Compute. Karena vSwitch dalam VPC yang sama dapat saling berkomunikasi melalui jaringan pribadi, Function Compute dapat menggunakan vSwitch tersebut untuk mengakses resource di zona ketersediaan lain dalam VPC yang sama. Untuk informasi selengkapnya, lihat Apa yang harus saya lakukan jika mengalami error 'vSwitch is in unsupported zone'?.
Prasyarat
(Opsional) Buat resource jaringan
Jika Anda belum membuat resource yang diperlukan, Anda dapat memilih Automatic Configuration selama proses konfigurasi. Jika tidak, Anda harus membuat resource tersebut terlebih dahulu dengan mengikuti petunjuk di topik-topik berikut:
Konfigurasi jaringan dan role
Masuk ke Konsol Function Compute. Di panel navigasi kiri, pilih .
Di bilah navigasi atas, pilih wilayah. Di halaman Functions, klik fungsi target.
Di halaman detail fungsi, klik tab Configuration, lalu klik Modify di bagian Advanced Settings.
Di panel Advanced Settings, temukan bagian Network, konfigurasikan pengaturan sesuai kebutuhan, lalu klik Deploy.
Allow VPC Access: Mengontrol apakah fungsi dapat mengakses resource dalam VPC. Nilai yang valid:
Enable: Mengizinkan fungsi mengakses resource dalam VPC. Setelah memilih Enable, Anda harus memilih Configuration Method. Nilai yang valid:
(Disarankan) Automatic Configuration: Function Compute secara otomatis membuat resource seperti VPC, vSwitch, dan security group. Sistem akan menggunakan kembali resource yang sudah ada di wilayah saat ini alih-alih membuat yang baru.
Custom Configuration: Anda harus memilih secara manual resource jaringan yang sudah ada. Pastikan Anda telah membuat resource yang diperlukan sebelumnya.
VPC: Pilih VPC yang ingin diakses dari daftar.
PentingAnda dapat membuat maksimal 10 vSwitch di VPC yang dipilih.
vSwitch: Pilih minimal satu vSwitch dari daftar.
Bidang ini menentukan subnet yang dapat diakses oleh Function Compute. Kami menyarankan Anda menentukan dua vSwitch atau lebih. Hal ini memungkinkan fungsi Anda berjalan di subnet lain jika zona ketersediaan mengalami kegagalan atau alamat IP di subnet habis.
Security Group: Pilih security group dari daftar.
Security group ini mengaitkan antarmuka jaringan elastis (ENI) dengan fungsi, yang mengontrol akses ke resource dalam VPC. Secara default, aturan keluar security group mengizinkan semua trafik. Anda juga dapat mengonfigurasi aturan keluar untuk menentukan kebijakan kontrol akses granular bagi fungsi.
CatatanAturan keluar security group harus mengizinkan protokol ICMP. Function Compute menggunakan ICMP untuk memeriksa konektivitas jaringan VPC.
Disable: Mencegah fungsi mengakses resource dalam VPC.
Static Public IP: Menentukan apakah akan mendapatkan alamat IP publik statis untuk akses internet menggunakan Gateway NAT dan Alamat IP Elastis. Untuk informasi selengkapnya, lihat Konfigurasikan alamat IP publik statis.
Allow Default ENI to Access the Internet: Menentukan apakah fungsi diizinkan mengakses jaringan publik. Nilai yang valid:
Enable: Mengizinkan fungsi mengakses jaringan publik.
Disable: Mencegah fungsi mengakses jaringan publik.
Allow Only Specified VPCs to Invoke the Function: Menentukan apakah fungsi hanya dapat dipanggil dari VPC tertentu. Nilai yang valid:
Enable: Mengizinkan fungsi hanya dipanggil dari VPC tertentu. Perhatikan poin-poin berikut:
Fungsi dapat diikat ke maksimal 20 VPC.
Pemanggilan fungsi oleh pemicu tidak terpengaruh.
Pengikatan VPC berlaku untuk semua versi dan alias fungsi.
Setelah Anda mengaktifkan pengaturan ini, permintaan pemanggilan dari jaringan publik dan VPC lain akan ditolak. Sistem akan mengembalikan
StatusCode403,ErrorCodeAccessDenied, dan pesan errorResource access is bound by VPC: VPC ID.Pengikatan VPC hanya didukung pada titik akhir HTTP privat. Titik akhir publik dan titik akhir HTTPS privat tidak didukung.
Disable: Mengizinkan fungsi dipanggil dari jaringan publik dan semua VPC.
FAQ
Mengapa Function Compute gagal terhubung ke VPC untuk debugging?
Jika Anda telah mengaktifkan akses VPC untuk fungsi tetapi koneksi gagal, kemungkinan penyebabnya adalah sebagai berikut:
Subnet yang menampung vSwitch mengalami gangguan, atau alamat IP di subnet telah habis. Anda dapat memberikan dua ID vSwitch atau lebih saat mengonfigurasi VPC. Konfigurasi ini meningkatkan toleransi kesalahan dengan memungkinkan fungsi Anda berjalan di zona ketersediaan lain jika salah satu gagal.
Security group dikonfigurasi secara salah. Konfigurasikan security group sebagai berikut:
Anda harus mengatur aturan masuk security group di VPC untuk mengizinkan akses dari security group Function Compute.
Aturan keluar security group harus mengizinkan protokol ICMP. Function Compute menggunakan ICMP untuk memeriksa konektivitas jaringan VPC.
Untuk langkah-langkah detail cara mengonfigurasi security group, lihat Tambahkan aturan security group.
Apa yang harus saya lakukan jika resource jaringan tidak mencukupi?
Saat Anda membuat resource jaringan VPC, konfigurasi otomatis menyediakan awalan jaringan /24, yang menawarkan 252 alamat IP yang tersedia. Jika Anda memiliki terlalu banyak instans, Anda mungkin melebihi batas ini. Dalam kasus ini, Anda harus menyesuaikan secara manual blok CIDR vSwitch dan security group yang sesuai.
Pemecahan masalah
Function Compute tidak dapat memeriksa izin akses VPC saat Anda mengonfigurasi vpcConfig. Izin ini hanya diperiksa selama eksekusi fungsi. Oleh karena itu, jenis error baru mungkin terjadi saat Anda memanggil fungsi menggunakan API InvokeFunction. Tabel berikut menjelaskan error umum yang terjadi saat mengakses VPC untuk membantu Anda memecahkan masalah dengan cepat.
Kode error | Kode status HTTP | Penyebab | Solusi |
InvalidArgument | 400 | Function Compute tidak mendukung zona ketersediaan vSwitch yang ditentukan oleh vSwitchId. | Perbarui vSwitchId. Untuk informasi selengkapnya, lihat Zona ketersediaan yang didukung. |
Resource yang sesuai dengan vpcId, vSwitchIds, atau securityGroupId dalam vpcConfig tidak ditemukan. | Periksa pengaturan parameter vpcConfig. | ||
vSwitch atau security group yang ditentukan tidak berada dalam VPC yang sesuai. | Periksa pengaturan parameter vpcConfig untuk memastikan bahwa resource yang sesuai dengan vSwitchId dan securityGroupId berada dalam VPC yang sesuai dengan vpcId. | ||
AccessDenied | 403 | Izin untuk melakukan operasi pada ENI tidak diberikan. | Periksa izin fungsi. Untuk informasi selengkapnya, lihat Gunakan role fungsi untuk mengakses layanan cloud lainnya. |
ResourceExhausted | 429 | Blok CIDR vSwitch memiliki alamat IP yang tidak mencukupi, sehingga mencegah Function Compute membuat lebih banyak ENI. | Buat vSwitch dengan blok CIDR yang lebih besar dan perbarui parameter vSwitchId dari vpcConfig. Catatan Kami menyarankan Anda menggunakan blok CIDR |
Dokumen terkait
Untuk mengakses database dalam VPC, kami menyarankan Anda mengonfigurasi daftar izin alamat IP untuk database tersebut. Di daftar izin, tentukan blok CIDR vSwitch yang Anda konfigurasikan di halaman ini. Untuk informasi selengkapnya, lihat Akses database.
Untuk mengontrol trafik egress fungsi ke jaringan publik, Anda harus menggunakan alamat IP statis. Untuk informasi selengkapnya, lihat Konfigurasikan alamat IP publik statis.