Topik ini menjelaskan cara membuat dan memublikasikan API dengan sumber daya di virtual private cloud (VPC) sebagai layanan backend di API Gateway, serta cara memanggil API tersebut menggunakan aplikasi dan AppCode. AppCode dibuat secara otomatis untuk aplikasi saat Anda menetapkan metode autentikasi API ke Alibaba Cloud App.
Prasyarat
Lingkungan VPC telah dibuat. Untuk informasi lebih lanjut, lihat Buat VPC dengan blok CIDR IPv4 dan Buat VPC dengan blok CIDR IPv6.
Instance Elastic Compute Service (ECS) telah dibuat. Untuk informasi lebih lanjut, lihat Langkah 1: Buat instance ECS.
Server Load Balancer (SLB) dan instance ECS harus dibuat, serta layanan harus berjalan di VPC.
Dalam contoh ini, sebuah instance ECS dibuat di VPC. Di instance ECS tersebut, layanan web dideploy menggunakan nginx pada port 80.
Proses
Berikut adalah langkah-langkah keseluruhan untuk mengonfigurasi akses API Gateway ke layanan backend di VPC berdasarkan API:
Buat otorisasi akses VPC
Untuk mengizinkan API Gateway mengakses VPC Anda, Anda harus terlebih dahulu membuat otorisasi akses VPC.
Masuk ke Konsol API Gateway. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Manage APIs > VPCs.
Di halaman VPC Access Authorizations, klik Create Authorization di pojok kanan atas.
Di kotak dialog Create VPC Access, tentukan parameter VPC Access Name, VPC Id, Instance ID or IP Address, dan Port Number.
CatatanAnda dapat menentukan nama domain di bidang Host untuk mengakses vhost pada instance SLB atau instance ECS.
Di ID VPC, masukkan ID VPC tempat layanan backend Anda berada. Di ID Instance atau Alamat IP, masukkan ID atau alamat IP privat dari instance tempat layanan backend Anda berada. Anda dapat memperoleh informasi tersebut di detail instance ECS.
Untuk instance Application Load Balancer (ALB), tipe jaringan harus VPC, dan Anda tidak dapat mengubah tipe jaringan menjadi Internet setelah Anda membuat otorisasi. Jika tidak, permintaan mungkin gagal dikirim ke API Gateway, dan Anda bertanggung jawab atas konsekuensinya.
Buat grup API
API dikelola dalam grup API. Anda harus membuat grup API sebelum membuat API.
Masuk ke Konsol API Gateway. Di panel navigasi kiri, pilih Manage APIs > API Groups. Di halaman Grup API, klik Create Group di pojok kanan atas.
Pada kotak dialog Create Group, pilih Instance, atur Group Name menjadi
nginx-demodan BasePath menjadi/, lalu klik OK.
Di halaman API Groups, lihat grup yang telah dibuat dan klik nama grup untuk pergi ke halaman Group Details. Anda dapat melakukan operasi seperti Bind Domain Name, Modify Basic Information, dan Modify Instance for API Group Deployment.
API Gateway secara otomatis menetapkan domain name publik tingkat kedua ke grup API. Domain name ini hanya digunakan untuk debugging dan memiliki batas 100 panggilan per hari untuk wilayah Hong Kong, Tiongkok, dan wilayah lain di luar daratan Tiongkok serta 1.000 panggilan per hari untuk wilayah di daratan Tiongkok. Kami sarankan Anda mengikat domain name independen setelah Anda membuat grup API.
Buat API
Masuk ke Konsol API Gateway. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Manage APIs > API Groups.
Di halaman Group List, pada kolom Actions untuk grup
nginx-demoyang telah Anda buat, klik API Management.Di halaman APIs, klik Create API di pojok kanan atas.
Di langkah Basic Information dari wizard Create API, konfigurasikan parameter berikut dan klik Next.
Parameter
Contoh
Group
nginx-demo
API Name
nginx-test
Security Authentication
Alibaba Cloud App
AppCode Authentication
Aktifkan Otentikasi AppCode (Header & Query)
Signature Algorithm
HMAC_SHA256

Di langkah Define API Request, konfigurasikan parameter berikut dan klik Next.
Parameter
Contoh
Protocol
HTTP dan HTTPS
Request Path
/nginx
HTTP Method
GET
Request Mode
Pass-through
CatatanDi langkah ini, Anda mendefinisikan bagaimana klien, seperti browser web, aplikasi seluler, atau sistem bisnis, meminta API. Parameter yang perlu Anda konfigurasikan meliputi Protokol, Jalur Permintaan, Metode HTTP, Mode Permintaan, dan parameter di bagian Parameter Permintaan. Dalam contoh ini, Mode Permintaan disetel ke Pass-through, yang menunjukkan bahwa API Gateway langsung meneruskan permintaan API ke layanan backend di VPC tanpa memprosesnya.
Di langkah Define Backend Service, konfigurasikan parameter berikut dan klik Next.
Parameter
Contoh
Configuration Mode
Customize Backend Service
Backend Service Type
VPC
VPC Access Name
***-layanan mikro
Backend Request Path
/
HTTP Method
GET
Backend Service Timeout Period
10000
CatatanDi langkah ini, Anda mengonfigurasi tipe dan URL layanan backend ke mana API Gateway mengirimkan permintaan yang diterima dari klien dan bagaimana parameter permintaan dipetakan dan diproses. Dalam contoh ini, VPC ditentukan untuk Tipe Layanan Backend, otorisasi akses VPC yang Anda buat sebelumnya ditentukan untuk Nama Akses VPC, dan jalur ditentukan untuk Jalur Permintaan Backend.
Pada langkah Define Response, konfigurasikan parameter sesuai kebutuhan, lalu klik Create.
CatatanDi langkah ini, Anda menentukan informasi respon untuk menghasilkan dokumentasi API. Dokumentasi membantu pemanggil API memahami API dengan lebih baik. Anda dapat mengatur parameter seperti Response ContentType, Response Example, dan Error Response Example. Contoh ini tidak mencakup langkah ini. Klik Create.
Di pesan yang muncul, klik Publish.

