SAM API 압축 설정 점검

압축이 유용한 응답에 맞춰 최소 크기를 지정하세요.

설명

AWS::Serverless::Api의 MinimumCompressionSize는 응답 압축 임계값을 정합니다. 생략하면 압축이 비활성화되며, 유효 범위는 0부터 10485760바이트까지입니다. 압축은 암호화나 필수 보안 통제가 아닙니다.

잠재적 영향

압축 효과가 큰 응답을 압축하지 않으면 전송량과 지연이 늘 수 있고, 작은 응답의 압축은 오히려 처리 비용을 늘릴 수 있습니다.

해결 방법

응답 특성에 맞는 유효한 임계값을 설정하고 배포 후 크기와 지연을 비교하세요. 클라이언트가 지원되는 Accept-Encoding 값을 보내는지도 확인하세요.

예시

예시의 114는 설명용 임계값입니다. 실제 로그 그룹 ARN과 서비스에 맞는 압축 기준을 지정하세요.

변경 전

yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      TracingEnabled: true
      CacheClusterEnabled: true
      AccessLogSetting:
        DestinationArn: arn:aws:logs:us-east-1:123456789012:log-group:my-log-group
        Format: '{"requestId":"$context.requestId"}'

변경 후

yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      TracingEnabled: true
      CacheClusterEnabled: true
      AccessLogSetting:
        DestinationArn: arn:aws:logs:us-east-1:123456789012:log-group:my-log-group
        Format: '{"requestId":"$context.requestId"}'
      MinimumCompressionSize: 114

참조