Traffine I/O

Bahasa Indonesia

2022-03-09

Gambaran Umum Amazon API Gateway

Apa itu Amazon API Gateway

Amazon API Gateway adalah layanan yang fleksibel yang memungkinkan pengembang untuk menentukan, menerbitkan, dan mengelola API untuk aplikasi mereka. Ini berfungsi sebagai pintu depan untuk layanan backend Anda, memungkinkan Anda mengontrol cara permintaan ke API Anda harus ditangani dan dirutekan. Dengan menyediakan satu titik masuk untuk mengelola beberapa layanan backend, API Gateway menyederhanakan proses membuat, mengamankan, dan memelihara API, memastikan kehandalan dan performa layanan Anda.

Komponen Kunci Amazon API Gateway

Amazon API Gateway terdiri dari beberapa komponen inti, yang bekerja bersama-sama untuk memungkinkan Anda membuat, mempublikasikan, dan mengelola API Anda. Komponen-komponen ini meliputi:

  • API
    Resource utama di API Gateway, mewakili kumpulan metode dan resource yang dapat diakses melalui protokol HTTP atau WebSocket.

  • Resource
    Entitas logis di API Anda yang mewakili fitur atau fungsi tertentu dari layanan backend Anda. Resource diatur secara hierarkis dan dapat memiliki metode yang terkait dengan mereka.

  • Metode
    Kata kerja HTTP (seperti GET, POST, atau DELETE) yang mendefinisikan tindakan yang akan dilakukan pada resource. Metode terkait dengan resource dan dapat memiliki berbagai pengaturan, seperti model permintaan dan respons, otentikasi, dan integrasi.

  • Integrasi
    Koneksi antara metode API Gateway dan layanan backend, seperti fungsi AWS Lambda atau titik akhir HTTP/HTTPS. Integrasi mendefinisikan bagaimana permintaan API yang masuk diproses dan bagaimana respons dihasilkan.

  • Tahap
    Penyebaran bernama API Anda yang mewakili versi atau lingkungan tertentu (misalnya, pengembangan, pengujian, atau produksi). Tahap dapat memiliki pengaturan mereka sendiri, seperti pencatatan, caching, dan throttling.

Jenis API di Amazon API Gateway

Amazon API Gateway mendukung tiga jenis API utama, masing-masing memenuhi kebutuhan dan persyaratan yang berbeda:

  • RESTful APIs
    API ini mengikuti prinsip-prinsip REST dan dirancang untuk mendukung metode HTTP standar (GET, POST, PUT, DELETE, dll.). RESTful APIs di API Gateway menggunakan JSON sebagai format data default untuk permintaan dan respons, tetapi dapat dikonfigurasi untuk mendukung format lain.

  • WebSocket APIs
    WebSocket APIs memungkinkan komunikasi real-time, dua arah antara klien dan layanan backend, memberikan pengalaman pengguna yang lebih interaktif dan responsif. WebSocket APIs di API Gateway mendukung protokol WebSocket, yang memungkinkan pertukaran data yang kontinu tanpa perlu membuka dan menutup koneksi secara berulang.

  • HTTP APIs
    Dirancang untuk pengembangan API yang memiliki latensi rendah dan biaya yang efektif, HTTP APIs menawarkan pengalaman konfigurasi dan pengelolaan yang disederhanakan dibandingkan dengan RESTful APIs. HTTP APIs secara utama mendukung payload JSON, dan berintegrasi dengan mulus dengan layanan AWS seperti Lambda, sehingga cocok untuk aplikasi serverless.

Fitur Amazon API Gateway

Nama Domain Kustom

