Menerapkan API Amazon API Gateway di situs web internal menggunakan endpoint pribadi dan Application Load Balancer - AWS Prescriptive Guidance

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.

Arsitektur yang menggunakan aturan pendengar Application Load Balancer untuk mengarahkan lalu lintas web.

Diagram menunjukkan alur kerja berikut:

  1. 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.

  2. 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.

  3. 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-endpointsdan describe-network-interfacesmengembalikan alamat IP dan grup keamanan, yang dapat digunakan untuk membuat grup target API dari alamat IP.

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

TugasDeskripsiKeterampilan yang dibutuhkan

Buat sertifikat SNI dan impor sertifikat ke ACM.

  1. Buat sertifikat SNI untuk ui.domain.com dan api.domain.com. Untuk informasi selengkapnya, lihat Memilih cara CloudFront menyajikan permintaan HTTPS dalam CloudFront dokumentasi Amazon.

  2. Impor sertifikat SNI ke AWS Certificate Manager (ACM). Untuk informasi selengkapnya, lihat Mengimpor sertifikat ke AWS Certificate Manager di dokumentasi ACM.

Administrator jaringan
TugasDeskripsiKeterampilan 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
TugasDeskripsiKeterampilan 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.

  1. Buat grup target dengan tipe alamat IP, lalu tambahkan alamat IP titik akhir VPC untuk titik akhir API Gateway ke grup target.

  2. Konfigurasikan pemeriksaan kesehatan untuk grup target Anda dengan kode sukses 403. 403 diperlukan karena titik akhir VPC untuk API Gateway mengembalikan kode 403 saat dipanggil tanpa header apa pun oleh pemeriksaan kesehatan grup target.

Administrator awan

Buat Application Load Balancer.

  1. Buat Application Load Balancer (internal) di subnet pribadi yang dapat dirutekan.

  2. Tambahkan 443 listener ke Application Load Balancer, dan pilih sertifikat dari ACM.

Administrator awan

Buat aturan pendengar.

Buat aturan listener untuk melakukan hal berikut:

  1. Teruskan host api.domain.com ke grup target API Gateway

  2. Teruskan host ui.domain.com ke grup target untuk sumber daya UI

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat zona host pribadi.

Buat zona host pribadi untuk domain.com.

Administrator awan

Buat catatan domain.

Buat catatan CNAME untuk hal berikut:

  • API dengan nilai yang disetel ke nama DNS Application Load Balancer

  • UI dengan nilai yang disetel ke nama DNS Application Load Balancer

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Buat dan konfigurasikan titik akhir API pribadi.

  1. Untuk membuat endpoint API pribadi, ikuti petunjuk dari Membuat API pribadi di Amazon API Gateway dalam dokumentasi API Gateway. 

  2. Konfigurasikan kebijakan sumber daya untuk mengizinkan panggilan hanya ke API dari titik akhir VPC. Untuk informasi selengkapnya, lihat Mengontrol akses ke API dengan kebijakan sumber daya API Gateway dalam dokumentasi API Gateway.

Pengembang aplikasi, Administrator cloud

Buat nama domain khusus.

  1. Buat nama domain khusus untuk api.domain.com. Untuk informasi selengkapnya, lihat Menyiapkan nama domain khusus untuk REST APIs di dokumentasi API Gateway.

  2. Pilih API dan panggung yang dibuat. Untuk informasi selengkapnya, lihat Bekerja dengan pemetaan API untuk REST APIs di dokumentasi API Gateway.

Administrator awan

Sumber daya terkait