Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat mengaktifkan API caching di API Gateway untuk menyimpan respons titik akhir Anda. Dengan caching, Anda dapat mengurangi jumlah panggilan yang dilakukan ke titik akhir Anda dan juga meningkatkan latensi permintaan ke Anda. API
Saat Anda mengaktifkan caching untuk suatu tahap, API Gateway menyimpan respons dari titik akhir Anda untuk periode time-to-live (TTL) tertentu, dalam hitungan detik. APIGateway kemudian merespons permintaan dengan mencari respons titik akhir dari cache alih-alih membuat permintaan ke titik akhir Anda. TTLNilai default untuk API caching adalah 300 detik. TTLNilai maksimumnya adalah 3600 detik. TTL=0 berarti caching dinonaktifkan.
catatan
Caching adalah upaya terbaik. Anda dapat menggunakan CacheMissCount
metrik CacheHitCount
dan di Amazon CloudWatch untuk memantau permintaan yang dilayani API Gateway dari API cache.
Ukuran maksimum respons yang dapat di-cache adalah 1048576 byte. Enkripsi data cache dapat meningkatkan ukuran respons saat sedang di-cache.
Ini adalah Layanan yang HIPAA Memenuhi Syarat. Untuk informasi lebih lanjut tentang AWS, Undang-Undang Portabilitas dan Akuntabilitas Asuransi Kesehatan AS tahun 1996 (HIPAA), dan menggunakan AWS layanan untuk memproses, menyimpan, dan mengirimkan informasi kesehatan yang dilindungi (PHI), lihat Ikhtisar. HIPAA
penting
Saat Anda mengaktifkan caching untuk suatu tahap, hanya GET
metode yang mengaktifkan caching secara default. Ini membantu memastikan keamanan dan ketersediaan AndaAPI. Anda dapat mengaktifkan caching untuk metode lain dengan mengganti pengaturan metode.
penting
Caching dibebankan per jam berdasarkan ukuran cache yang Anda pilih. Caching tidak memenuhi syarat untuk Tingkat AWS Gratis. Untuk informasi selengkapnya, lihat Harga API Gateway
Aktifkan caching Amazon API Gateway
Di API Gateway, Anda dapat mengaktifkan caching untuk tahap tertentu.
Ketika Anda mengaktifkan caching, Anda harus memilih kapasitas cache. Secara umum, kapasitas yang lebih besar memberikan kinerja yang lebih baik, tetapi juga lebih mahal. Untuk ukuran cache yang didukung, lihat cacheClusterSizedi APIReferensi API Gateway.
APIGateway memungkinkan caching dengan membuat instance cache khusus. Proses ini bisa memakan waktu hingga 4 menit.
APIGateway mengubah kapasitas caching dengan menghapus instance cache yang ada dan membuat yang baru dengan kapasitas yang dimodifikasi. Semua data cache yang ada dihapus.
catatan
Kapasitas cache mempengaruhiCPU, memori, dan bandwidth jaringan dari instance cache. Akibatnya, kapasitas cache dapat memengaruhi kinerja cache Anda.
APIGateway merekomendasikan agar Anda menjalankan uji beban 10 menit untuk memverifikasi bahwa kapasitas cache Anda sesuai dengan beban kerja Anda. Pastikan bahwa lalu lintas selama uji beban mencerminkan lalu lintas produksi. Misalnya, sertakan ramp up, lalu lintas konstan, dan lonjakan lalu lintas. Tes beban harus mencakup respons yang dapat disajikan dari cache, serta respons unik yang menambahkan item ke cache. Pantau metrik latensi, 4xx, 5xx, cache hit, dan cache miss selama uji beban. Sesuaikan kapasitas cache Anda sesuai kebutuhan berdasarkan metrik ini. Untuk informasi selengkapnya tentang pengujian beban, lihat Bagaimana cara memilih kapasitas cache API Gateway terbaik agar tidak mencapai batas tarif?
Di konsol API Gateway, Anda mengonfigurasi caching pada halaman Tahapan. Anda menyediakan cache tahap dan menentukan pengaturan cache tingkat metode default. Jika Anda mengaktifkan cache tingkat metode default, caching tingkat metode diaktifkan untuk semua GET
metode di panggung Anda, kecuali metode tersebut memiliki penggantian metode. GET
Metode tambahan apa pun yang Anda terapkan ke tahap Anda akan memiliki cache tingkat metode. Untuk mengonfigurasi pengaturan caching tingkat metode untuk metode spesifik tahap Anda, Anda dapat menggunakan penggantian metode. Untuk informasi selengkapnya tentang penggantian metode, lihat. Ganti caching tingkat tahap API Gateway untuk caching tingkat metode
Untuk mengkonfigurasi API caching untuk tahap tertentu:
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Memilih Tahapan.
-
Dalam daftar Tahapan untukAPI, pilih panggung.
-
Di bagian Detail tahap, pilih Edit.
-
Di bawah Pengaturan tambahan, untuk pengaturan Cache, aktifkan APICache ketentuan.
Ini menyediakan cluster cache untuk tahap Anda.
-
Untuk mengaktifkan caching untuk tahap Anda, aktifkan caching tingkat metode Default.
Ini mengaktifkan caching tingkat metode untuk semua
GET
metode di panggung Anda.GET
Metode tambahan apa pun yang Anda terapkan ke tahap ini akan memiliki cache tingkat metode.catatan
Jika Anda memiliki setelan yang ada untuk cache tingkat metode, mengubah pengaturan caching tingkat metode default tidak memengaruhi pengaturan yang ada.
-
Pilih Simpan perubahan.
catatan
Membuat atau menghapus cache membutuhkan waktu sekitar 4 menit agar API Gateway selesai.
Ketika cache dibuat, nilai cluster Cache berubah dari Create in progress
keActive
. Ketika penghapusan cache selesai, nilai cluster Cache berubah dari Delete in progress
ke. Inactive
Saat Anda mengaktifkan caching tingkat metode untuk semua metode di panggung Anda, nilai caching tingkat metode Default berubah menjadi. Active
Jika Anda menonaktifkan caching tingkat metode untuk semua metode di panggung Anda, nilai caching tingkat metode Default akan berubah menjadi. Inactive
Jika Anda memiliki setelan yang ada untuk cache tingkat metode, mengubah status cache tidak memengaruhi pengaturan tersebut.
Saat Anda mengaktifkan caching dalam pengaturan Cache tahap, hanya GET
metode yang di-cache. Untuk memastikan keamanan dan ketersediaan AndaAPI, kami menyarankan Anda untuk tidak mengubah pengaturan ini. Namun, Anda dapat mengaktifkan caching untuk metode lain dengan mengganti pengaturan metode.
Jika Anda ingin memverifikasi apakah caching berfungsi seperti yang diharapkan, Anda memiliki dua opsi umum:
-
Periksa CloudWatch metrik CacheHitCountdan CacheMissCountuntuk Anda API dan panggung.
-
Masukkan stempel waktu dalam respons.
catatan
Anda tidak boleh menggunakan X-Cache
header dari CloudFront respons untuk menentukan apakah Anda sedang API dilayani dari instance cache API Gateway Anda.
Ganti caching tingkat tahap API Gateway untuk caching tingkat metode
Anda dapat mengganti pengaturan cache tingkat tahap dengan mengaktifkan atau mematikan caching untuk metode tertentu. Anda juga dapat mengubah TTL periode atau mengaktifkan atau menonaktifkan enkripsi untuk respons yang di-cache.
Jika Anda mengubah pengaturan caching tingkat metode default dalam detail Tahap, itu tidak memengaruhi pengaturan cache tingkat metode yang memiliki penggantian.
Jika Anda mengantisipasi bahwa metode yang Anda caching akan menerima data sensitif dalam tanggapannya, di Pengaturan Cache, pilih Enkripsi data cache.
Untuk mengkonfigurasi API caching untuk metode individual menggunakan konsol:
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
PilihAPI.
-
Memilih Tahapan.
-
Dalam daftar Tahapan untukAPI, perluas panggung dan pilih metode diAPI.
-
Di bagian Penggantian Metode, pilih Edit.
-
Di bagian Pengaturan metode, aktifkan atau matikan Aktifkan cache metode atau sesuaikan opsi lain yang diinginkan.
catatan
Caching tidak aktif sampai Anda menyediakan cluster cache untuk tahap Anda.
Pilih Simpan.
Gunakan metode atau parameter integrasi sebagai kunci cache untuk mengindeks respons yang di-cache
Anda dapat menggunakan metode atau parameter integrasi sebagai kunci cache untuk mengindeks respons yang di-cache. Ini termasuk header kustom, URL jalur, atau string kueri. Anda dapat menentukan beberapa atau semua parameter ini sebagai kunci cache, tetapi Anda harus menentukan setidaknya satu nilai. Bila Anda memiliki kunci cache, API Gateway menyimpan respons dari setiap nilai kunci secara terpisah, termasuk saat kunci cache tidak ada.
catatan
Kunci cache diperlukan saat mengatur caching pada sumber daya.
Misalnya, Anda memiliki permintaan dalam format berikut:
GET /users?type=... HTTP/1.1 host: example.com ...
Dalam permintaan ini, type
dapat mengambil nilai admin
atauregular
. Jika Anda menyertakan type
parameter sebagai bagian dari kunci cache, respons dari di-cache GET /users?type=admin
secara terpisah dari yang dariGET /users?type=regular
.
Ketika sebuah metode atau permintaan integrasi mengambil lebih dari satu parameter, Anda dapat memilih untuk menyertakan beberapa atau semua parameter untuk membuat kunci cache. Misalnya, Anda hanya dapat menyertakan type
parameter dalam kunci cache untuk permintaan berikut, dibuat dalam urutan yang tercantum dalam suatu TTL periode:
GET /users?type=admin&department=A HTTP/1.1 host: example.com ...
Respons dari permintaan ini di-cache dan digunakan untuk melayani permintaan berikut:
GET /users?type=admin&department=B HTTP/1.1 host: example.com ...
Untuk menyertakan metode atau parameter permintaan integrasi sebagai bagian dari kunci cache di konsol API Gateway, pilih Caching setelah Anda menambahkan parameter.

