Topik ini menjelaskan cara membuat layanan backend dengan ketersediaan tinggi (HA). Instance Elastic Compute Service (ECS) dan instance Classic Load Balancer (CLB) dalam virtual private cloud (VPC) dapat digunakan sebagai layanan backend API.
Ikhtisar
Alibaba Cloud VPC memungkinkan Anda membangun jaringan terisolasi berdasarkan alamat IP kustom, blok CIDR, tabel rute, dan gateway. API Gateway memungkinkan Anda membuat API untuk sumber daya yang diterapkan di VPC. Untuk menggunakan sumber daya di VPC sebagai layanan backend API, Anda harus mengotorisasi API Gateway untuk mengakses sumber daya tersebut.
1. Otorisasi API Gateway untuk mengakses sumber daya di VPC
Untuk membuat API dengan menggunakan sumber daya di VPC, Anda harus terlebih dahulu mengotorisasi API Gateway untuk mengakses sumber daya tersebut. Saat memberikan otorisasi kepada API Gateway, tentukan sumber daya dan port akses, seperti port 443 dari instance CLB atau port 80 dari instance ECS.
Setelah otorisasi, API Gateway dapat mengakses sumber daya di VPC melalui port yang ditentukan.
Otorisasi ini hanya memungkinkan API Gateway mengakses sumber daya di VPC untuk memanggil API.
API Gateway hanya dapat mengakses sumber daya yang diizinkan melalui port yang telah diberi otorisasi. Sebagai contoh, jika Anda mengizinkan API Gateway mengakses sumber daya hanya melalui port 80 dari instance CLB di VPC, maka API Gateway hanya dapat mengakses sumber daya tersebut melalui port 80 dari instance CLB di VPC.
Instance ECS dan CLB dalam VPC dapat digunakan sebagai layanan backend API.
Instance ECS: Saat membuat otorisasi akses VPC, masukkan ID atau alamat IP pribadi instance ECS di kolom Instance ID or IP Address dalam kotak dialog Create VPC Access.
Instance CLB: Hanya instance CLB internal yang didukung. Saat membuat otorisasi akses VPC, masukkan ID atau alamat IP pribadi instance CLB di kolom Instance ID or IP Address dalam kotak dialog Create VPC Access.
2. Bangun arsitektur HA
Untuk membangun arsitektur HA, kami merekomendasikan penggunaan instance CLB internal sebagai layanan backend API. Instance CLB dapat mendistribusikan lalu lintas akses ke beberapa instance ECS berdasarkan kebijakan pengalihan, meningkatkan performa sistem keseluruhan dan ketersediaan aplikasi.
2.1 Buat Instance di VPC
Beli dan buat instance CLB dan ECS di VPC. Dalam contoh ini, instance CLB mendengarkan port 80 dari instance ECS, dan Nginx diterapkan pada instance ECS. Pastikan untuk menggunakan instance CLB internal.
2.2 Otorisasi API Gateway untuk Mengakses VPC
Masuk ke konsol API Gateway. Di panel navigasi sebelah kiri, pilih Manage APIs > VPCs. Pada halaman VPC Access Authorizations, klik Create Authorization. Dalam kotak dialog Create VPC Access, konfigurasikan parameter berikut: VPC Access Name, VPC Id, Instance ID or IP Address, dan Port Number. Untuk menentukan nama domain guna mengakses situs (vhost) pada instance CLB atau ECS, Anda dapat mengonfigurasi nama domain di bidang Host.
VPC Access Name: Nama entri otorisasi saat ini. Anda perlu memilih otorisasi ini saat membuat API. Untuk memudahkan manajemen selanjutnya, pastikan nama tersebut unik di API Gateway.
2.3 Buat API
Prosedur untuk membuat API dengan layanan backend tipe VPC sama dengan prosedur untuk membuat API dengan layanan backend jenis lainnya. Untuk informasi lebih lanjut, lihat Buat API.
Untuk informasi lebih lanjut tentang cara membuat dan mengotorisasi aplikasi, lihat Buat API dengan Layanan di VPC sebagai Layanan Backend.
2.4 Uji API
Anda dapat menguji API dengan salah satu metode berikut:
2.5 Keamanan
API Gateway memanggil layanan backend di VPC melalui jaringan internal. Jika Anda memerlukan keamanan yang lebih tinggi atau instance CLB internal Anda memiliki daftar hitam dan putih yang dikonfigurasi, Anda harus mengizinkan lalu lintas untuk alamat IP keluar API Gateway. Untuk informasi lebih lanjut tentang pengaturan daftar hitam dan putih instance CLB, lihat topik Enable Access Control dari dokumentasi CLB.
Jika Anda telah mengonfigurasi grup keamanan untuk instance ECS, tambahkan aturan grup keamanan untuk mengizinkan lalu lintas dari alamat IP keluar API Gateway. Untuk informasi tentang cara menambahkan aturan grup keamanan untuk instance ECS, lihat Tambahkan Aturan Grup Keamanan.
Untuk informasi tentang cara mendapatkan alamat IP keluar API Gateway, lihat Buat API dengan Sumber Daya di VPC sebagai Layanan Backend.
FAQ
Apakah API Gateway Mendukung Instance CLB Publik?
Tidak, API Gateway hanya mendukung instance CLB internal untuk API yang menggunakan layanan backend tipe VPC. Jika Anda ingin mengakses instance CLB melalui Internet, Anda dapat membuat API yang menggunakan layanan backend tipe HTTP/HTTPS.
Bisakah Saya Mengotorisasi API Gateway untuk Mengakses Beberapa VPC?
Ya. Jika Anda perlu menggunakan beberapa sumber daya yang diterapkan di beberapa VPC sebagai layanan backend API, Anda dapat membuat beberapa entri otorisasi di konsol API Gateway untuk mengotorisasi API Gateway mengakses VPC-VPC tersebut.
Mengapa Saya Tidak Bisa Mengotorisasi API Gateway untuk Mengakses VPC?
Jika Anda tidak dapat mengotorisasi API Gateway untuk mengakses VPC, periksa apakah ID VPC, ID instance tempat layanan backend diterapkan, dan nomor port yang Anda masukkan sudah benar. Pastikan entri otorisasi dibuat di wilayah tempat VPC berada.
Apakah Otorisasi Akses VPC Mempengaruhi Keamanan VPC Saya?
Tidak, keamanan VPC Anda tidak terpengaruh. API Gateway hanya memanggil sumber daya di VPC Anda setelah Anda mengotorisasinya untuk mengakses VPC Anda.
Selain itu, hanya instance API Gateway yang diotorisasi yang dapat memanggil sumber daya tersebut.
Anda dapat mengonfigurasi kebijakan kontrol akses untuk instance ECS dan CLB yang digunakan sebagai layanan backend.
Apakah API Gateway Mendukung VPC di Wilayah Berbeda?
Ya, Anda dapat menggunakan Cloud Enterprise Network (CEN) untuk memungkinkan API Gateway mengakses VPC di wilayah lain. Untuk informasi lebih lanjut tentang cara mengonfigurasi CEN, lihat Apa Itu CEN?