Di kotak dialog Publikasikan API yang muncul, atur Lingkungan ke Release, masukkan catatan di bagian Remarks, lalu klik Publish.
CatatanJika Anda memodifikasi API, modifikasi tersebut hanya berlaku setelah Anda mempublikasikan API ke lingkungan yang sesuai. API Gateway menyediakan tiga lingkungan tempat Anda dapat mempublikasikan API: Release, Pre, dan Test.
Buat aplikasi dan otorisasi aplikasi untuk memanggil API
Aplikasi adalah identitas yang Anda gunakan untuk memanggil API. Di langkah Buat API, tipe otentikasi disetel ke Alibaba Cloud App. Oleh karena itu, setelah Anda mempublikasikan API, Anda harus membuat dan mengotorisasi aplikasi untuk memanggil API.
Buat aplikasi
Masuk ke Konsol API Gateway. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Call APIs > Apps.
Di halaman Apps, klik Create App di pojok kanan atas.
Di kotak dialog Create App, konfigurasikan parameter App Name dan klik Confirm.

Di halaman Apps, klik nama aplikasi yang Anda buat untuk pergi ke halaman App Details. Dua mode otentikasi disediakan untuk metode otentikasi keamanan Alibaba Cloud App: pasangan AppKey dan AppSecret serta AppCode. Dalam contoh ini, AppCode digunakan. Untuk informasi lebih lanjut, lihat Panggil API dalam mode otentikasi sederhana.

Otorisasi aplikasi untuk memanggil API
Masuk ke Konsol API Gateway. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Manage APIs > APIs.
Di halaman API, temukan API
nginx-testdan pada kolom Actions, klik
> Authorize.Di halaman Otorisasi, atur parameter Environment ke Release. Masukkan nama aplikasi yang Anda buat di bilah pencarian bagian Pilih Aplikasi untuk Otorisasi. Di hasil pencarian, pilih aplikasi yang dibuat, klik Add di kolom Tindakan, lalu klik Confirm. Pesan muncul untuk memberi tahu Anda bahwa aplikasi telah diotorisasi untuk memanggil API.

Izinkan alamat IP keluar API Gateway dalam grup keamanan
Jika grup keamanan instance ECS Anda tidak mengizinkan semua blok CIDR melalui port tertentu, Anda harus menambahkan alamat IP keluar API Gateway ke grup keamanan untuk mengizinkan alamat IP tersebut. Alamat IP keluar API Gateway merujuk pada alamat IP keluar instance API Gateway tempat grup API berada.
Masuk ke Konsol API Gateway. Di panel navigasi kiri, pilih Manage APIs > API Groups. Di halaman Grup API, klik nama grup API yang telah Anda buat.
Di halaman Group Details, lihat parameter Instance Type.
Di panel navigasi kiri, pilih Instances and Clusters > Instans Bersama atau Instans dan Klaster > Instans Spesifikasi Khusus berdasarkan jenis instans yang Anda peroleh. Di halaman yang muncul, gulir ke parameter Outbound Addresses instans berdasarkan ID instans untuk melihat alamat IP egress instans tersebut.

Masuk ke Konsol ECS. Di panel navigasi kiri, pilih Instances & Images > Instances. Klik instance ECS yang telah dibuat untuk membuka halaman detail. Klik tab Security Groups dan klik grup keamanan yang ingin Anda kelola. Di tab Security Group Details, klik tab Inbound, lalu klik Quick Add. Di kotak dialog Tambah Cepat, konfigurasikan alamat IP egress API Gateway.

Debug API
API Gateway mendukung debugging online. Kami sarankan Anda menggunakan fitur ini untuk memeriksa apakah API dikonfigurasi dengan benar sebelum Anda memanggil API ini di klien.
Halaman Debug mendukung pesan permintaan hingga 512 KB. Jika pesan permintaan lebih besar, kami menyarankan Anda menggunakan SDK untuk mendebug API.
Daftar hitam instans, daftar putih, dan plugin kontrol akses berbasis alamat IP yang dikonfigurasi harus mengizinkan 47.245.113.207.
Anda tidak dapat menggunakan halaman ini untuk mendebug plugin JWT.
Hanya nama domain publik yang didukung untuk debugging.
Masuk ke Konsol API Gateway. Di panel navigasi kiri, pilih Call APIs > Debug.
Di halaman Debug, pilih API
nginx-testyang telah Anda buat, pilih Use AppCode sebagai Metode Autentikasi, lalu klik Send Request. Tanggapan yang ditunjukkan pada gambar berikut menunjukkan bahwa konfigurasi berhasil.
Jika debugging gagal, lihat dokumen berikut:
Panggil API
Untuk informasi lebih lanjut, lihat Pemanggilan API berbasis klien.
Jika tidak ada lingkungan yang ditentukan untuk debugging, API akan di-debug di lingkungan produksi secara default. Untuk informasi lebih lanjut tentang lingkungan API, lihat Kelola lingkungan.
Tujuan dari topik ini adalah untuk membantu Anda memulai dengan cepat. Ketersediaan tinggi layanan backend tidak dipertimbangkan. Jika Anda memiliki pertanyaan, lihat Gunakan sumber daya di VPC sebagai layanan backend API.