6

Wie wird das ordnungsgemäße Caching für einen API-Gateway-Endpunkt aktiviert?API-Gateway-Cache funktioniert nicht

Ich habe den API-Cache aktiviert (siehe Screenshot), aber als ich die URL anforderte, blieb die Antwortzeit unverändert.

Ich habe versucht die API-Cache-Option aktivieren:

Cache option

und konfiguriert, um den Cache-Control-Header:

Cache-Control header

Und auch durch einen Abfrageparameter aktiviert Caching:

Query param cache

+0

Was ist Ihr Integrations-Backend? Können Sie in Protokollen sehen, ob Ihr Backend beim Caching aufgerufen wurde oder nicht? –

+0

Das Backend ist ein Lambda. – katspaugh

Antwort

7

Caching im API-Gateway ist nicht über CloudFront implementiert. API Gateway erstellt in Ihrem Auftrag eine CloudFront-Distribution, wenn Sie Ihre API erstellen. Das Caching wird jedoch mithilfe einer dedizierten Caching-Infrastruktur implementiert. Selbst wenn das Caching aktiviert ist, sehen Sie weiterhin "Cache Miss" Header von CloudFront.

+0

Hey Bob, danke für die Korrektur. Also sagen Sie, dass 'X-Cache: Miss from cloudfront' kein Indikator dafür ist, dass der Cache nicht funktioniert? – katspaugh

+0

@katspaugh Ja, genau das sage ich. –

+0

Die Sache ist, scheint die Reaktionszeit auch mit oder ohne API-Cache aktiviert zu sein. Ich denke, ich muss die Frage umformulieren. – katspaugh

7

Ich fand das AWS Forum etwas mehr Einblick, falls es jemand anderen hilft.

https://forums.aws.amazon.com/thread.jspa?threadID=195290#646425

API Gateway integriert hinter den Kulissen mit Cloudfront. Wir erstellen automatisch eine globale CloudFront-Verteilung für Ihre APIs in , um die von Endbenutzern wahrgenommene Latenz zu reduzieren. Der API-Cache wird jedoch in der Region verarbeitet, in der das API-Gateway ausgeführt wird und Ihre API implementiert ist. Anforderungen werden vom CloudFront-PoP akzeptiert und dann an das API-Gateway in seiner Ursprungsregion gesendet, wo das API-Gateway seinen Cache überprüft und wenn möglich eine zwischengespeicherte Antwort zurückgibt. Momentan verwendet das API-Gateway den CloudFront-Cache nicht am Rand.