Tanya Jawab Amazon API Gateway

Umum

Amazon API Gateway adalah layanan yang dikelola secara penuh yang memudahkan pengembang menerbitkan, memelihara, memantau, dan mengamankan API pada segala skala. Dengan beberapa klik pada AWS Management Console, Anda dapat membuat API yang berfungsi sebagai “pintu depan” bagi aplikasi untuk mengakses data, logika bisnis, atau fungsionalitas dari layanan back-end Anda, seperti aplikasi yang berjalan di Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS), atau AWS Elastic Beanstalk, kode yang berjalan di AWS Lambda, atau aplikasi web apa pun. Amazon API Gateway menangani semua tugas yang terlibat dalam penerimaan dan pemrosesan hingga ratusan ribu panggilan API secara bersamaan, termasuk pengelolaan lalu lintas, otorisasi dan kendali akses, pemantauan, serta pengelolaan versi API. Amazon API Gateway tidak memiliki biaya minimum atau uang muka. Untuk API HTTP dan REST, Anda hanya membayar panggilan API yang diterima dan jumlah data yang ditransfer keluar. Untuk API WebSocket, Anda hanya membayar untuk pesan yang dikirim dan yang diterima serta saat pengguna/perangkat tersambung ke API WebSocket.

Amazon API Gateway menyediakan pengembang layanan bayar sesuai pemakaian yang sederhana, fleksibel, dan terkelola penuh yang menangani semua aspek pembuatan dan pengoperasian API andal untuk back end aplikasi. Dengan API Gateway, Anda dapat meluncurkan layanan baru dengan lebih cepat dan dengan investasi lebih rendah sehingga Anda dapat fokus membangun layanan bisnis utama Anda. API Gateway dibuat untuk membantu Anda dengan beberapa aspek pembuatan dan pengelolaan API:

1) Pengukuran. API Gateway membantu Anda menentukan paket yang mengukur dan membatasi akses pengembang pihak ketiga ke API Anda. Anda dapat menentukan sekumpulan paket, mengonfigurasi pembatasan, serta batas kuota per basis kunci API. API Gateway secara otomatis akan mengukur lalu lintas ke API Anda dan memungkinkan Anda mengekstrak data penggunaan untuk setiap kunci API.

2) Keamanan. API Gateway memberi Anda beberapa alat untuk melakukan otorisasi akses ke API dan mengendalikan akses operasi layanan Anda. API Gateway memungkinkan Anda menggunakan administrasi AWS dan alat keamanan, seperti AWS Identity and Access Management (IAM) dan Amazon Cognito, untuk melakukan otorisasi akses ke API Anda. API Gateway dapat mewakili Anda untuk memverifikasi panggilan API yang ditandatangani menggunakan cara yang sama seperti yang digunakan AWS untuk API-nya sendiri. Dengan pengotorisasi khusus yang tertulis sebagai fungsi AWS Lambda, API Gateway juga dapat membantu Anda memverifikasi token pembawa yang masuk, sehingga menghilangkan masalah otorisasi dari kode backend Anda.

3) Ketahanan. API Gateway membantu Anda mengelola lalu lintas dengan pembatasan kecepatan, sehingga operasi back-end dapat menahan terhentinya lalu lintas. API Gateway juga membantu Anda meningkatkan kinerja API dan latensi yang dialami oleh pengguna akhir Anda dengan melakukan cache output panggilan API untuk menghindari pemanggilan back end setiap saat.

4) Pemantauan Operasi. Setelah API diterbitkan dan digunakan, API Gateway memberi Anda dasbor metrik untuk mengawasi panggilan ke layanan Anda. Dasbor API Gateway, melalui integrasi dengan Amazon CloudWatch, memberi Anda metrik kinerja backend yang meliputi panggilan API, data latensi, dan laju kesalahan. Anda dapat mengaktifkan metrik terperinci untuk setiap metode dalam API Anda dan juga menerima log kesalahan, akses, atau debug di CloudWatch Logs.

