Umum

T: Apa itu Amazon API Gateway?

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 REST API, 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.

T: Mengapa menggunakan Amazon API Gateway?

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) Pengelolaan Siklus Aktif. Setelah API diterbitkan, Anda akan sering perlu membuat 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 Pengembang. 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 membuat proses backend.

7) Komunikasi Dua Arah Real-Time. Buat 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.

T: Apa jenis API yang didukung oleh Amazon API Gateway?

Amazon API Gateway mendukung pembuatan API REST dan API WebSocket.

API REST: Dalam Amazon API Gateway, API REST adalah sekumpulan sumber daya dan metode, atau titik akhir. API REST dapat diterapkan pada tahapan yang berbeda serta digandakan ke versi yang baru.

API WebSocket: Di Amazon API Gateway, API WebSocket mempertahankan koneksi persisten di antara klien yang tersambung untuk memungkinkan komunikasi pesan real-time. 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.

T: Bagaimana cara mulai menggunakan API REST di Amazon API Gateway?

Anda dapat dengan cepat dan mudah membuat API kustom menggunakan Amazon API Gateway. Untuk contoh “Hello World” sederhana, ikuti petunjuk ini:

1. Buka konsol Amazon API Gateway.

2. Pilih REST API yang sudah ada atau buat yang baru dengan memasukkan nama untuk API.

3. Pada tampilan pohon REST API, klik “Buat Sumber Daya”.

4. Pilih nama untuk sumber daya Anda, seperti “mobil”.

5. Dengan sumber daya baru yang dipilih, klik tombol untuk membuat metode baru lalu pilih verba HTTP yang terkait dengan metode tersebut (misalnya, GET).

6. Pilih jenis integrasi (contohnya, HTTP Proxy), lalu masukkan URL yang akan dipanggil oleh Amazon API Gateway.

7. Tentukan cara permintaan dan respons diubah menggunakan template pemetaan, atau terima pengaturan default untuk mengizinkan semua permintaan dan data respons lewat tanpa menerapkan transformasi apa pun.

8. Konfigurasi pengaturan keamanan metode.

9. Terapkan API baru Anda ke tahapan.

10. Dari halaman pengelolaan Tahap, atur cache dan pembatasan kecepatan.

11. Pada tab Platform Klien di konsol Amazon API Gateway, klik tombol untuk mengunduh pustaka Android, iOS SDK, atau JavaScript yang berisi metode bantuan untuk memanggil operasi sayHello Anda. Pustaka SDK akan membuat panggilan ke API Anda, sama seperti pembuatan panggilan pada metode lokal. Klien SDK secara otomatis menangani pengulangan, menginformasikan pengembang jaringan atau kondisi kesalahan lain. Pustaka SDK meliputi logika yang diperlukan untuk mengautentikasi aplikasi klien pada API Anda.

12. Integrasikan SDK yang telah diunduh ke aplikasi seluler Anda. Tulis kode untuk meminta API kustom Anda. Contohnya, untuk mengambil API getCar(int carId) dalam aplikasi iOS:

–(void)getSampleCar

{

NSString *response = [MyServiceClient getCar:1323];

NSLog( @”Response was [%@]”, response );

}

13. Jalankan aplikasi Anda.

T: Bagaimana cara mulai menggunakan API WebSocket di Amazon API Gateway?

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.

T: Bisakah saya membuat titik akhir HTTPS?

