

# Amazon API Gateway 할당량
<a name="limits"></a>

다음 할당량은 모든 Amazon API Gateway API 유형에 적용됩니다.

## 리전당 API Gateway 계정 수준 할당량
<a name="apigateway-account-level-limits-table"></a>

다음 할당량은 Amazon API Gateway에서 리전별로 계정당 적용됩니다.


| 리소스 또는 작업 | 기본 할당량 | 높일 수 있음 | 
| --- | --- | --- | 
| HTTP API, REST API, WebSocket API 및 WebSocket 콜백 API에서의 리전별 계정당 조절 할당량 | 5,000개의 요청을 처리할 수 있는 최대 버킷 용량을 사용하여 [토큰 버킷 알고리즘](https://en.wikipedia.org/wiki/Token_bucket)에서 제공하는 추가 버스트 용량이 있는 초당 10,000개의 요청(RPS). \$1 버스트 할당량은 리전의 해당 계정에 대한 전체 RPS 할당량에 따라 API Gateway 서비스 팀에서 결정됩니다. 이 할당량은 고객이 조절하거나 변경을 요청할 수 없습니다.  | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-8A5B8E43) | 
| 포털의 리전별 계정당 액세스 제어가 없는 제한 할당량 | 초당 250,000개의 요청 | 아니요 | 
| 포털의 리전별 계정당 액세스 제어가 없는 제한 할당량 | 초당 10,000개의 요청 | 아니요 | 

\$1 다음 리전의 기본 스로틀링 할당량은 2,500RPS이고 기본 버스트 할당량은 1,250RPS입니다. 아프리카(케이프타운), 유럽(밀라노), 아시아 태평양(자카르타), 중동(UAE), 아시아 태평양(하이데라바드), 아시아 태평양(멜버른), 유럽(스페인), 유럽(취리히), 이스라엘(텔아비브), 캐나다 서부(캘거리), 아시아 태평양(말레이시아), 아시아 태평양(태국) 및 멕시코(중부).

## API 생성, 배포 및 관리를 위한 API Gateway 할당량
<a name="api-gateway-control-service-limits-table"></a>

API Gateway에서 AWS CLI, API Gateway 콘솔 또는 API Gateway REST API 및 SDK를 사용하여 API를 생성, 배포 및 관리하는 경우 다음과 같이 고정된 할당량이 적용됩니다. 이러한 할당량은 늘릴 수 없습니다.


| 작업 | 기본 할당량 | 높일 수 있음 | 
| --- | --- | --- | 
| [CreateApiKey](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateApiKey.html) | 계정 한 개에 대해 초당 5개의 요청 | 아니요 | 
| [CreateDeployment](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateDeployment.html) | 계정 한 개에 대해 5초당 1개의 요청 | 아니요 | 
| [CreateDocumentationVersion](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateDocumentationVersion.html) | 계정 한 개에 대해 20초당 1개의 요청 | 아니요 | 
| [CreateDomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateDomainName.html) | 계정 한 개에 대해 30초당 1개의 요청 | 아니요 | 
| [CreateResource](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateResource.html) | 계정 한 개에 대해 초당 5개의 요청 | 아니요 | 
| 리전 또는 프라이빗 API용 [CreateRestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) | 계정 한 개에 대해 3초당 1개의 요청 | 아니요 | 
| 엣지 최적화 API용 [CreateRestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) | 계정 한 개에 대해 30초당 1개의 요청 | 아니요 | 
|  [CreateVpcLink](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/vpclinks.html#CreateVpcLink)(V2)  | 계정 한 개에 대해 15초당 1개의 요청 | 아니요 | 
| [DeleteApiKey](https://docs.aws.amazon.com/apigateway/latest/api/API_DeleteApiKey.html) | 계정 한 개에 대해 초당 5개의 요청 | 아니요 | 
| [DeleteDomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_DeleteDomainName.html) | 계정 한 개에 대해 30초당 1개의 요청 | 아니요 | 
| [DeleteResource](https://docs.aws.amazon.com/apigateway/latest/api/API_DeleteResource.html) | 계정 한 개에 대해 초당 5개의 요청 | 아니요 | 
| [DeleteRestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_DeleteRestApi.html) | 계정 한 개에 대해 30초당 1개의 요청 | 아니요 | 
| [GetResources](https://docs.aws.amazon.com/apigateway/latest/api/API_GetResources.html) | 계정 한 개에 대해 2초당 5개의 요청 | 아니요 | 
|  [DeleteVpcLink](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/vpclinks.html#DeleteVpcLink)(V2)  | 계정 한 개에 대해 30초당 1개의 요청 | 아니요 | 
| [ImportDocumentationParts](https://docs.aws.amazon.com/apigateway/latest/api/API_ImportDocumentationParts.html) | 계정 한 개에 대해 30초당 1개의 요청 | 아니요 | 
| 리전 또는 프라이빗 API용 [ImportRestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_ImportRestApi.html) | 계정 한 개에 대해 3초당 1개의 요청 | 아니요 | 
| 엣지 최적화 API용 [ImportRestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_ImportRestApi.html)  | 계정 한 개에 대해 30초당 1개의 요청 | 아니요 | 
| [PutRestApi](https://docs.aws.amazon.com/apigateway/latest/api/API_PutRestApi.html) | 계정 한 개에 대해 초당 1개의 요청 | 아니요 | 
| [UpdateAccount](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateAccount.html) | 계정 한 개에 대해 20초당 1개의 요청 | 아니요 | 
| [UpdateDomainName](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateDomainName.html) | 계정 한 개에 대해 30초당 1개의 요청 | 아니요 | 
| [UpdateUsagePlan](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateUsagePlan.html) | 계정 한 개에 대해 20초당 1개의 요청 | 아니요 | 
| 포털 생성 | 3초당 1개의 요청 | 아니요 | 
| 포털 업데이트 | 분당 요청 2개 | 아니요 | 
| 포털 가져오기 | 초당 10개의 요청 | 아니요 | 
| 포털 나열 | 초당 10개의 요청 | 아니요 | 
| 포털 게시 | 분당 요청 2개 | 아니요 | 
| DeletePortal | 분당 요청 2개 | 아니요 | 
| PreviewPortal | 3초당 1개의 요청 | 아니요 | 
| DisablePortal | 분당 요청 2개 | 아니요 | 
| GetPortalProduct | 초당 10개의 요청 | 아니요 | 
| ListPortalProduct | 1초당 5개의 요청 | 아니요 | 
| CreatePortalProduct | 초당 요청 2개 | 아니요 | 
| UpdatePortalProduct | 초당 0.5개의 요청 | 아니요 | 
| DeletePortalProduct | 1초당 1개의 요청 | 아니요 | 
| PutPortalProductSharingPolicy | 3초당 1개의 요청 | 아니요 | 
| GetPortalProductSharingPolicy | 초당 10개의 요청 | 아니요 | 
| DeletePortalProductSharingPolicy | 3초당 1개의 요청 | 아니요 | 
| CreateProductRestEndpointPage | 3초당 1개의 요청 | 아니요 | 
| GetProductRestEndpointPage | 초당 10개의 요청 | 아니요 | 
| UpdateProductRestEndpointPage | 3초당 1개의 요청 | 아니요 | 
| DeleteProductRestEndpointPage | 3초당 1개의 요청 | 아니요 | 
| ListProductRestEndpointPages | 초당 10개의 요청 | 아니요 | 
| CreateProductPage | 3초당 1개의 요청 | 아니요 | 
| GetProductPage | 초당 10개의 요청 | 아니요 | 
| UpdateProductPage | 3초당 1개의 요청 | 아니요 | 
| DeleteProductPage | 3초당 1개의 요청 | 아니요 | 
| ListProductPages | 초당 10개의 요청 | 아니요 | 
| 기타 작업 | 총 계정 할당량까지 할당량이 없습니다. | 아니요 | 
| 총 작업 | 초당 40개의 요청이 버스트 할당량인 초당 10개의 요청입니다. | 아니요 | 

# REST API 구성 및 실행에 대한 API Gateway 할당량
<a name="api-gateway-execution-service-limits-table"></a>

Amazon API Gateway에서의 REST API 구성 및 실행에는 다음 할당량이 적용됩니다. 할당량이 API별로 적용되는 경우, 계정의 모든 API가 아닌 특정 API에 대해서만 할당량을 늘릴 수 있습니다.

계정 수준 할당량에 대한 자세한 내용은 [Amazon API Gateway 할당량](limits.md) 섹션을 참조하세요.


| 리소스 또는 작업 | 기본 할당량 | 높일 수 있음 | 
| --- | --- | --- | 
| 리전별 계정당 퍼블릭 사용자 지정 도메인 이름 | 120 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-A93447B8) | 
| 리전별 계정당 프라이빗 사용자 지정 도메인 이름 | 50 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-24E7E662) | 
| 리전별 리전 API | 600 | 아니요 | 
| 리전별 엣지 최적화 API | 120 | 아니요 | 
| 리전별 계정당 프라이빗 API | 600 | 아니요 | 
| 계정당 도메인 이름 액세스 연결 | 100 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-4D98A8A5) | 
| 도메인별 멀티 레벨 API 매핑 | 200 | 아니요 | 
| 도메인당 라우팅 규칙 | 50 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-68B79FF0) | 
| 엣지 최적화된 API에 대한 URL의 길이(문자 수) | 8192 | 아니요 | 
| 리전 API에 대한 URL의 길이(문자 수) | 10240 | 아니요 | 
| 프라이빗 API에 대한 URL의 길이(문자 수) | 8192 | 아니요 | 
| API Gateway 리소스 정책의 길이(문자 수 단위) | 8192 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-8B81B02C) | 
| 리전별 계정당 API 키 | 10000 | 아니요 | 
| 리전별 계정당 클라이언트 인증서 | 60 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-824C9E42) | 
| API별 권한 부여자(AWS Lambda 및 Amazon Cognito) | 10 |  예 이 할당량을 늘리려면 [AWS Support Center](https://console.aws.amazon.com/support/home#/)에 문의하세요.  | 
| API당 설명서 부분 | 2000 |  예 이 할당량을 늘리려면 [AWS Support Center](https://console.aws.amazon.com/support/home#/)에 문의하세요.  | 
| API당 리소스 | 300 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-01C8A9E0) | 
| API당 단계 | 10 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-379E48B0) | 
| 단계별 단계 변수 | 100 | 아니요 | 
| 단계 변수의 키의 길이(문자 수) | 64 | 아니요 | 
| 단계 변수의 값의 길이(문자 수) | 512 | 아니요 | 
| 리전별 계정당 사용량 계획 | 300 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-E8693075) | 
| API 키당 사용량 계획 | 10 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-985EB478) | 
| 리전별 계정당 VPC 링크 | 20 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-A4C7274F) | 
| API 캐싱 TTL | 기본적으로 300초이고 API 소유자가 0\$13600으로 구성 가능합니다. | 상한용이 아님(3600) | 
| 캐싱된 응답 크기 | 1048576바이트 캐시 데이터 암호화는 캐싱되는 항목의 크기를 증가시킬 수 있습니다. | 아니요 | 
| 리전 API의 통합 제한 시간 | Lambda, Lambda 프록시, HTTP, HTTP 프록시 및 AWS 통합을 포함하는 모든 통합 유형의 경우, 50밀리초 - 29초. | [예 \$1](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-E5AE38E3) | 
| 엣지 최적화 API의 통합 제한 시간 | Lambda, Lambda 프록시, HTTP, HTTP 프록시 및 AWS 통합을 포함하는 모든 통합 유형의 경우, 50밀리초 - 29초. | 아니요 | 
| 프라이빗 API의 통합 제한 시간 | Lambda, Lambda 프록시, HTTP, HTTP 프록시 및 AWS 통합을 포함하는 모든 통합 유형의 경우, 50밀리초 - 29초. | [예 \$1](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-E5AE38E3) | 
| 헤더 이름, 값, 행 종결자(있는 경우) 및 공백을 포함한 모든 헤더 값의 총크기 | 10240바이트 | 아니요 | 
| 프라이빗 API의 경우 모든 헤더 값의 전체 결합 크기 | 8000바이트 | 아니요 | 
| 페이로드 크기 | 10MB | 아니요 | 
| 단계당 태그 수 | 50 | 아니요 | 
| 매핑 템플릿의 \$1foreach ... \$1end 루프의 반복 횟수 | 1000 | 아니요 | 
| 최대 매핑 템플릿 크기 | 300KB | 아니요 | 
| 액세스 로그 템플릿 크기 | 3KB | 아니요 | 
| 메서드 ARN 길이 | 1600바이트. 메서드에 경로 파라미터가 포함되어 있고 클라이언트가 ARN 길이를 초과하는 값을 사용하는 경우 API는 414 Request URI too long 응답을 반환합니다. | 아니요 | 
| 사용량 계획의 단계에 대한 메서드 수준 제한 설정 | 20 |  예 이 할당량을 늘리려면 [AWS Support Center](https://console.aws.amazon.com/support/home#/)에 문의하세요.  | 
| API당 모델 크기 | 400KB | 아니요 | 
| 트러스트 스토어에 있는 인증서 수 | 인증서 1,000개(총 개체 크기 최대 1MB) | 아니요 | 
| 유휴 연결 제한 시간 | 310초 | 아니요 | 
| [restapi:import](https://docs.aws.amazon.com/apigateway/latest/api/API_ImportRestApi.html) 또는 [restapi:put](https://docs.aws.amazon.com/apigateway/latest/api/API_PutRestApi.html) 사용 시 최대 API 정의 파일 크기 | 6MB | 아니요 | 

\$1 통합 제한 시간은 50밀리초 미만으로 설정할 수 없습니다. 통합 제한 시간을 29초가 넘도록 늘릴 수 있지만, 이렇게 하려면 계정의 리전 수준 스로틀링 할당량을 줄여야 할 수 있습니다.

## 할당량 감소를 위한 모범 사례
<a name="api-gateway-execution-service-limits-best-practices"></a>

다음 모범 사례는 현재 리소스를 줄여 할당량 증가를 방지하는 데 도움이 될 수 있습니다. 이러한 제안 사항이 해당 API 아키텍처에 적합한지 확인하세요.

**리전당 API**  
리전당 API 수를 줄이기 위해 사용하지 않는 API를 모두 내보낸 다음 API Gateway에서 삭제합니다. 자세한 내용은 [API Gateway에서 REST API 내보내기](api-gateway-export-api.md) 섹션을 참조하세요.

**API당 단계**  
API당 스테이지 수를 줄이기 위해 API를 여러 개의 API로 분할합니다.

**API당 리소스**  
`{proxy+}` 경로를 사용하여 리소스 수를 줄입니다. 자세한 내용은 [프록시 리소스를 사용하여 프록시 통합 설정](api-gateway-set-up-simple-proxy.md) 섹션을 참조하세요.

**API 매핑**  
사용자 지정 도메인 이름에 대한 API 매핑 수를 줄이기 위해 `/prod`와 같은 단일 수준의 API 매핑을 사용합니다. 단일 수준의 API 매핑은 API 매핑 할당량에 포함되지 않습니다.

**API별 권한 부여자**  
API당 권한 부여자 수를 줄이기 위해 API 메서드에서 권한 부여자를 재사용합니다.

**API당 설명서 부분**  
API당 설명서 부분 수를 줄이기 위해 API를 가져올 때 `ignore=documentation`을 사용합니다. 자세한 내용은 [API 설명서 가져오기](api-gateway-documenting-api-quick-start-import-export.md) 섹션을 참조하세요.  
콘텐츠 상속을 사용하여 일부 설명서 부분이 보다 일반적인 사양의 API 엔터티에서 콘텐츠를 상속하도록 허용할 수도 있습니다. 자세한 내용은 [API Gateway에 API 설명서 표시](api-gateway-documenting-api-content-representation.md) 섹션을 참조하세요.

**API Gateway 리소스 정책의 길이(문자 수 단위)**  
리소스 정책의 길이를 줄이기 위해 AWS WAFV2를 사용하여 API를 보호합니다. 자세한 내용은 [API Gateway에서 AWS WAF를 사용하여 REST API 보호](apigateway-control-access-aws-waf.md) 섹션을 참조하세요.  
정책에 IP 주소가 포함된 경우 특정 값 대신 범위를 사용하여 IP 주소를 정의할 수도 있습니다.

**API 키당 사용량 계획**  
API 키당 사용량 계획 수를 줄이기 위해 사용량 계획당 하나의 API 키를 사용하고 사용량 계획을 여러 API에 연결합니다. 여러 사용량 계획에서 하나의 API 키를 공유하지 않는 것이 좋습니다.

# HTTP API 구성 및 실행에 대한 API Gateway 할당량
<a name="http-api-quotas"></a>

Amazon API Gateway에서의 HTTP API 구성 및 실행에는 다음 할당량이 적용됩니다. 할당량이 API별로 적용되는 경우, 계정의 모든 API가 아닌 특정 API에 대해서만 할당량을 늘릴 수 있습니다. 계정 수준 할당량에 대한 자세한 내용은 [Amazon API Gateway 할당량](limits.md) 섹션을 참조하세요.


| 리소스 또는 작업 | 기본 할당량 | 높일 수 있음 | 
| --- | --- | --- | 
| API당 라우팅 | 300 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-01C8A9E0) | 
| API당 통합 수 | 300 | 아니요 | 
| 최대 통합 제한 시간 | 30초 | 아니요 | 
| API당 단계 | 10 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-379E48B0) | 
| 도메인별 멀티 레벨 API 매핑 | 200개 API 매핑. 이 제한에는 /prod와 같은 단일 수준의 API 매핑은 포함되지 않습니다. | 아니요 | 
| 단계당 태그 수  | 50 | 아니요 | 
| 요청 라인 및 헤더 값의 총 결합 크기 | 10,240바이트 | 아니요 | 
| 페이로드 크기 | 10MB | 아니요 | 
| 리전별 계정당 사용자 지정 도메인 | 120 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-A93447B8) | 
| 액세스 로그 템플릿 크기  | 3KB | 아니요 | 
| Amazon CloudWatch Logs 로그 항목  | 1MB | 아니요 | 
| API별 권한 부여자  | 10 |  예 이 할당량을 늘리려면 [AWS Support Center](https://console.aws.amazon.com/support/home#/)에 문의하세요.  | 
| 권한 부여자별 대상 그룹  | 50 | 아니요 | 
| 경로별 범위  | 10 | 아니요 | 
| JSON Web Key Set 엔드포인트에 대한 제한 시간  | 1500ms | 아니요 | 
| JSON Web Key Set 엔드포인트의 응답 크기 | 150000바이트 | 아니요 | 
| OpenID Connect 검색 엔드포인트에 대한 제한 시간  | 1500ms | 아니요 | 
| Lambda 권한 부여자 응답 시간 제한 | 10,000ms | 아니요 | 
| 리전별 계정당 VPC 링크 | 10 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-608BDCD4) | 
| VPC 링크당 서브넷  | 10 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-668C9B28) | 
| 단계별 단계 변수 | 100 | 아니요 | 
| 단계 변수의 키의 길이(문자 수) | 64 | 아니요 | 
| 단계 변수의 값의 길이(문자 수) | 512 | 아니요 | 