5) Manajemen Siklus Hidup. Setelah API diterbitkan, Anda akan sering perlu mem-build dan menguji versi baru yang meningkatkan atau menambahkan fungsionalitas baru. API Gateway memungkinkan Anda mengoperasikan beberapa versi API dan beberapa tahap untuk setiap versi secara simultan, sehingga aplikasi yang sudah ada dapat terus melakukan panggilan versi sebelumnya setelah versi API baru diterbitkan.

6) Dirancang untuk Developer. API Gateway memungkinkan Anda dengan cepat membuat API dan menetapkan konten statis untuk respons mereka dengan tujuan mengurangi usaha pengembangan antartim dan waktu ke pasar untuk aplikasi Anda. Tim yang bergantung pada API Anda dapat memulai pengembangan selagi Anda mem-build proses backend.

7) Komunikasi Dua Arah Waktu Nyata. Build aplikasi komunikasi dua arah seperti aplikasi obrolan, dasbor streaming, dan notifikasi tanpa perlu menjalankan atau mengelola server apa pun. API Gateway mempertahankan koneksi persisten di antara pengguna yang tersambung dan memungkinkan transfer pesan di antara pengguna tersebut.

Amazon API Gateway menawarkan dua opsi untuk membuat API RESTful, API HTTP, dan API REST, termasuk opsi untuk membuat API WebSocket.

API HTTP: API HTTP dioptimalkan untuk membangun API yang memproksi fungsi AWS Lambda atau backend HTTP sehingga cocok untuk beban kerja nirserver. API HTTP saat ini tidak menawarkan fungsi manajemen API.

API REST: API REST menawarkan fungsionalitas proksi API dan fitur manajemen API dalam satu solusi. API REST menawarkan fitur manajemen API seperti rencana penggunaan, kunci API, penerbitan, dan monetisasi API.

API WebSocket: API WebSocket mempertahankan koneksi persisten di antara klien yang terhubung untuk memungkinkan komunikasi pesan waktu nyata. Dengan API WebSocket di API Gateway, Anda dapat menentukan integrasi backend dengan fungsi AWS Lambda, Amazon Kinesis, atau titik akhir HTTP apa pun untuk diaktifkan saat pesan diterima dari klien yang tersambung.

Untuk memulai dengan API HTTP, Anda dapat menggunakan konsol Amazon API Gateway, AWS CLI, AWS SDK, atau AWS CloudFormation. Untuk mempelajari lebih lanjut tentang memulai dengan API HTTP, lihat dokumentasi kami.

Untuk memulai dengan API REST, Anda dapat menggunakan konsol Amazon API Gateway, AWS CLI, atau AWS SDK. Untuk mempelajari lebih lanjut tentang memulai dengan API REST, lihat dokumentasi kami.

Anda dapat membangun API RESTful menggunakan API HTTP dan API REST di Amazon API Gateway.

API HTTP dioptimalkan untuk membangun API yang berproxy ke fungsi AWS Lambda atau HTTP backend, sehingga cocok untuk beban kerja tanpa server. API HTTP merupakan alternatif yang lebih murah dan lebih cepat dibandingkan API REST, tetapi mereka saat ini tidak mendukung fungsi manajemen API. API REST ditujukan untuk API yang memerlukan fungsionalitas proxy API dan fitur manajemen dalam satu solusi.

API HTTP cocok untuk:

  1. Membangun API proxy untuk AWS Lambda atau titik akhir HTTP mana pun.
  2. Membangun API modern yang dilengkapi otorisasi OIDC dan OAuth 2 
  3. Beban kerja yang kemungkinan akan tumbuh sangat besar
  4. API untuk beban kerja yang sensitif latensi
 
API REST cocok untuk:
 
  1. Pelanggan yang ingin membayar satu harga untuk set lengkap fitur yang diperlukan untuk membangun, mengelola, dan menerbitkan API mereka. 

API HTTP dilengkapi standar dukungan CORS, OIDC, dan OAuth2 untuk otentikasi dan otorisasi, serta penerapan otomatis dalam tahapannya.

Ya, Anda dapat mengimpor definisi API menggunakan OpenAPI 3. Ini akan menghasilkan pembuatan rute, integrasi, dan model API. Untuk informasi lebih lanjut mengenai mengimpor definisi OpenAPI, baca dokumentasi kami.

