説明
AWS::Serverless::Apiのキャッシュクラスターはレスポンスを再利用し、バックエンドの呼び出しを減らせます。キャッシュは任意です。古いデータの提供やユーザー固有のレスポンスの誤共有を防げる範囲で利用してください。
想定される影響
キャッシュ可能なリクエストが多い場合、キャッシュがないとバックエンドの負荷や遅延が増えることがあります。
対処方法
適したAPIにCacheClusterEnabled: trueを設定し、MethodSettingsで対象メソッドのキャッシュを有効にしてください。キャッシュキーと有効期間も決めてください。
例
GETメソッドのキャッシュを有効にする例です。実際のAPI定義とレスポンスごとのキャッシュキーは別途設定してください。
変更前
yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
ApiGatewayApi:
Type: AWS::Serverless::Api
Properties:
StageName: prod
TracingEnabled: true
変更後
yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
ApiGatewayApi:
Type: AWS::Serverless::Api
Properties:
StageName: prod
TracingEnabled: true
CacheClusterEnabled: true
MethodSettings:
- ResourcePath: /*
HttpMethod: GET
CachingEnabled: true