## 할당량 감소를 위한 모범 사례
<a name="http-api-quotas-best-practices"></a>

다음 모범 사례는 현재 리소스를 줄여 할당량 증가를 방지하는 데 도움이 될 수 있습니다. 이러한 제안 사항이 해당 API 아키텍처에 적합한지 확인하세요.

**리전당 API**  
리전당 API 수를 줄이기 위해 사용하지 않는 API를 모두 내보낸 다음 API Gateway에서 삭제합니다. 자세한 내용은 [API Gateway에서 HTTP API 내보내기](http-api-export.md) 섹션을 참조하세요.

**API당 단계**  
API당 스테이지 수를 줄이기 위해 API를 여러 개의 API로 분할합니다.

**API별 권한 부여자**  
API당 권한 부여자 수를 줄이기 위해 API 메서드에서 권한 부여자를 재사용합니다.

# API Gateway에서 포털을 구성하기 위한 할당량
<a name="api-gateway-portal-quotas"></a>

다음 할당량은 API Gateway에서 포털을 생성할 때 적용됩니다. 자세한 내용은 [API Gateway 포털](apigateway-portals.md) 섹션을 참조하세요.


| 리소스 또는 작업 | 기본 할당량 | 높일 수 있음 | 
| --- | --- | --- | 
| 계정당 포털 | 15 | 예 | 
| 포털당 포털 제품 | 200 | 예 | 
| 계정당 포털 제품 | 2000 | 예 | 
| 포털 제품당 제품 REST 엔드포인트 페이지 | 40 | 예 | 
| 포털 제품당 제품 페이지 | 40 | 예 | 
| 로고 크기 | 200KB | 아니요 | 
| 제품 REST 엔드포인트 페이지당 설명서 페이지 크기 | 32,000 자 | 아니요 | 
| 제품 페이지의 사용자 지정 페이지 크기 | 32,000 자 | 아니요 | 
| 포털당 사용자 지정 도메인 이름 | 1 | 아니요 | 
| 포털당 권한 부여자 | 1 | 아니요 | 