Untuk memigrasikan API REST Anda saat ini ke API HTTP di Amazon API Gateway, lakukan hal beirkut:

  1. Periksa bahwa semua fitur yang Anda perlukan tersedia di HTTP. Untuk melihat daftar fitur lengkap, baca dokumentasi kami. 
  2. Masuk ke API REST Anda dan ekspor definisi OpenAPI dari API REST Anda.
  3. Masuk ke API HTTP Anda dan impor definisi OpenAPI dari langkah sebelumnya
  4. Uji apakah fungsi API berjalan semestinya
  5. Perbarui client Anda dengan URL baru

Meskipun API Anda dapat bekerja, Anda mungkin menemukan ada fitur yang hilang. Untuk mengidentifikasi fitur yang hilang, tinjau bidang Info, Warning, dan Error dari operasi Import. Untuk informasi lebih lanjut tentang memigrasi API REST ke API HTTP, lihat dokumentasi kami.

Pertama, masuk ke REST Anda dan ekspor definisi OpenAPI dari API REST Anda. Kemudian, masuk ke API HTTP Anda dan impor definisi OpenAPI dari langkah sebelumnya Meskipun API Anda dapat bekerja, Anda mungkin menemukan ada fitur yang hilang. Untuk mengidentifikasi fitur yang hilang, tinjau bidang Info, Warning, dan Error dari operasi Import. AWS CLI akan mengembalikan informasi tentang API Anda dalam bidang info dan peringatan. Untuk informasi lebih lanjut, baca dokumentasi kami.

Untuk memulai, Anda dapat membuat API WebSocket menggunakan AWS Management Console, AWS CLI, atau AWS SDK. Anda selanjutnya dapat menentukan perutean WebSocket untuk menunjukkan layanan backend seperti AWS Lambda, Amazon Kinesis, atau titik akhir HTTP apa pun untuk diaktifkan berdasarkan konten pesan. Baca dokumentasi untuk mulai menggunakan API WebSocket di API Gateway.

Ya, semua API yang dibuat dengan Amazon API Gateway hanya mengeluarkan endpoint HTTPS. Amazon API Gateway tidak mendukung endpoint (HTTP) tak terenkripsi. Secara default, Amazon API Gateway menetapkan domain internal pada API yang secara otomatis menggunakan sertifikat Amazon API Gateway. Saat mengonfigurasikan API agar berjalan di bawah nama domain kustom, Anda dapat memberikan sertifikat Anda sendiri untuk domain tersebut.

API yang dibuat di Amazon API Gateway dapat menerima muatan apa pun yang dikirim melalui HTTP untuk API HTTP, API REST, dan API WebSocket. Format data biasanya termasuk JSON, XML, parameter string kueri, dan header permintaan. Anda dapat menyatakan jenis konten apa pun untuk respons API Anda, lalu menggunakan template transformasi untuk mengubah respons backend menjadi format yang dikehendaki.

Amazon API Gateway dapat mengeksekusi fungsi AWS Lambda di akun Anda, memulai mesin status AWS Step Functions, atau memanggil endpoint HTTP yang di-host pada AWS Elastic Beanstalk, Amazon EC2, dan juga operasi berbasis HTTP yang di-host non-AWS yang dapat diakses melalui Internet publik. API Gateway juga memungkinkan Anda menentukan template pemetaan untuk menghasilkan konten statis dikembalikan, yang membantu Anda membuat tiruan (mock) API bahkan sebelum backend siap. Anda juga dapat mengintegrasikan API Gateway dengan layanan AWS lainnya secara langsung – misalnya, Anda dapat mengekspos metode API pada API Gateway yang mengirimkan data secara langsung ke Amazon Kinesis.

API Gateway menghasilkan SDK kustom untuk pengembangan aplikasi seluler dengan Android dan iOS (Swift dan Objective-C), serta untuk pengembangan aplikasi web dengan JavaScript. API Gateway juga mendukung pembuatan SDK untuk Ruby dan Java. Setelah API dan modelnya ditentukan dalam API Gateway, Anda dapat menggunakan konsol AWS atau API dari API Gateway untuk menghasilkan dan mengunduh SDK klien. SDK klien hanya dibuat untuk API REST di Amazon API Gateway.