Ya, semua API yang dibuat dengan Amazon API Gateway hanya mengeluarkan titik akhir HTTPS. Amazon API Gateway tidak mendukung titik akhir (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.

T: Jenis data apa yang dapat saya gunakan dengan Amazon API Gateway?

API yang dibuat di Amazon API Gateway dapat menerima muatan apa pun yang dikirim melalui HTTP untuk API REST. 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.

T: Dengan backend apa Amazon API Gateway dapat berkomunikasi?

Amazon API Gateway dapat mengeksekusi fungsi AWS Lambda di akun Anda, memulai mesin status AWS Step Functions, atau memanggil titik akhir 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.

T: Untuk platform klien mana Amazon API Gateway dapat menghasilkan SDK?

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.

T: Di wilayah AWS mana Amazon API Gateway tersedia?

API REST di Amazon API Gateway tersedia di semua wilayah yang ditunjukkan di sini.

Anda dapat membuat API WebSocket di AS Timur (Virginia U.), AS Barat (California U.), AS Barat (Oregon), Asia Pasifik (Tokyo), Asia Pasifik (Sydney), UE (Irlandia), dan UE (Frankfurt).

T: Apa yang bisa saya kelola melalui konsol Amazon API Gateway?

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.

T: Apa yang dimaksud dengan sumber daya?

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.

T: Apa yang dimaksud dengan metode?

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.

T: Apa yang dimaksud dengan paket penggunaan?

Paket penggunaan membantu Anda menyatakan paket untuk pengembang 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 berbasis kunci API masing-masing guna menganalisis penggunaan API dan menghasilkan dokumen penagihan. Misalnya, Anda dapat membuat paket dasar, profesional, dan perusahaan – Anda dapat mengonfigurasi paket penggunaan dasar agar hanya mengizinkan 1.000 permintaan per hari dan maksimum 5 permintaan per detik (RPS).

T: Apa itu siklus aktif API Amazon API Gateway?

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 menerapkannya ke tahap pengembangan, atau saat Anda telah siap produksi, Anda dapat menerapkan API tersebut ke tahap produksi.

T: Apa yang dimaksud dengan tahapan?

Dalam Amazon API Gateway, tahapan mirip dengan tag. Tahapan menentukan jalur di mana penerapan dapat diakses. Contohnya, Anda dapat menentukan tahap pengembangan dan menerapkan 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.

T: Apa yang dimaksud dengan variabel tahapan?

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.

T: Apa yang dimaksud dengan Kebijakan Sumber Daya?

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.

T: Bagaimana jika saya tanpa sengaja menerapkan suatu tahapan?

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.

T: Apakah saya dapat menjalankan beberapa versi REST API yang sama?

Ya. Amazon API Gateway memberi Anda kemampuan untuk menggandakan API yang sudah ada. Saat Anda siap untuk mulai mengerjakan versi besar dari API berikutnya, Anda dapat terus mengerjakan API versi 1 dan versi 2 secara bersamaan.

T: Bisakah saya menggunakan definisi API Swagger?

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 menerapkan API baru, juga memperbarui yang sudah ada.

T: Bagaimana cara memonetisasi API di API Gateway?

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.

T: Bagaimana cara mendokumentasikan API di API Gateway?

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.

T: Bagaimana cara mencegah pembuatan salinan berulang dari pesan kesalahan dan dokumentasi lain yang sering muncul di API saya?

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.

T: Bisakah saya membatasi akses ke API pribadi pada Amazon VPC atau titik akhir VPC tertentu?

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

T: Bagaimana cara melakukan otorisasi akses ke API saya?

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.

T: Bagaimana cara kerja AWS Signature Version 4?

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.

T: Apa yang dimaksud dengan pengotorisasi Lambda?

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.

T: Bisakah Amazon API Gateway membuat kunci API untuk distribusi ke pengembang pihak ketiga?

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.

T: Bagaimana cara mengatasi atau mencegah ancaman atau penyalahgunaan API?

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

T: Bisakah saya memverifikasi bahwa API Gateway memanggil backend saya?

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.

T: Bisakah saya menggunakan AWS CloudTrail bersama Amazon API Gateway?

Ya. Amazon API Gateway terintegrasi dengan AWS CloudTrail guna memberi Anda riwayat perubahan pada REST API yang dapat diaudit sepenuhnya. Semua panggilan API yang dibuat ke API Amazon API Gateway untuk membuat, mengubah, menghapus, atau menerapkan REST API dicatat pada CloudTrail di akun AWS Anda.

T: Bagaimana cara Amazon API Gateway bekerja dengan Amazon Virtual Private Cloud (Amazon VPC)? 

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 Titik Akhir Amazon VPC.

T: Bisakah saya membatasi akses ke API pribadi pada Amazon VPC atau titik akhir VPC tertentu?

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.

T: Bisakah saya mengonfigurasi REST API di API Gateway agar menggunakan TLS 1.1 atau lebih tinggi?

Ya, 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.

Pengelolaan, Metrik, dan Logging

T: Bagaimana cara memantau API Amazon API Gateway saya?

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.

T: Bisakah saya menyetel alarm di metrik Amazon API Gateway?

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

T: Bagaimana cara menyetel metrik untuk Amazon API Gateway?

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.

T: Bisakah saya menentukan versi API mana yang dapat digunakan pelanggan saya?

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

T: Apakah Amazon API Gateway menyediakan dukungan logging?

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.

T: Seberapa cepat log tersedia?

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

Pembatasan dan Caching

T: Bagaimana saya bisa melindungi sistem backend dan aplikasi dari lonjakan lalu lintas?

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 yang dihasilkan Amazon API Gateway mencoba ulang panggilan secara langsung saat menjumpai respons ini.

T: Bisakah saya membatasi kecepatan pengembang individual yang memanggil API saya?

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

T: Bagaimana cara pembatasan membantu saya?

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

T: Di level apa Amazon API Gateway dapat membatasi kecepatan lalu lintas API masuk?

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.

T: Bagaimana cara peraturan pembatasan kecepatan diterapkan?

Pertama-tama, API Gateway memeriksa batas akun AWS Anda. Jika lalu lintas berada di bawah batas akun yang ditentukan, API Gateway akan memeriksa batasan yang Anda tentukan pada tahapan atau metode. Jika lalu lintas berada di bawah batas tahapan, API Gateway akan menerapkan batas paket penggunaan yang Anda tentukan pada basis per kunci API.

T: Apakah Amazon API Gateway menyediakan caching hasil API?

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.

T: Apa yang terjadi jika ada pengguna akhir dalam jumlah besar yang mencoba mengambil API saya secara bersamaan?

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.

T: Bagaimana cara API melakukan penskalaan?

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

T: Bagaimana tarif atas penggunaan Amazon API Gateway?

Tarif Amazon API Gateway adalah 3,50 USD tiap satu juta panggilan API, ditambah dengan biaya data transfer keluar, dalam hitungan 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. Silakan lihat halaman harga API Gateway untuk detail mengenai biaya panggilan API, transfer data, dan caching per wilayah.

T: Siapa yang membayar panggilan API Amazon API Gateway yang dihasilkan oleh pengembang pihak ketiga?

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

T: Jika respons API disajikan oleh data cache, apakah hal tersebut masih dianggap sebagai panggilan API untuk tujuan penagihan?

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

API WebSocket

T: Apa itu perutean WebSocket di Amazon API Gateway?

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.

T: Bagaimana saya dapat mengirim pesan ke klien yang tersambung dari layanan backend?

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.

T: Bagaimana saya dapat mengizinkan akses ke API WebSocket saya di Amazon API Gateway?

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

T: Bagaimana layanan backend saya mengetahui saat klien tersambung atau terputus dari koneksi WebSocket di Amazon API Gateway?

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.

T: Bagaimana layanan backend saya dapat mengidentifikasi apakah klien masih tersambung ke koneksi WebSocket?

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

T: Dapatkah saya memutus klien dari layanan backend saya?

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

T: Berapa ukuran pesan maksimum yang didukung untuk API WebSocket?

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

T: Bagaimana saya ditagih atas penggunaan API WebSocket di Amazon API Gateway?

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

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

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

T: Jika pesan di koneksi WebSocket gagal diautentikasi atau diotorisasi, apakah pesan tersebut masih terhitung dalam tagihan penggunaan API saya?

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

Pelajari selengkapnya tentang Amazon API Gateway

Kunjungi halaman harga
Siap untuk memulai?
Daftar
Punya pertanyaan lainnya?
Hubungi kami