Nama domain kustom memungkinkan Anda memetakan domain Anda sendiri ke API Anda, menciptakan antarmuka profesional dan konsisten untuk pengguna Anda. Untuk mengatur nama domain kustom, Anda harus terlebih dahulu memperoleh sertifikat SSL/TLS dan mengonfigurasikannya di Amazon API Gateway. Selanjutnya, Anda akan membuat resource nama domain kustom dan memetakkannya ke API Anda, menentukan pemetaan jalur dasar. Akhirnya, Anda perlu mengonfigurasi rekaman Sistem Nama Domain (DNS) untuk nama domain kustom Anda agar menunjuk ke API Gateway.

Penyimpanan Cache API

Penyimpanan cache API adalah fitur opsional yang dapat secara signifikan meningkatkan kinerja API Anda dengan mengurangi laten permintaan. Dengan penyimpanan cache API yang diaktifkan, Amazon API Gateway menyimpan respons metode API Anda selama periode tertentu, mengurangi kebutuhan untuk memanggil layanan backend Anda berulang-ulang. Hal ini dapat menghemat waktu pengolahan backend dan mengurangi beban pada layanan Anda. Anda dapat mengaktifkan penyimpanan cache API untuk tahap individu pada API Anda dan menyesuaikan pengaturan cache, seperti kapasitas cache dan waktu hidup cache (TTL).

Pencatatan dan Pemantauan

Amazon API Gateway terintegrasi dengan Amazon CloudWatch untuk menyediakan kemampuan pencatatan dan pemantauan untuk API Anda. Dengan mengaktifkan pencatatan, Anda dapat melacak penggunaan API, metrik kinerja, dan tingkat kesalahan. Anda juga dapat menyiapkan alarm untuk memberi tahu Anda jika peristiwa tertentu terjadi atau jika ambang batas tertentu terlewati. API Gateway juga mendukung pencatatan akses, yang memberikan informasi detail tentang setiap panggilan API, termasuk identitas pemanggil, parameter permintaan, dan elemen respons.

Fitur Keamanan

Keamanan adalah aspek penting dari setiap API, dan Amazon API Gateway menyediakan beberapa fitur bawaan untuk membantu Anda mengamankan API Anda. Beberapa fitur keamanan kunci meliputi:

  • AWS Identity and Access Management (IAM)
    Mengontrol akses ke API Anda dengan membuat kebijakan IAM yang mendefinisikan tindakan yang diizinkan untuk pengguna atau grup tertentu.

  • Amazon Cognito
    Mengamankan API Anda dengan otentikasi dan otorisasi pengguna menggunakan kolam pengguna Amazon Cognito.

  • Pengarang Kustom
    Membuat pengarang Lambda kustom untuk menerapkan logika otentikasi dan otorisasi Anda sendiri.

  • Kebijakan Resource
    Menentukan kebijakan akses untuk API Anda pada tingkat resource, membatasi akses berdasarkan alamat IP, VPC, atau kriteria lain.

  • Kunci API
    Membuat dan mengelola kunci API untuk pengembang pengembang atau aplikasi pihak ketiga untuk membatasi akses dan penggunaan.

Integrasi

Amazon API Gateway dapat diintegrasikan dengan berbagai layanan AWS, memungkinkan Anda membuat aplikasi yang kuat dan scalable. Beberapa integrasi umum termasuk:

  • AWS Lambda
    Membangun aplikasi serverless dengan menghubungkan API Gateway Anda ke fungsi Lambda yang menjalankan kode kustom Anda.

  • Amazon S3
    Mengirimkan konten statis, seperti gambar atau file HTML, langsung dari bucket Amazon S3 melalui API Anda.

  • Amazon DynamoDB
    Mengakses dan memanipulasi data di tabel DynamoDB menggunakan API Gateway dan AWS Lambda.

  • AWS Step Functions
    Mengatur alur kerja dan mikro layanan kompleks menggunakan API Gateway bersama dengan Step Functions.

Batas Waktu di Amazon API Gateway dan AWS Lambda