Untuk melihat tempat API HTTP, API REST, API WebSocket tersedia, lihat tabel AWS Region di sini.

Melalui konsol Amazon API Gateway, Anda dapat menentukan API REST beserta sumber daya dan metode terkait, mengelola masa aktif API, menghasilkan SDK klien, dan melihat metrik API. Anda juga dapat menggunakan konsol API Gateway untuk menentukan paket penggunaan API, mengelola kunci API pengembang, serta mengonfigurasi pembatasan kecepatan dan batas kuota. Semua tindakan yang sama tersedia melalui API dari API Gateway.

Sumber daya adalah objek tertulis yang merupakan bagian dari domain API Anda. Setiap sumber daya mungkin memiliki model data terkait, hubungan ke sumber daya lain, dan dapat merespons metode berbeda. Anda juga dapat menentukan sumber daya sebagai variabel untuk menghadang permintaan menjadi beberapa sumber daya turunan.

Setiap sumber daya di dalam REST API dapat mendukung satu atau beberapa metode HTTP standar. Anda menentukan verba mana yang harus didukung untuk setiap sumber daya (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) beserta implementasinya. Sebagai contoh, GET untuk sumber daya mobil harus menghasilkan daftar mobil. Untuk menyambungkan semua metode di dalam sumber daya menjadi satu titik akhir backend, API Gateway juga mendukung metode “ANY” khusus.

Paket penggunaan membantu Anda menyatakan paket untuk developer pihak ketiga yang membatasi akses hanya pada API tertentu, menentukan pembatasan kecepatan dan permintaan batas kuota, serta menghubungkan mereka dengan kunci API. Anda juga dapat mengekstrak data pemanfaatan dengan dasar kunci per-API untuk menganalisis penggunaan API dan menghasilkan dokumen penagihan. Misalnya, Anda dapat membuat paket basic, professional, dan korporasi – Anda dapat mengonfigurasi paket penggunaan dasar agar hanya mengizinkan 1.000 permintaan per hari dan maksimum 5 permintaan per detik (RPS).

Dengan Amazon API Gateway, setiap REST API dapat memiliki beberapa tahapan. Tahapan ditujukan untuk membantu siklus aktif pengembangan API – misalnya, setelah Anda membuat API dan men-deploy-nya ke tahap pengembangan, atau saat Anda telah siap produksi, Anda dapat men-deploy API tersebut ke tahap produksi.

Dalam Amazon API Gateway, tahapan mirip dengan tag. Tahapan menentukan jalur di mana penerapan dapat diakses. Contohnya, Anda dapat menentukan tahap pengembangan dan men-deploy API mobil ke tahapan tersebut. Sumber daya dapat diakses di https://www.myapi.com/dev/cars. Anda juga dapat mengatur nama domain kustom untuk menuju langsung ke suatu tahap, sehingga Anda tidak perlu menggunakan parameter jalur tambahan. Misalnya, jika Anda menunjuk myapi.com langsung ke tahap pengembangan, Anda dapat mengakses sumber daya mobil di https://www.myapi.com/cars. Tahapan dapat dikonfigurasikan menggunakan variabel yang dapat diakses dari konfigurasi API atau template pemetaan Anda.

Variabel tahapan memungkinkan Anda menentukan pasangan kunci/nilai dari nilai konfigurasi yang terkait dengan suatu tahap. Nilai-nilai ini, sama seperti variabel lingkungan, dapat digunakan dalam konfigurasi API Anda. Misalnya, Anda dapat menentukan titik akhir HTTP untuk integrasi metode Anda sebagai suatu variabel tahapan, dan menggunakan variabel dalam konfigurasi API Anda sebagai ganti proses hardcode titik akhir – hal ini memungkinkan Anda menggunakan titik akhir yang berbeda untuk setiap tahapan (misal dev, beta, prod) dengan konfigurasi API yang sama. Variabel tahapan juga dapat diakses dalam template pemetaan dan dapat digunakan untuk meneruskan parameter konfigurasi ke Lambda atau backend HTTP Anda.

