Topik ini menjelaskan cara mengakses API Gateway dari Function Compute melalui VPC.
Ikhtisar
API Gateway dapat diintegrasikan dengan Function Compute untuk membangun arsitektur serverless. Anda mungkin perlu memanggil API yang diterbitkan di API Gateway saat menggunakan Function Compute. Untuk alasan keamanan, kami menyarankan agar Anda mengakses API Gateway melalui jaringan internal saat menggunakan Function Compute. Topik ini berfokus pada akses ke API Gateway melalui jaringan internal dalam skenario berikut:
Skenario 1: API Gateway dan Function Compute berada di wilayah yang sama.
Skenario 2: API Gateway dan Function Compute berada di wilayah yang berbeda.
Ikuti prinsip konfigurasi berikut dalam kedua skenario tersebut:
Konfigurasikan VPC untuk mengakses API Gateway. Untuk informasi lebih lanjut, lihat Akses API Gateway melalui VPC.
Konfigurasikan VPC untuk mengakses Function Compute. Untuk informasi lebih lanjut, lihat Konfigurasikan Pengaturan Jaringan.
Skema 1
Bangun arsitektur seperti yang ditunjukkan pada gambar berikut.

Dua VPC bernama vpc-api-access dan vpc-backend-1 dibuat di wilayah China (Shanghai).
Satu instance API Gateway Dedicated dibuat di wilayah China (Shanghai).
Di vpc-backend-1, sebuah Instance ECS Elastic Compute Service (ECS) dibuat sebagai layanan backend API Gateway. Instance ECS ini menyediakan API melalui HTTP. Alamat layanan HTTP adalah http://localhost:8080/web/cloudapi. Grup keamanan dikonfigurasi untuk mengizinkan API Gateway mengakses instance ECS ini.
Buat API dengan VPC sebagai tipe layanan backend.
Untuk informasi lebih lanjut, lihat Gunakan Sumber Daya di VPC sebagai Layanan Backend Operasi API. Perhatikan poin-poin berikut:
Buat otorisasi VPC. Otorisasi VPC yang dibuat akan ditampilkan di halaman Daftar Akses VPC.

Atur Tipe Layanan Backend ke VPC. Atur Sertifikasi Keamanan ke Tanpa Sertifikasi untuk memudahkan pengujian pemanggilan API selanjutnya.


Simpan pengaturan dan publikasikan API ke lingkungan produksi.
Konfigurasikan izin untuk mengakses API Gateway melalui VPC.
Di bagian Instance Khusus (VPC) halaman Daftar Instance di konsol API Gateway, klik Bind to VPC di sebelah kanan bidang Client VPC. Di kotak dialog yang muncul, pilih ID vpc-api-access dari daftar drop-down Vpc Id dan klik Konfirmasi. Anda dapat mengakses API Gateway melalui vpc-api-access.

Aktifkan subdomain VPC untuk grup API.
Di halaman Detail Grup, klik Aktifkan Subdomain Tingkat Dua VPC di sebelah kanan bidang Nama Domain VPC. Di pesan Aktifkan Subdomain Tingkat Dua VPC, klik Konfirmasi. Nama domain tingkat dua VPC diberikan ke grup API ini. Anda dapat menggunakan nama domain ini untuk memanggil API dalam grup API ini.

Akses Internet diaktifkan secara default untuk grup API. Anda dapat mengklik Nonaktifkan Akses melalui Internet untuk menonaktifkan akses Internet sesuai kebutuhan bisnis Anda. Jika akses Internet dinonaktifkan, Anda tidak dapat melakukan debugging online di konsol API Gateway.
Buat fungsi.
Di Function Compute, buat aplikasi dan buat fungsi yang berjalan di lingkungan Python. Gambar berikut menunjukkan isi dari fungsi ini.

Di fungsi ini, hanya perintah curl yang dijalankan untuk memanggil API di bawah subdomain VPC. Jika Anda menjalankan perintah curl untuk memanggil API yang terikat ke subdomain VPC, pemanggilan API gagal.
Buat vSwitch di vpc-api-access untuk terhubung ke Function Compute.

Masuk ke konsol Function Compute dan lakukan konfigurasi berikut. Untuk informasi lebih lanjut, lihat Konfigurasikan Pengaturan Jaringan.
Di bagian Konfigurasi Jaringan halaman Konfigurasi Layanan, pilih vpc-api-access dari daftar drop-down VPC dan pilih vSwitch yang telah dibuat dari daftar drop-down Vswitches.

Di bagian Konfigurasi Peran halaman Konfigurasi Layanan, pilih Buat peran baru dari daftar drop-down Operasi Peran, pilih AliyunECSNetworkInterfaceManagementAccess dari daftar drop-down Kebijakan Sistem, klik Otorisasi, lalu klik Kirim.

