설명
API Gateway 응답 압축은 대역폭 사용량과 처리 지연에 영향을 줍니다. 압축을 끄는 선택도 유효하며, 압축 자체는 데이터를 암호화하거나 접근을 제한하는 보안 제어가 아닙니다. 작은 응답은 압축 때문에 오히려 크기나 처리 부담이 늘 수 있습니다.
잠재적 영향
- 큰 응답을 압축하지 않으면 전송량이 증가할 수 있습니다.
- 응답 특성에 맞지 않는 압축 기준은 처리 비용이나 지연을 늘릴 수 있습니다.
해결 방법
압축이 필요하면 minimum_compression_size를 0~10485760바이트 중 적절한 임계값으로 설정하고, 끄려면 -1을 사용하세요. 실제 응답 크기와 클라이언트의 Accept-Encoding을 고려해 시험한 뒤 API에 배포하세요. 전송 보호를 위한 HTTPS는 별도로 구성하세요.
예시
REST API 압축 설정의 발췌입니다. 실제 메서드와 통합은 별도로 구성하세요. Terraform에서 새 API에 이 값을 생략하면 압축은 비활성화됩니다.
변경 전
hcl
resource "aws_api_gateway_rest_api" "example" {
name = "regional-example"
endpoint_configuration {
types = ["REGIONAL"]
}
minimum_compression_size = -1
}
변경 후
hcl
resource "aws_api_gateway_rest_api" "example" {
name = "regional-example"
endpoint_configuration {
types = ["REGIONAL"]
}
minimum_compression_size = 0
}
첫 번째 예시의 -1은 유효한 압축 비활성화 설정입니다. 두 번째의 0은 크기에 관계없이 압축 대상 응답을 허용하는 임계값이며, 클라이언트가 지원하는 인코딩 등 압축 조건은 여전히 적용됩니다. 0이 모든 API에 적절한 것은 아닙니다.