Kebijakan Sumber Daya adalah dokumen kebijakan JSON yang Anda lampirkan pada API untuk mengontrol apakah prinsip yang ditentukan (biasanya pengguna atau peran IAM) dapat meminta API. Anda dapat menggunakan Kebijakan Sumber Daya untuk mengaktifkan pengguna dari akun AWS yang berbeda untuk mengakses API Anda dengan aman, atau memungkinkan API agar dapat diminta hanya dari rentang alamat IP sumber atau blok CIDR tertentu. Kebijakan Sumber Daya dapat digunakan dengan API REST di Amazon API Gateway.

Amazon API Gateway menyimpan riwayat penerapan Anda. Dengan menggunakan Amazon API Gateway atau konsol, Anda dapat melakukan pengembalian suatu tahapan ke penerapan sebelumnya kapan saja.

Ya. Anda dapat menggunakan alat pengimpor Swagger sumber terbuka kami untuk mengimpor definisi API Swagger Anda ke Amazon API Gateway. Dengan alat pengimpor Swagger, Anda dapat membuat serta men-deploy API baru, juga memperbarui yang sudah ada.

Anda dapat memonetisasi API di API Gateway dengan menerbitkannya sebagai produk di AWS Marketplace. Pertama-tama Anda harus terdaftar sebagai penjual di AWS Marketplace, lalu ajukan paket penggunaan Anda pada API Gateway sebagai produk. Baca di sini untuk mempelajari selengkapnya tentang Monetisasi API.

API Gateway menawarkan kemampuan untuk membuat, memperbarui, dan menghapus dokumentasi yang terkait dengan setiap porsi API Anda, seperti metode dan sumber daya. Anda dapat mengakses API terkait dokumentasi melalui AWS SDK, CLI, melalui panggilan RESTful, atau dengan mengedit string dokumentasi secara langsung di konsol API Gateway. Dokumentasi juga dapat diimpor sebagai file Swagger, baik sebagai bagian API atau secara terpisah, yang memungkinkan Anda menambahkan atau memperbarui dokumentasi tanpa mengganggu definisi API. API Gateway sesuai dengan spesifikasi Open API untuk dokumentasi yang diimpor dari, atau diekspor ke, file Swagger. Dokumentasi didukung untuk API REST di API Gateway.

Selain untuk menawarkan dukungan dokumentasi API sesuai standar, API Gateway juga menambahkan dukungan turunan dokumentasi, yang mempermudah penentuan string dokumentasi setelahnya, kemudian menggunakannya di berbagai tempat. Turunan menyederhanakan proses penentuan dokumentasi API, dan dapat dikonversikan ke representasi standar saat mengekspor API sebagai file Swagger.

Ya, Anda dapat menerapkan Kebijakan Sumber Daya pada API untuk membatasi akses ke Amazon VPC atau titik akhir VPC tertentu. Anda juga dapat memberikan Amazon VPC atau titik akhir VPC dari akses akun berbeda ke API Pribadi menggunakan Kebijakan Sumber Daya.

Keamanan dan Otoritasi

Dengan Amazon API Gateway, Anda secara opsional dapat mengatur metode API agar mewajibkan otorisasi. Saat mengatur metode yang mengharuskan otorisasi, Anda dapat memanfaatkan pengotorisasi AWS Signature Version 4 atau Lambda untuk mendukung strategi otorisasi pembawa token Anda sendiri.

Anda dapat menggunakan kredensial AWS – akses dan kunci rahasia – untuk menandatangi permintaan ke layanan Anda dan melakukan otorisasi akses seperti layanan AWS lainnya. Penandatanganan permintaan API dari Amazon API Gateway dikelola oleh SDK API Gateway kustom yang dihasilkan untuk layanan Anda. Anda dapat mengambil kredensial sementara yang terkait dengan peran dalam akun AWS Anda menggunakan Amazon Cognito.

