Pembatasan, Penyimpanan Tembolok, dan Rencana Penggunaan
Lindungi sistem backend dengan batas pembatasan lonjakan dan kondisi stabil, aktifkan penyimpanan respons dalam tembolok, serta buat rencana penggunaan dengan kunci API untuk mitra.
Pembatasan, Penyimpanan Tembolok, dan Rencana Penggunaan adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Mengapa Pembatasan Laju Sangat Penting
Tanpa pembatasan laju, satu klien yang bermasalah atau lonjakan lalu lintas dapat membebani layanan backend Anda—konkurensi Lambda, koneksi RDS, atau API hilir. Pembatasan laju di API Gateway membatasi jumlah permintaan per detik dan mengizinkan lonjakan singkat di atas laju stabil. Permintaan yang dibatasi menerima respons 429 Too Many Requests secara langsung, tanpa mencapai backend, sehingga sumber daya hilir terlindungi dari beban berlebih.
Pembatasan Laju Tingkat Akun dan Tahap
Pembatasan laju beroperasi pada beberapa tingkat. Batas tingkat akun adalah 10.000 permintaan per detik (RPS) dengan lonjakan 5.000 permintaan (batas lunak, dapat ditingkatkan). Pada tingkat tahap, Anda dapat menetapkan laju pembatasan bawaan (RPS) dan batas lonjakan yang berlaku untuk semua method dalam tahap tersebut. Pada tingkat method, Anda dapat mengganti nilai bawaan tahap untuk titik akhir tertentu—misalnya, memberikan batas laju lebih tinggi kepada titik akhir GET yang banyak digunakan untuk membaca daripada titik akhir POST yang banyak digunakan untuk menulis.
aws apigateway update-stage \
--rest-api-id 'abc123' \
--stage-name 'prod' \
--patch-operations \
'op=replace,path=/*/*/throttling/rateLimit,value=1000' \
'op=replace,path=/*/*/throttling/burstLimit,value=2000'Algoritme Bucket Token
Pembatasan laju API Gateway menggunakan algoritme bucket token. Token terakumulasi dalam sebuah bucket hingga mencapai batas lonjakan (kapasitas maksimum sesaat). Setiap permintaan menggunakan satu token. Token diisi ulang pada batas laju (RPS kondisi stabil). Jika bucket kosong, permintaan dibatasi. Contoh: burst=5000, rate=1000 RPS. Pada awalnya Anda dapat menangani 5.000 permintaan secara bersamaan; bucket diisi ulang dengan 1.000 token per detik. Hal ini memungkinkan penyerapan lonjakan lalu lintas singkat sekaligus menegakkan batas laju jangka panjang.
Penyimpanan Tembolok Respons API Gateway
Penyimpanan respons di tembolok (tersedia pada tahap REST API) menyimpan respons backend dalam tembolok yang dikelola API Gateway, sehingga permintaan identik dilayani dari tembolok tanpa mengakses backend. Hal ini mengurangi beban backend, menurunkan latensi, dan dapat secara signifikan mengurangi biaya pemanggilan Lambda untuk API yang banyak digunakan untuk membaca. Tembolok menggunakan permintaan sebagai kunci (method, jalur, string kueri, dan header sesuai konfigurasi). TTL tembolok dapat dikonfigurasi dari 0 hingga 3600 detik (bawaan 300 detik).
aws apigateway update-stage \
--rest-api-id 'abc123' \
--stage-name 'prod' \
--patch-operations \
'op=replace,path=/cacheClusterEnabled,value=true' \
'op=replace,path=/cacheClusterSize,value=0.5' \
'op=replace,path=/*/*/caching/ttlInSeconds,value=300'Kustomisasi Kunci Tembolok
Secara default, kunci tembolok adalah URL permintaan lengkap. Anda dapat menyesuaikan elemen yang berkontribusi pada kunci tembolok: sertakan parameter string kueri tertentu (misalnya, pageSize, filter), tetapi kecualikan parameter yang tidak relevan (misalnya, stempel waktu). Anda juga dapat menyertakan header tertentu dalam kunci tembolok. Kecualikan header sensitif dari kunci tembolok untuk mencegah data pribadi mencemari entri tembolok bersama. Gunakan penyetelan kunci tembolok untuk memaksimalkan tingkat cache hit sekaligus memastikan permintaan logis yang berbeda mendapatkan respons tembolok yang berbeda.
Invalidasi Tembolok
Klien dapat membatalkan tembolok untuk permintaan tertentu dengan menyertakan header Cache-Control: max-age=0. Anda juga dapat mengosongkan seluruh tembolok tahap melalui konsol atau API. Konfigurasikan apakah klien diizinkan membatalkan tembolok—batasi kemampuan ini di lingkungan produksi agar klien tidak sengaja melewati penggunaan tembolok. Untuk memberikan izin pengosongan secara selektif, lampirkan kebijakan sumber daya atau gunakan pengotorisasi Lambda yang memeriksa apakah pemanggil memiliki izin untuk mengosongkan tembolok.
# Flush entire stage cache
aws apigateway flush-stage-cache \
--rest-api-id 'abc123' \
--stage-name 'prod'Paket Penggunaan: Batas Laju per Klien
Paket Penggunaan menentukan batas pelambatan dan batas kuota untuk sekelompok klien API. Kaitkan tahap API dengan paket penggunaan, lalu kaitkan kunci API dengan paket tersebut. Setiap kunci API menerapkan batas paket secara independen. Paket penggunaan memungkinkan Anda menawarkan akses bertingkat: paket Gratis dengan 100 RPM/10.000 permintaan per hari, dan paket Pro dengan 1.000 RPM/100.000 permintaan per hari. Ini adalah model untuk API yang dimonetisasi dan integrasi mitra, ketika klien yang berbeda memerlukan batas laju yang berbeda.
# Create a usage plan
aws apigateway create-usage-plan \
--name 'ProTier' \
--throttle 'rateLimit=1000,burstLimit=2000' \
--quota 'limit=100000,period=DAY' \
--api-stages 'apiId=abc123,stage=prod'Kunci API dan Identifikasi Klien
Kunci API adalah token string buram yang disertakan klien dalam header permintaan x-api-key. API Gateway memvalidasi kunci tersebut dan mengaitkan permintaan dengan paket penggunaan yang sesuai. Kunci API BUKAN mekanisme keamanan—kunci ini hanya mengidentifikasi klien untuk keperluan pelambatan dan kuota. Untuk keamanan, selalu gabungkan kunci API dengan otorisasi yang tepat (IAM, pengotorisasi Lambda, atau Cognito). Kunci API yang tidak dikaitkan dengan paket penggunaan tidak akan dikenai batas pelambatan.
# Create an API key and associate with usage plan
aws apigateway create-api-key \
--name 'PartnerABC-Key' \
--enabled
aws apigateway create-usage-plan-key \
--usage-plan-id 'uvw321' \
--key-id 'xyz789' \
--key-type API_KEYBatas Kuota dalam Paket Penggunaan
Selain laju pelambatan per detik, paket penggunaan mendukung batas kuota: jumlah maksimum permintaan dalam suatu periode (DAY, WEEK, atau MONTH). Setelah klien menghabiskan kuotanya, permintaan berikutnya mengembalikan 429 hingga kuota diatur ulang. Batas kuota berguna untuk menerapkan tingkat gratis, mencegah penyalahgunaan API, dan menyelaraskan penggunaan API dengan penagihan. Penghitung kuota pada akhirnya konsisten, sehingga klien mungkin sedikit melampaui kuotanya sebelum diblokir.
Metrik CloudWatch untuk Pelambatan dan Penggunaan Tembolok
Pantau kesehatan API Gateway dengan metrik CloudWatch berikut:
- Count: total panggilan API
- 4XXError: kesalahan klien, termasuk pelambatan 429
- 5XXError: kesalahan backend
- Latency: waktu permintaan dari ujung ke ujung
- IntegrationLatency: waktu menunggu backend
- CacheHitCount / CacheMissCount: efektivitas tembolok
Atur alarm pada lonjakan 4XXError untuk mendeteksi masalah pelambatan sebelum berdampak pada pengguna, dan pada CacheMissCount untuk mengidentifikasi masalah konfigurasi tembolok.
Kapan Mengaktifkan Penggunaan Tembolok dibandingkan Pelambatan
Gunakan penggunaan tembolok untuk API yang didominasi operasi baca dan responsnya jarang berubah—misalnya pencarian katalog produk, data referensi, dan konfigurasi statis. Penggunaan tembolok tidak efektif untuk data khusus pengguna atau data yang sangat dinamis. Selalu gunakan pelambatan—bahkan untuk API internal—untuk melindungi layanan backend dari kelebihan beban. Gabungkan keduanya: simpan data umum dalam tembolok untuk mengurangi beban backend dan lakukan pelambatan secara ketat agar satu klien tidak mendominasi API. Untuk ujian SAA-C03, penggunaan tembolok mengurangi biaya dan latensi; pelambatan memastikan ketersediaan.
Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini, Anda mempelajari bahwa Pelambatan pada tingkat akun, tahap, dan metode melindungi backend menggunakan algoritme keranjang token dengan batas laju dan ledakan yang dapat dikonfigurasi; Penembolokan Respons menyimpan respons backend selama TTL yang dapat dikonfigurasi untuk mengurangi beban dan latensi backend pada endpoint yang didominasi operasi baca; serta Paket Penggunaan dengan Kunci API menerapkan laju pelambatan dan kuota per klien sehingga memungkinkan kontrol akses bertingkat untuk API mitra dan publik. Selanjutnya, kita akan membahas klaster ECS, definisi tugas, dan layanan untuk beban kerja dalam kontainer.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pembatasan, Penyimpanan Tembolok, dan Rencana Penggunaan” gratis?
Ya — teks lengkap “Pembatasan, Penyimpanan Tembolok, dan Rencana Penggunaan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pembatasan, Penyimpanan Tembolok, dan Rencana Penggunaan”?
Lindungi sistem backend dengan batas pembatasan lonjakan dan kondisi stabil, aktifkan penyimpanan respons dalam tembolok, serta buat rencana penggunaan dengan kunci API untuk mitra. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?
Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Pembatasan, Penyimpanan Tembolok, dan Rencana Penggunaan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?
Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- REST API vs HTTP API vs WebSocket API
- Integrasi: Lambda, HTTP, dan Tiruan
- Otorisasi: IAM, Pemberi Otorisasi Lambda, dan Cognito
- Pembatasan, Penyimpanan Tembolok, dan Rencana Penggunaan