Jalankan fungsi untuk pengujian.
Setelah Anda menjalankan fungsi ini, Anda dapat menggunakan subdomain VPC ini untuk mengakses API yang diterbitkan di API Gateway.

Skema 2
Bangun arsitektur seperti yang ditunjukkan pada gambar berikut.

Di wilayah China (Zhangjiakou-Olimpiade Musim Dingin Beijing), aplikasi dibuat untuk Function Compute untuk memulai pemanggilan API. Sebuah VPC bernama vpc-fc-access dibuat. Function Compute dapat terhubung ke Cloud Enterprise Network (CEN) melalui VPC ini.
Di wilayah China (Shanghai), instance API Gateway Dedicated dan VPC bernama vpc-api-access terhubung. API Gateway dapat terhubung ke CEN melalui VPC ini.
Di wilayah China (Shanghai), VPC lain bernama vpc-backend-1 dibuat. Instance ECS dibuat sebagai layanan backend API Gateway. Instance ECS ini menyediakan API melalui HTTP. Alamat layanan HTTP adalah http://localhost:8080/web/cloudapi. Grup keamanan dikonfigurasi untuk mengizinkan API Gateway mengakses instance ECS ini.
Buat CEN.
Buat CEN untuk menghubungkan vpc-api-access dan vpc-fc-access, sehingga Function Compute dapat berkomunikasi dengan API Gateway melalui jaringan internal. Untuk informasi lebih lanjut tentang cara mengonfigurasi CEN, lihat Apa itu CEN?. Masuk ke konsol CEN dan buat instance CEN. Hubungkan vpc-api-access dan vpc-fc-access dengan instance CEN.

Konfigurasikan bandwidth.
Beli paket bandwidth yang digunakan untuk komunikasi dalam instance CEN. Dalam contoh ini, paket bandwidth sebesar 2 Mbit/s dibeli. Anda dapat membeli paket bandwidth berdasarkan kebutuhan bisnis Anda.

Di tab Koneksi Wilayah halaman CEN, konfigurasikan bandwidth untuk wilayah instance CEN. Anda dapat mengonfigurasi ukuran bandwidth untuk setiap pasangan wilayah yang terhubung berdasarkan paket bandwidth.

Konfigurasikan rute lintas-VPC.
Kirim Tiket ke tim produk CEN untuk mengonfigurasi rute. Berikan parameter konfigurasi yang diperlukan oleh ResolveAndRouteServiceInCen Operasi API. Rute-rute ini memungkinkan komunikasi antara API Gateway dan VPC di wilayah China (Zhangjiakou-Olimpiade Musim Dingin Beijing).
AccessRegionIds.1=cn-zhangjiakou AccessRegionIds.2=cn-shanghai CenId=cen-uggzcthgz7cwsl7prr #ID instance CEN. Host=100.104.255.128/26 #Alamat keluar VPC instance API Gateway Dedicated. HostRegionId=cn-shanghai HostVpcId=vpc-uf65amr4k3aepd0u4gnxa #ID vpc-api-access. API Gateway yang ditempatkan di wilayah China (Shanghai) dapat terhubung ke CEN melalui VPC ini.
Untuk mendapatkan alamat keluar VPC instance API Gateway Dedicated, kunjungi halaman Instances di konsol API Gateway.

Setelah Tiket Anda diproses, Anda dapat melihat rute yang dikonfigurasi untuk wilayah China (Shanghai) dan China (Zhangjiakou-Olimpiade Musim Dingin Beijing) di konsol CEN. Rute kustom ditambahkan berdasarkan parameter konfigurasi yang Anda berikan.
Buat API, dengan VPC sebagai tipe layanan backend.
Ikuti operasi yang dijelaskan di Langkah 2 di skenario 1.
Konfigurasikan izin untuk mengakses API Gateway melalui VPC.
Ikuti operasi yang dijelaskan di Langkah 3 di skenario 1.
Aktifkan nama domain untuk grup API di VPC.
Ikuti operasi yang dijelaskan di Langkah 4 di skenario 1.
Buat fungsi.
Di instance Function Compute yang ditempatkan di wilayah China (Zhangjiakou-Olimpiade Musim Dingin Beijing), buat aplikasi dan buat fungsi yang berjalan di lingkungan Python. Gambar berikut menunjukkan isi dari fungsi ini.

Konfigurasikan akses VPC untuk Function Compute.
Buat vSwitch di vpc-fc-access. Lalu, masuk ke konsol Function Compute dan lakukan konfigurasi yang diperlukan. Operasi-operasi ini mirip dengan yang dijelaskan di Langkah 6 di skenario 1.
Jalankan fungsi untuk pengujian.
Setelah Anda menjalankan fungsi ini, Anda dapat menggunakan subdomain VPC ini untuk mengakses API yang diterbitkan di API Gateway.

Batasan
Anda hanya dapat menggunakan instance API Gateway Dedicated.