Pengotorisasi Lambda merupakan fungsi AWS Lambda. Dengan pengotorisasi permintaan kustom, Anda akan dapat melakukan otorisasi akses ke API menggunakan strategi otorisasi token pembawa seperti OAuth. Saat API dipanggil, API Gateway akan memeriksa apakah pengotorisasi Lambda dikonfigurasi, kemudian API Gateway memanggil fungsi Lambda dengan token otorisasi masuk. Anda dapat menggunakan Lambda untuk mengimplementasikan berbagai strategi otorisasi (misalnya verifikasi JWT, panggilan penyedia OAuth) yang menghasilkan kebijakan IAM yang digunakan untuk mengotorisasi permintaan. Jika kebijakan yang dikembalikan pengotorisasi valid, API Gateway akan melakukan cache kebijakan yang terkait dengan token masuk selama hingga 1 jam.

Ya. API Gateway dapat menghasilkan kunci API dan menghubungkannya dengan paket penggunaan. Panggilan diterima dari setiap kunci API yang dipantau dan disertakan dalam Amazon CloudWatch Logs dapat diaktifkan untuk setiap tahapan. Namun, kami tidak menyarankan Anda menggunakan kunci API untuk otorisasi. Anda harus menggunakan kunci API untuk mengawasi penggunaan oleh pengembang pihak ketiga dan memanfaatkan mekanisme yang lebih kuat untuk otorisasi, seperti panggilan API bertanda tangan atau OAuth.

API Gateway mendukung pengaturan pembatasan kecepatan untuk setiap metode atau rute dalam API Anda. Anda dapat mengatur batas tingkat standar dan batas tingkat lonjakan per detik untuk setiap metode dalam REST API dan setiap rute di API WebSocket Anda. Lebih jauh, API Gateway secara otomatis melindungi sistem backend dari serangan distributed denial-of-service (DDoS), baik diserang dengan permintaan palsu (Layer 7) atau banjir SYN (Layer 3).

Ya. Amazon API Gateway dapat menghasilkan sertifikat SSL sisi klien dan membuat kunci publik dari sertifikat tersebut yang tersedia untuk Anda. Panggilan ke backend Anda dapat dibuat dengan sertifikat yang dihasilkan, dan Anda dapat memverifikasi panggilan yang berasal dari Amazon API Gateway menggunakan kunci sertifikat publik.

Ya. Amazon API Gateway terintegrasi dengan AWS CloudTrail untuk memberi Anda riwayat lengkap dari perubahan pada API REST yang dapat diaudit. Semua panggilan API yang dibuat ke API Amazon API Gateway untuk membuat, mengubah, menghapus, atau men-deploy API REST dicatat pada CloudTrail di akun AWS Anda.

Di Amazon API Gateway, Anda dapat membuat proxy permintaan ke sumber daya HTTP/HTTPS backend yang berjalan dalam Amazon VPC dengan mengatur Integrasi Pribadi menggunakan Tautan VPC. Sertifikat SSL sisi klien di Amazon API Gateway dapat digunakan untuk memverifikasi bahwa permintaan ke sistem backend Anda dikirimkan oleh API Gateway menggunakan kunci sertifikat publik. Anda juga dapat membuat API Pribadi di Amazon API Gateway yang hanya dapat diakses oleh sumber daya di dalam Amazon VPC melalui Endpoint Amazon VPC.

Ya, Anda dapat menerapkan Kebijakan Sumber Daya pada API untuk membatasi akses ke Amazon VPC atau titik akhir VPC tertentu. Anda juga dapat memberikan Amazon VPC atau titik akhir VPC dari akses akun berbeda ke API Pribadi menggunakan Kebijakan Sumber Daya.

Jika Anda menggunakan API REST, Anda dapat mengatur distribusi CloudFront dengan sertifikat SSL kustom di dalam akun Anda dan menggunakannya dengan API Regional di API Gateway. Anda dapat mengonfigurasikan Kebijakan Keamanan untuk distribusi CloudFront dengan TLS 1.1 atau yang lebih tinggi sesuai dengan persyaratan keamanan dan kepatuhan Anda.

Manajemen, Metrik, dan Pencatatan

Amazon API Gateway mencatat panggilan, latensi, dan tingkat kesalahan API ke Amazon CloudWatch di akun AWS Anda. Metrik juga tersedia melalui konsol Amazon API Gateway di dasbor REST API. API Gateway juga mengukur pemanfaatan oleh pengembang pihak ketiga, data tersebut tersedia di konsol API Gateway dan melalui API.

