Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan API Amazon API Gateway di situs web internal menggunakan endpoint pribadi dan Application Load Balancer
Saurabh Kothari, Amazon Web Services
Ringkasan
Pola ini menunjukkan cara menerapkan API Amazon API Gateway di situs web internal yang dapat diakses dari jaringan lokal. Anda belajar membuat nama domain khusus untuk API pribadi dengan menggunakan arsitektur yang dirancang dengan titik akhir pribadi, Application Load Balancer, PrivateLink AWS, dan Amazon Route 53. Arsitektur ini mencegah konsekuensi yang tidak diinginkan dari penggunaan nama domain khusus dan server proxy untuk membantu perutean berbasis domain pada API. Misalnya, jika Anda menerapkan titik akhir virtual private cloud (VPC) di subnet yang tidak dapat dirutekan, jaringan Anda tidak dapat menjangkau API Gateway. Solusi umum adalah menggunakan nama domain khusus dan kemudian menerapkan API di subnet yang dapat dirutekan, tetapi ini dapat merusak situs internal lainnya ketika konfigurasi proxy meneruskan traffic (execute-api.{region}.vpce.amazonaws.com
) ke AWS Direct Connect. Terakhir, pola ini dapat membantu Anda memenuhi persyaratan organisasi untuk menggunakan API pribadi yang tidak dapat dijangkau dari internet dan nama domain khusus.
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Sertifikat Indikasi Nama Server (SNI) untuk situs web dan API Anda
Sambungan dari lingkungan lokal ke akun AWS yang disiapkan menggunakan AWS Direct Connect atau AWS VPN Site-to-Site
Zona host pribadi dengan domain yang sesuai (misalnya, domain.com) yang diselesaikan dari jaringan lokal dan meneruskan kueri DNS ke Route 53
Subnet pribadi yang dapat dirutekan yang dapat dijangkau dari jaringan lokal
Batasan
Untuk informasi selengkapnya tentang kuota (sebelumnya disebut sebagai limit) untuk penyeimbang beban, aturan, dan sumber daya lainnya, lihat Kuota untuk Application Load Balancers Anda dalam dokumentasi Elastic Load Balancing.
Arsitektur
Tumpukan teknologi
Amazon API Gateway
Amazon Route 53
Penyeimbang Beban Aplikasi
AWS Certificate Manager
AWS PrivateLink
Arsitektur target
Diagram berikut menunjukkan bagaimana Application Load Balancer digunakan dalam VPC yang mengarahkan lalu lintas web ke grup target situs web atau grup target API Gateway berdasarkan aturan pendengar Application Load Balancer. Grup target API Gateway adalah daftar alamat IP untuk titik akhir VPC di API Gateway. API Gateway dikonfigurasi untuk membuat API pribadi dengan kebijakan sumber dayanya. Kebijakan ini menyangkal semua panggilan yang bukan berasal dari titik akhir VPC tertentu. Nama domain khusus di gateway API diperbarui untuk menggunakan api.domain.com untuk API dan tahapannya. Aturan Application Load Balancer ditambahkan ke lalu lintas rute berdasarkan nama host.

Diagram menunjukkan alur kerja berikut:
Pengguna dari jaringan lokal mencoba mengakses situs web internal. Permintaan dikirim ke ui.domain.com dan api.domain.com. Kemudian, permintaan diselesaikan ke internal Application Load Balancer dari subnet privat yang dapat dirutekan. SSL dihentikan di Application Load Balancer untuk ui.domain.com dan api.domain.com.
Aturan listener, yang dikonfigurasi pada Application Load Balancer, periksa header host.
a. Jika header host adalah api.domain.com, permintaan diteruskan ke grup target API Gateway. Application Load Balancer memulai koneksi baru ke API Gateway melalui port 443.
b. Jika header host adalah ui.domain.com, permintaan diteruskan ke grup target situs web.
Saat permintaan mencapai API Gateway, pemetaan domain kustom yang dikonfigurasi di API Gateway menentukan nama host dan API mana yang akan dijalankan.
Otomatisasi dan skala
Langkah-langkah dalam pola ini dapat diotomatisasi dengan menggunakan AWS CloudFormation atau AWS Cloud Development Kit (AWS CDK). Untuk mengonfigurasi grup target panggilan API Gateway, Anda harus menggunakan sumber daya khusus untuk mengambil alamat IP titik akhir VPC. API memanggil describe-vpc-endpoints
Alat
Amazon API Gateway membantu Anda membuat, menerbitkan, memelihara, memantau, dan mengamankan REST, HTTP, dan WebSocket APIs dalam skala apa pun.
Amazon Route 53 adalah layanan web DNS yang sangat tersedia dan dapat diskalakan.
AWS Certificate Manager (ACM) membantu Anda membuat, menyimpan, dan memperbarui sertifikat dan kunci SSL/TLS X.509 publik dan pribadi yang melindungi situs web dan aplikasi AWS Anda.
AWS Cloud Development Kit (AWS CDK) adalah kerangka kerja pengembangan perangkat lunak yang membantu Anda menentukan dan menyediakan infrastruktur AWS Cloud dalam kode.
AWS PrivateLink membantu Anda membuat koneksi pribadi searah dari layanan Anda VPCs ke layanan di luar VPC.
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat sertifikat SNI dan impor sertifikat ke ACM. |
| Administrator jaringan |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat titik akhir VPC antarmuka di API Gateway. | Untuk membuat titik akhir VPC antarmuka, ikuti petunjuk dari Akses layanan AWS menggunakan titik akhir VPC antarmuka dalam dokumentasi Amazon Virtual Private Cloud (Amazon VPC). | Administrator awan |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat grup target untuk aplikasi Anda. | Buat grup target untuk sumber daya UI aplikasi Anda. | Administrator awan |
Buat grup target untuk titik akhir API Gateway. |
| Administrator awan |
Buat Application Load Balancer. |
| Administrator awan |
Buat aturan pendengar. | Buat aturan listener untuk melakukan hal berikut:
| Administrator awan |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat zona host pribadi. | Buat zona host pribadi untuk domain.com. | Administrator awan |
Buat catatan domain. | Buat catatan CNAME untuk hal berikut:
| Administrator awan |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat dan konfigurasikan titik akhir API pribadi. |
| Pengembang aplikasi, Administrator cloud |
Buat nama domain khusus. |
| Administrator awan |