# WebSocket 구성 및 실행에 대한 API Gateway 할당량
<a name="apigateway-execution-service-websocket-limits-table"></a>

Amazon API Gateway에서의 WebSocket API 구성 및 실행에는 다음 할당량이 적용됩니다. 할당량이 API별로 적용되는 경우, 계정의 모든 API가 아닌 특정 API에 대해서만 할당량을 늘릴 수 있습니다. 계정 수준 할당량에 대한 자세한 내용은 [Amazon API Gateway 할당량](limits.md) 섹션을 참조하세요.


| 리소스 또는 작업 | 기본 할당량 | 높일 수 있음 | 
| --- | --- | --- | 
| 리전별 계정당 초당 새 연결 수(모든 WebSocket API에서) | 500 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-9ED1E49A) | 
| 동시 연결 | 해당 사항 없음 \$1 | 해당 사항 없음 | 
| AWS LambdaAPI별 권한 부여자 | 10 |  예 이 할당량을 늘리려면 [AWS Support Center](https://console.aws.amazon.com/support/home#/)에 문의하세요.  | 
| AWS Lambda 권한 부여자 결과 크기 | 8KB | 아니요 | 
| API당 라우팅 | 300 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-01C8A9E0) | 
| API당 통합 수 | 300 |  예 이 할당량을 늘리려면 [AWS Support Center](https://console.aws.amazon.com/support/home#/)에 문의하세요.  | 
| 통합 시간제한 | Lambda, Lambda 프록시, HTTP, HTTP 프록시 및 AWS 통합을 포함하는 모든 통합 유형의 경우, 50밀리초 - 29초. | 아니요 | 
| API당 단계 | 10 | [예](https://console.aws.amazon.com/servicequotas/home/services/apigateway/quotas/L-379E48B0) | 
| WebSocket 프레임 크기 | 32KB | 아니요 | 
| 페이로드 크기 관리 | 128KB \$1\$1 | 아니요 | 
| 최대 매핑 템플릿 크기 | 300KB | 아니요 | 
| WebSocket API 연결 기간 | 2시간 | 아니요 | 
| 유휴 연결 제한 시간 | 10분 | 아니요 | 
| WebSocket API에 대한 URL의 길이(문자 수) | 4096 | 아니요 | 
| 액세스 로그 템플릿 크기 | 3KB | 아니요 | 

\$1 API Gateway는 동시 연결에 할당량을 적용하지 않습니다. 최대 동시 연결 수는 초당 새 연결 속도와 최대 연결 지속 시간(2시간)에 의해 결정됩니다. 예를 들어 기본 할당량이 초당 500개의 새 연결인 경우 클라이언트가 2시간에 걸쳐 최대 속도로 연결하는 경우 API Gateway는 최대 3,600,000개의 동시 연결을 제공할 수 있습니다.

\$1\$1 WebSocket 프레임 크기 할당량이 32KB이기 때문에 32KB를 초과하는 메시지는 32KB 이하의 여러 프레임으로 분할되어야 합니다. 이는 `@connections` 명령에 적용됩니다. 큰 메시지(또는 큰 프레임 크기)가 수신되면 코드 1009와 함께 연결이 해제됩니다.

# Amazon API Gateway 중요 정보
<a name="api-gateway-known-issues"></a>

다음 섹션에서는 API Gateway 사용에 영향을 줄 수 있는 참고 사항에 대해 자세히 설명합니다.

**Topics**
+ [Amazon API Gateway의 HTTP API 중요 정보](#api-gateway-known-issues-http-apis)
+ [Amazon API Gateway의 HTTP 및 WebSocket API 중요 정보](#api-gateway-known-issues-http-and-websocket-apis)
+ [Amazon API Gateway의 REST 및 WebSocket API 중요 정보](#api-gateway-known-issues-rest-and-websocket-apis)
+ [Amazon API Gateway의 WebSocket API 중요 정보](#api-gateway-known-issues-websocket-apis)
+ [Amazon API Gateway의 REST API 중요 정보](#api-gateway-known-issues-rest-apis)

## Amazon API Gateway의 HTTP API 중요 정보
<a name="api-gateway-known-issues-http-apis"></a>
+ HTTP API는 들어오는 `X-Forwarded-*` 헤더를 표준 `Forwarded` 헤더로 변환하고 송신 IP, 호스트 및 프로토콜을 추가합니다.
+ API Gateway는 페이로드가 없고 콘텐츠 길이가 0인 경우 콘텐츠 유형 헤더를 요청에 추가합니다.

## Amazon API Gateway의 HTTP 및 WebSocket API 중요 정보
<a name="api-gateway-known-issues-http-and-websocket-apis"></a>
+ Amazon API Gateway는 HTTP 및 WebSocket API에 Signature Version 4A를 공식적으로 지원하지 않습니다.

## Amazon API Gateway의 REST 및 WebSocket API 중요 정보
<a name="api-gateway-known-issues-rest-and-websocket-apis"></a>
+ API Gateway는 REST 및 WebSocket API에서 사용자 지정 도메인 이름 공유를 지원하지 않습니다.
+ 단계 이름에는 영숫자, 하이픈, 밑줄만 사용할 수 있습니다. 최대 길이는 128자입니다.
+ `/ping` 및 `/sping` 경로가 서비스 상태 확인을 위해 예약되어 있습니다. 사용자 지정 도메인이 있는 API 루트 수준의 리소스에서 이를 사용하면 정상적인 결과가 나오지 않습니다.
+ API Gateway는 현재 로그 이벤트를 1,024바이트로 제한합니다. 요청 및 응답 본문과 같이 1,024바이트가 넘는 로그 이벤트는 CloudWatch Logs에 제출되기 전에 API Gateway에서 잘립니다.
+ CloudWatch 지표는 현재 차원 이름 및 값을 유효한 XML 문자 255자로 제한합니다. (자세한 내용은 [CloudWatch 사용 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension)를 참조하세요.) 차원 값은 API 이름, 레이블(스테이지) 이름 및 리소스 이름을 포함하여 사용자가 정의한 이름의 함수입니다. 이 이름을 선택할 때는 CloudWatch 지표 제한을 초과하지 않도록 주의하세요.
+ 매핑 템플릿의 최대 크기는 300KB입니다.

## Amazon API Gateway의 WebSocket API 중요 정보
<a name="api-gateway-known-issues-websocket-apis"></a>
+ API Gateway는 최대 128KB의 메시지 페이로드를 지원하며 최대 프레임 크기는 32KB입니다. 메시지가 32KB를 초과하면 32KB 이하의 여러 프레임으로 분할해야 합니다. 이보다 더 큰 메시지가 수신되면 코드 1009와 함께 연결이 해제됩니다.

## Amazon API Gateway의 REST API 중요 정보
<a name="api-gateway-known-issues-rest-apis"></a>
+ 임의의 요청 URL 쿼리 문자열에 대해서는 일반 텍스트 파이프 문자(`|`) 및 중괄호 문자(`{` 또는 `}`)가 지원되지 않으며 URL 인코딩되어야 합니다.
+ 임의의 요청 URL 쿼리 문자열에 대해서는 세미콜론 문자(`;`)가 지원되지 않으며 세미콜론 문자를 사용할 경우 데이터가 분할됩니다.
+ REST API는 URL 인코딩 요청 파라미터를 백엔드 통합에 전달하기 전에 디코딩합니다. UTF-8 요청 파라미터의 경우 REST API는 파라미터를 디코딩한 다음 이를 유니코드로 백엔드 통합에 전달합니다. REST API는 백엔드 통합에 전달하기 전에 백분율 문자(`%`)를 URL 인코딩합니다.
+ API Gateway 콘솔을 사용하여 API를 테스트할 때 자체 서명된 인증서를 백엔드에 제시하거나, 인증서 체인에서 중간 인증서가 누락되었거나, 기타 확인되지 않은 인증서 관련 예외가 백엔드에서 발생하는 경우 "알 수 없는 엔드포인트 오류" 응답을 받을 수 있습니다.
+ 프라이빗 통합이 포함된 API [https://docs.aws.amazon.com/apigateway/latest/api/API_Resource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_Resource.html) 또는 [https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) 엔터티의 경우, [https://docs.aws.amazon.com/apigateway/latest/api/API_VpcLink.html](https://docs.aws.amazon.com/apigateway/latest/api/API_VpcLink.html)의 하드 코딩된 참조를 모두 제거한 후 삭제해야 합니다. 그러지 않으면 현수 통합이 되고, `Resource` 또는 `Method` 엔터티가 삭제되어도 VPC 링크가 여전히 사용 중이라고 하는 오류를 수신하게 됩니다. 이 동작은 프라이빗 통합이 단계 변수를 통해 `VpcLink`를 참조할 때는 적용되지 않습니다.
+ 다음 백엔드에서는 API Gateway와 호환되는 방식으로 SSL 클라이언트 인증을 지원하지 않을 수 있습니다.
  + [NGINX](https://nginx.org/en/)
  +  [Heroku](https://www.heroku.com/)
+ API Gateway는 대부분의 [OpenAPI 2.0 사양](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md) 및 [OpenAPI 3.0 사양](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.1.md)을 지원하며, 다음은 예외입니다.
  + 경로 세그먼트에는 영숫자, 밑줄, 하이픈, 점, 쉼표, 콜론, 중괄호만 사용할 수 있습니다. 경로 파라미터는 별도의 경로 세그먼트여야 합니다. 예를 들어 "resource/\$1path\$1parameter\$1name\$1"은 유효하지만, "resource\$1path\$1parameter\$1name\$1"은 유효하지 않습니다.
  + 모델 이름에는 영숫자만 사용할 수 있습니다.
  + 파라미터 입력에는 다음과 같은 속성만 지원됩니다.`name` ,`in` ,`required` ,`type` ,`description` 다른 속성은 무시됩니다.
  + `securitySchemes` 유형을 사용할 경우 `apiKey`여야 합니다. 하지만 OAuth 2 및 HTTP 기본 인증은 [Lambda 권한 부여자](apigateway-use-lambda-authorizer.md)를 통해 지원되고, OpenAPI 구성은 [공급자 확장 기능](api-gateway-swagger-extensions-authorizer.md)을 통해 가능합니다.
  + `deprecated` 필드는 지원되지 않으며 내보낸 API에서 제거됩니다.
  + API Gateway 모델은 OpenAPI가 사용하는 JSON 대신 [JSON 스키마 draft 4](https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-04)를 사용하여 정의합니다.
  + 스키마 객체에서 `discriminator` 파라미터는 지원되지 않습니다.
  + `example` 태그는 지원되지 않습니다.
  + `nullable` 필드는 지원되지 않습니다.
  + `exclusiveMinimum`은 API Gateway에서 지원되지 않습니다.
  + `maxItems` 및 `minItems` 태그는 [단순 요청 확인](api-gateway-method-request-validation.md)에 포함되지 않습니다. 이 문제를 해결하려면 확인을 수행하기 전에 가져온 후 업데이트합니다.
  + OpenAPI 3.0의 경우 동일한 스키마 내의 정의에 대한 `$ref`를 사용하는 `oneOf`, `anyOf` 또는 `allOf`가 있을 수 없습니다. 스키마를 직접 입력하거나 별도의 API Gateway 모델 리소스를 정의할 수 있습니다. 자세한 내용은 [더 복잡한 모델 생성](models-mappings-models.md#api-gateway-request-validation-model-more-complex) 섹션을 참조하세요.
  + `oneOf`는 OpenAPI 2.0 또는 SDK 생성에서 지원되지 않습니다.
  + `readOnly` 필드는 지원되지 않습니다.
  + `$ref`는 다른 파일을 참조하는 데 사용할 수 없습니다.
  + OpenAPI 문서 루트에서는 `"500": {"$ref": "#/responses/UnexpectedError"}` 형식의 응답 정의를 사용할 수 없습니다. 이 문제를 해결하려면 참조를 인라인 스키마로 바꿉니다.
  + `Int32` 또는 `Int64` 유형의 숫자는 지원되지 않습니다. 예를 들면 다음과 같습니다.

    ```
    "elementId": {
        "description": "Working Element Id",
        "format": "int32",
        "type": "number"
    }
    ```
  + 10진수 형식 유형(`"format": "decimal"`)은 스키마 정의에서 지원되지 않습니다.
  + 메서드 응답에서 스키마 정의는 객체 유형이어야 하며 기본 유형일 수 없습니다. 예를 들어 `"schema": { "type": "string"}`은 지원되지 않습니다. 그러나 다음 객체 유형을 사용하여 이 문제를 해결할 수 있습니다.

    ```
    "schema": {
         "$ref": "#/definitions/StringResponse"
                }
    
     "definitions": {
        "StringResponse": {
          "type": "string"
        }
      }
    ```
  + API Gateway는 OpenAPI 사양에 정의된 루트 수준 보안을 사용하지 않습니다. 따라서 보안은 적절하게 적용될 수 있는 운영 수준에서 정의되어야 합니다.
  + `default` 키워드는 지원되지 않습니다.
+ API Gateway는 Lambda 통합 또는 HTTP 통합으로 메서드를 처리할 때 다음과 같은 제한 및 제약을 적용합니다.
  + 헤더 이름과 쿼리 파라미터는 대/소문자를 구분하여 처리합니다.
  + 다음 표에는 통합 엔드포인트로 헤더를 전송하거나 통합 엔드포인트에서 이를 다시 전송하는 경우, 끊기거나 다시 매핑되거나 수정될 수 있는 헤더가 나열됩니다. 이 표에서
    + `Remapped`은 헤더 이름이 `<string>`에서 `X-Amzn-Remapped-<string>`으로 변경됨을 의미합니다.

      `Remapped Overwritten`은 헤더 이름이 `<string>`에서 `X-Amzn-Remapped-<string>`으로 변경됨을 의미합니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/api-gateway-known-issues.html)

    \$1 [서명 버전 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) 서명이 포함되어 있거나 `AWS_IAM` 권한 부여가 사용되는 경우 `Authorization` 헤더는 삭제됩니다.
+ API Gateway에서 생성된 API의 Android SDK는 `java.net.HttpURLConnection` 클래스를 사용합니다. Android 4.4 이전을 실행하는 장치에서 이 클래스는 `WWW-Authenticate` 헤더를 `X-Amzn-Remapped-WWW-Authenticate`에 다시 매핑하여 나온 401 응답에 대해 처리되지 않은 예외를 발생시킵니다.
+  API Gateway에서 생성한 Java, Android 및 API의 iOS SDK와 달리, API Gateway에서 생성한 API의 JavaScript SDK는 500 수준 오류에 대한 재시도를 지원하지 않습니다.
+  메서드의 테스트 호출은 `application/json`의 기본 콘텐츠 유형을 사용하며 다른 콘텐츠 유형의 사양을 무시합니다.
+ `X-HTTP-Method-Override` 헤더를 전달하여 API에 요청을 보낼 때 API Gateway는 메서드를 재정의합니다. 따라서 헤더를 백엔드에 전달하려면 헤더를 통합 요청에 추가해야 합니다.
+  요청의 `Accept` 헤더에 여러 미디어 유형이 포함되어 있는 경우 API Gateway에서는 첫 번째 `Accept` 미디어 유형만 인식합니다. `Accept` 미디어 유형의 순서를 제어할 수 없고 이진 콘텐츠의 미디어 유형이 목록의 맨 앞에 있지 않은 경우 API의 `Accept` 목록에서 첫 번째 `binaryMediaTypes` 미디어 유형을 추가할 수 있습니다. 그러면 API Gateway에서 콘텐츠를 이진 유형으로 반환합니다. 예를 들어 브라우저에서 `<img>` 요소를 사용하여 JPEG 파일을 보내려는 경우 브라우저에서 요청에 `Accept:image/webp,image/*,*/*;q=0.8`을 전송할 수 있습니다. `image/webp`를 `binaryMediaTypes` 목록에 추가하여 엔드포인트에서 JPEG 파일을 이진 유형으로 수신합니다.
+ `413 REQUEST_TOO_LARGE`에 대한 기본 게이트웨이 응답 사용자 지정은 현재 지원되지 않습니다.
+ API Gateway에는 모든 통합 응답에 대한 `Content-Type` 헤더가 포함되어 있습니다. 기본적으로 콘텐츠 유형은 `application/json`입니다.