Ya, Amazon API Gateway mengirimkan informasi dan metrik logging ke Amazon CloudWatch. Anda dapat menggunakan konsol Amazon CloudWatch untuk mengatur alarm kustom.

Secara default, Amazon API Gateway akan memantau lalu lintas pada level REST API. Secara opsional, Anda dapat mengaktifkan metrik mendetail untuk tiap metode dalam REST API Anda dari API konfigurasi penerapan atau layar konsol. Metrik terperinci juga dilog ke Amazon CloudWatch dan akan dikenai tagihan sesuai tarif CloudWatch.

Ya. Detail metrik ditentukan REST API dan tahap. Selain itu, Anda dapat mengaktifkan metrik untuk setiap metode dalam REST API Anda.

Ya. Amazon API Gateway terintegrasi dengan Amazon CloudWatch Logs. Anda secara opsional dapat mengaktifkan logging untuk setiap tahapan dalam API Anda. Untuk setiap metode dalam REST API, Anda dapat menyetel penggunaan banyak kata pada logging, dan apakah permintaan penuh dan data respons harus dilog.

Log, alarm, tingkat kesalahan, dan metrik lain disimpan di Amazon CloudWatch dan tersedia hampir secara real time.

Pembatasan dan Caching

Amazon API Gateway menyediakan pembatasan kecepatan di beberapa tingkatan termasuk panggilan global dan sesuai layanan. Pembatasan kecepatan dapat diatur untuk tingkat standar dan lonjakan. Misalnya, pemilik API dapat menyetel batas laju sebesar 1.000 permintaan per detik untuk metode tertentu dalam REST API mereka, juga mengonfigurasi Amazon API Gateway untuk menangani lonjakan sebanyak 2.000 permintaan per detik selama beberapa detik. Amazon API Gateway akan melacak jumlah permintaan per detik. Permintaan apa pun yang melebihi batas akan menerima respons HTTP 429. SDK klien (kecuali Javascript) yang dihasilkan Amazon API Gateway mencoba ulang panggilan secara otomatis saat menjumpai respons ini.

Ya. Dengan paket penggunaan, Anda dapat menyetel pembatasan kecepatan untuk kunci API individual.

Pembatasan kecepatan memastikan lalu lintas API tetap terkendali untuk membantu layanan backend Anda menjaga kinerja dan ketersediaan.

Batas laju kecepatan dapat diatur pada level metode. Anda dapat mengedit batas kecepatan dalam pengaturan metode melalui API Amazon API Gateway atau di konsol Amazon API Gateway.

Pengaturan terkait pembatasan Gateway API diterapkan dalam urutan berikut: 1) batas pembatasan per metode per klien yang Anda atur untuk tahap API dalam paket penggunaan, 2) batas pembatasan per klien yang Anda atur dalam paket penggunaan, 3) batas per metode default dan batas per metode individu yang Anda atur dalam pengaturan tahap API, 4) pembatasan tingkat akun per wilayah.

Ya. Anda dapat menambahkan caching ke panggilan API dengan menyediakan cache API Gateway dan menentukan ukurannya dalam gigabyte. Cache tersebut disediakan untuk tahapan tertentu dari API Anda. Hal ini akan meningkatkan kinerja dan mengurangi lalu lintas yang dikirimkan ke backend Anda. Pengaturan cache memungkinkan Anda mengontrol cara kunci cache dibuat dan time-to-live (TTL) data yang disimpan untuk setiap metode. API Gateway juga mengekspos API pengelolaan yang membantu Anda membatalkan validasi cache untuk setiap tahapan. Caching tersedia untuk API REST di API Gateway.