Saat mengintegrasikan Amazon API Gateway dengan AWS Lambda, penting untuk memahami batas waktu di kedua layanan tersebut untuk menghindari kegagalan yang tidak diinginkan dan memastikan operasi yang lancar. Batas waktu digunakan untuk membatasi waktu layanan menunggu respons sebelum mempertimbangkan permintaan gagal. Dalam konteks integrasi API Gateway dan Lambda, ada dua pengaturan batas waktu utama yang perlu dipertimbangkan:

  • Batas Waktu Amazon API Gateway
    API Gateway memiliki batas waktu default 29 detik untuk permintaan masuk. Ini berarti bahwa jika fungsi Lambda Anda membutuhkan waktu lebih dari 29 detik untuk dieksekusi dan mengembalikan respons, API Gateway akan mengembalikan kesalahan kepada klien. Perlu diingat bahwa waktu maksimum yang dapat dikonfigurasi untuk API Gateway adalah 30 detik.

  • Batas Waktu Fungsi AWS Lambda
    Fungsi Lambda memiliki batas waktu default 3 detik, yang dapat dikonfigurasi hingga maksimum 900 detik (15 menit). Jika fungsi Lambda tidak menyelesaikan eksekusi dalam waktu yang ditentukan, fungsi akan dihentikan, dan kesalahan akan dikembalikan ke API Gateway.

Harga Amazon API Gateway

Amazon API Gateway memiliki model harga pay-as-you-go, dengan biaya yang berbeda terkait dengan masing-masing jenis API dan berbagai fitur tambahan.

Tiga jenis API utama (RESTful, WebSocket, dan HTTP) memiliki struktur harga yang berbeda, seperti yang dijelaskan di bawah ini:

  • RESTful APIs
    Anda dikenakan biaya berdasarkan total jumlah panggilan API yang dilakukan, jumlah data yang ditransfer keluar, dan durasi caching yang diaktifkan untuk API Anda. 1 juta panggilan API pertama per bulan gratis, dengan biaya per juta panggilan selanjutnya, tergantung pada wilayah AWS.

  • WebSocket APIs
    Harga untuk WebSocket APIs didasarkan pada jumlah pesan yang dikirim dan diterima, serta total jumlah menit koneksi. Pesan adalah unit data diskret yang dikirimkan atau diterima, dengan ukuran maksimum 128 KB. Menit koneksi dihitung berdasarkan total waktu klien Anda terhubung ke WebSocket API Anda.

  • HTTP APIs
    HTTP APIs memiliki biaya per juta panggilan yang lebih rendah dibandingkan dengan RESTful APIs, membuatnya menjadi pilihan yang lebih hemat biaya untuk banyak kasus penggunaan. Sama seperti RESTful APIs, Anda dikenakan biaya berdasarkan total jumlah panggilan API yang dilakukan dan jumlah data yang ditransfer keluar.

Selain biaya terkait dengan jenis API, ada juga biaya untuk fitur opsional seperti nama domain kustom, caching API, dan transfer data:

  • Nama Domain Kustom
    Saat menggunakan nama domain kustom dengan Amazon API Gateway, Anda dikenakan biaya berdasarkan total jumlah permintaan yang dilakukan ke nama domain kustom Anda. 1 juta permintaan pertama per bulan gratis, dengan biaya per juta permintaan selanjutnya.

  • API Caching
    Jika Anda mengaktifkan caching API untuk API Anda, Anda dikenakan biaya berdasarkan kapasitas cache yang Anda sediakan dan durasi waktu cache diaktifkan. Kapasitas cache diukur dalam gigabyte (GB), dan Anda dapat memilih dari beberapa ukuran cache yang sesuai dengan kebutuhan Anda.

  • Transfer Data
    Amazon API Gateway menagih transfer data yang keluar dari layanan, berdasarkan total jumlah data yang dikirim dari API Anda ke klien melalui internet. Transfer data antara API Gateway dan layanan AWS lainnya di wilayah yang sama gratis.

https://aws.amazon.com/api-gateway/pricing/

Referensi

https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html
https://aws.amazon.com/api-gateway/pricing/

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!