Siram cache API panggung di API Gateway
Saat API caching diaktifkan, Anda dapat membersihkan cache API panggung Anda untuk memastikan bahwa API klien Anda mendapatkan respons terbaru dari titik akhir integrasi Anda.
Untuk flush cache API stage, pilih menu Stage actions, dan kemudian pilih Flush stage cache.
catatan
Setelah cache dimatikan, respons dilayani dari titik akhir integrasi hingga cache dibangun kembali. Selama periode ini, jumlah permintaan yang dikirim ke titik akhir integrasi dapat meningkat. Ini untuk sementara dapat meningkatkan latensi keseluruhan AndaAPI.
Membatalkan entri cache API Gateway
Klien Anda API dapat membatalkan entri cache yang ada dan memuatnya kembali dari titik akhir integrasi untuk permintaan individual. Klien harus mengirim permintaan yang berisi Cache-Control: max-age=0
header. Klien menerima respons langsung dari titik akhir integrasi alih-alih cache, asalkan klien berwenang untuk melakukannya. Ini menggantikan entri cache yang ada dengan respons baru, yang diambil dari titik akhir integrasi.
Untuk memberikan izin kepada klien, lampirkan kebijakan format berikut ke peran IAM eksekusi bagi pengguna.
catatan
Pembatalan cache lintas akun tidak didukung.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:InvalidateCache" ], "Resource": [ "arn:aws:execute-api:
region
:account-id
:api-id
/stage-name
/GET/resource-path-specifier
" ] } ] }
Kebijakan ini memungkinkan layanan eksekusi API Gateway untuk membatalkan cache untuk permintaan pada sumber daya tertentu (atau sumber daya). Untuk menentukan grup sumber daya yang ditargetkan, gunakan karakter wildcard (*) untuk account-id
api-id
, dan entri lain dalam ARN nilai. Resource
Untuk informasi selengkapnya tentang cara menyetel izin untuk layanan eksekusi API Gateway, lihatKontrol akses ke a REST API dengan IAM izin.
Jika Anda tidak memaksakan InvalidateCache
kebijakan (atau pilih kotak centang Memerlukan otorisasi di konsol), klien mana pun dapat membatalkan cache. API Jika sebagian besar atau semua klien membatalkan API cache, ini dapat secara signifikan meningkatkan latensi Anda. API
Saat kebijakan diberlakukan, caching diaktifkan dan otorisasi diperlukan.
Anda dapat mengontrol cara penanganan permintaan yang tidak sah dengan memilih opsi dari penanganan permintaan Tidak Sah di konsol Gateway. API

Tiga opsi menghasilkan perilaku berikut:
-
Gagal permintaan dengan kode status 403: mengembalikan respons 403 Tidak Sah.
Untuk mengatur opsi ini menggunakanAPI, gunakan
FAIL_WITH_403
. -
Abaikan header kontrol cache; Tambahkan peringatan di header respons: proses permintaan dan tambahkan header peringatan dalam respons.
Untuk mengatur opsi ini menggunakanAPI, gunakan
SUCCEED_WITH_RESPONSE_HEADER
. -
Abaikan header kontrol cache: proses permintaan dan jangan tambahkan header peringatan dalam respons.
Untuk mengatur opsi ini menggunakanAPI, gunakan
SUCCEED_WITHOUT_RESPONSE_HEADER
.