Jika caching dinonaktifkan dan pembatasan tidak diterapkan, semua permintaan akan diteruskan ke layanan backend Anda hingga batas pembatasan level akun tercapai. Jika batas kecepatan sudah tercapai, Amazon API Gateway akan memberikan jumlah permintaan yang dibutuhkan, dan hanya mengirim batas yang ditentukan ke layanan backend Anda. Jika cache dikonfigurasi, Amazon API Gateway akan menghasilkan cache respons untuk permintaan duplikat dalam waktu tertentu, selama ada di bawah batas kecepatan yang dikonfigurasi. Keseimbangan antara backend dan klien ini memastikan kinerja API tetap optimal untuk aplikasi yang didukung. Permintaan yang dibatasi akan otomatis dicoba ulang oleh SDK sisi klien yang dihasilkan oleh Amazon API Gateway. Secara default, Amazon API Gateway tidak akan mengatur cache apa pun pada metode API Anda.

Amazon API Gateway bertindak sebagai proxy bagi operasi backend yang telah Anda konfigurasikan. Amazon API Gateway akan melakukan penskalaan otomatis guna menangani jumlah lalu lintas yang diterima API Anda. Amazon API Gateway tidak secara sewenang-wenang membatasi atau memberi batasan permintaan ke operasi backend, dan semua permintaan yang tidak ditahan oleh pengaturan pembatasan dan caching dalam konsol Amazon API Gateway akan dikirim ke operasi backend Anda.

Penagihan

Tarif Amazon API Gateway ditagihkan per jutaan panggilan API, ditambah dengan biaya transfer data keluar, dalam gigabyte. Jika Anda memilih untuk menyediakan cache untuk API Anda, berlaku tarif per jam. Untuk API WebSocket, API Gateway menagih berdasarkan pesan yang dikirim dan yang diterima serta jumlah menit klien tersambung ke API. Lihat halaman harga API Gateway untuk detail mengenai biaya panggilan API, transfer data, dan caching per wilayah.

Pemilik API dikenai biaya atas panggilan ke API mereka yang ada di API Gateway.

Ya. Panggilan API dihitung secara merata untuk tujuan penagihan baik respons tersebut ditangani oleh operasi backend atau operasi caching Amazon API Gateway.

API WebSocket

Perutean WebSocket di Amazon API Gateway digunakan untuk merutekan pesan ke integrasi spesifik dengan benar. Anda menentukan kunci perutean dan backend integrasi untuk diaktifkan saat menentukan API WebSocket Anda. Kunci perutean adalah atribut di isi pesan. Integrasi default juga dapat ditetapkan untuk kunci perutean yang tidak cocok. Lihat dokumentasi untuk mempelajari selengkapnya tentang perutean.

Saat klien baru tersambung ke API WebSocket, URL unik, yang disebut URL callback, dibuat untuk klien tersebut. Anda dapat menggunakan URL callback ini untuk mengirim pesan ke klien dari layanan backend.

Dengan Amazon API Gateway, Anda dapat menggunakan peran dan kebijakan IAM atau Pengotorisasi AWS Lambda untuk mengizinkan akses ke API WebSocket Anda.

Saat klien tersambung atau terputus, pesan akan dikirim dari layanan Amazon API Gateway ke fungsi AWS Lambda backend atau titik akhir HTTP Anda menggunakan rute $connect dan $disconnect. Anda dapat melakukan tindakan yang sesuai seperti menambahkan atau menghapus klien untuk daftar pengguna tersambung.

Anda dapat menggunakan metode GET URL callback pada koneksi untuk mengidentifikasi apakah klien tersambung ke koneksi WebSocket. Lihat dokumentasi tentang menggunakan URL callback.

Ya, Anda dapat memutus klien yang tersambung dari layanan backend Anda menggunakan URL callback.

Ukuran pesan maksimum yang didukung adalah 128 KB. Baca dokumentasi untuk batasan lain seputar API WebSocket.

Anda akan ditagih berdasarkan 2 metrik: Menit koneksi dan pesan.

Menit koneksi: Total jumlah menit saat klien atau perangkat tersambung ke koneksi WebSocket (dibulatkan ke menit).

Pesan: Total jumlah pesan yang dikirim ke dan diterima dari klien terhubung. Pesan ditagih per 32KB. Lihat halaman harga untuk detail tentang harga dan contoh API WebSocket.

Tidak, jika pesan di koneksi WebSocket gagal diautentikasi atau diotorisasi, pesan tersebut tidak akan terhitung dalam tagihan penggunaan API Anda.