

# REST API와 HTTP API 중에서 선택
<a name="http-api-vs-rest"></a>

REST API와 HTTP API는 모두 RESTful API 제품입니다. REST API는 HTTP API보다 더 많은 기능을 지원하지만 HTTP API는 최소한의 기능으로 설계되어 더 낮은 가격으로 제공될 수 있습니다. API 키, 클라이언트별 제한, 요청 검증, AWS WAF 통합 또는 프라이빗 API 엔드포인트와 같은 기능이 필요한 경우 REST API를 선택합니다. REST API에 포함된 기능이 필요하지 않은 경우 HTTP API를 선택합니다.

다음 섹션에는 REST API 및 HTTP API에서 사용할 수 있는 핵심 기능이 요약되어 있습니다. 필요한 경우 API Gateway 개발자 안내서의 REST API와 HTTP API 섹션을 탐색할 수 있는 추가 링크가 제공됩니다.

## 엔드포인트 유형
<a name="http-api-vs-rest.differences.endpoint-type"></a>

엔드포인트 유형은 API Gateway가 API용으로 생성하는 엔드포인트를 나타냅니다. 자세한 내용은 [API Gateway의 REST API에 대한 API 엔드포인트 유형](api-gateway-api-endpoint-types.md) 섹션을 참조하세요.


| 엔드포인트 유형 | REST API | HTTP API | 
| --- | --- | --- | 
| [엣지 최적화](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-edge-optimized) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [리전](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-regional) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | 
| [ 프라이빗](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-private) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 

## 보안
<a name="http-api-vs-rest.differences.security"></a>

API Gateway는 악의적 행위자나 트래픽 스파이크 같은 특정 위협으로부터 API를 보호할 수 있는 여러 가지 방법을 제공합니다. 자세한 내용은 [API Gateway에서 REST API 보호](rest-api-protect.md) 및 [API Gateway에서 HTTP API 보호](http-api-protect.md) 섹션을 참조하세요.


| 보안 기능 | REST API | HTTP API | 
| --- | --- | --- | 
| [상호 TLS 인증](rest-api-mutual-tls.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](rest-api-mutual-tls.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-mutual-tls.md) | 
| [백엔드 인증을 위한 인증서](getting-started-client-side-ssl-authentication.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [AWS WAF](apigateway-control-access-aws-waf.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 

## 승인
<a name="http-api-vs-rest.differences.authorization"></a>

API Gateway는 API 액세스 제어 및 관리에 다중 메커니즘을 지원합니다. 자세한 내용은 [API Gateway에서 REST API에 대한 액세스 제어 및 관리](apigateway-control-access-to-api.md) 및 [API Gateway에서 HTTP API에 대한 액세스 제어 및 관리](http-api-access-control.md)(을)를 참조하세요.


| 권한 부여 옵션 | REST API | HTTP API | 
| --- | --- | --- | 
| [(IAM](permissions.md)) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](permissions.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-access-control-iam.md) | 
| [리소스 정책](apigateway-resource-policies.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요<br /> | 
| [Amazon Cognito](apigateway-integrate-with-cognito.md). | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 1 | 
| [AWS Lambda 함수를 사용한 사용자 지정 권한 부여](apigateway-use-lambda-authorizer.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](apigateway-use-lambda-authorizer.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-lambda-authorizer.md) | 
| [JWT(JSON Web Token)](http-api-jwt-authorizer.md) 2 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | 

1 [JWT 권한 부여자](http-api-jwt-authorizer.md)와 함께 Amazon Cognito를 사용할 수 있습니다.

2 [Lambda 권한 부여자](apigateway-use-lambda-authorizer.md)를 사용하여 REST API용 JWT를 검증할 수 있습니다.

## API 관리
<a name="http-api-vs-rest.differences.management"></a>

API 키 및 클라이언트별 속도 제한과 같은 API 관리 기능이 필요한 경우 REST API를 선택합니다. 자세한 내용은 [API Gateway에서 REST API를 클라이언트에 배포](rest-api-distribute.md), [API Gateway의 퍼블릭 REST API에 대한 사용자 지정 도메인 이름](how-to-custom-domains.md), [API Gateway의 HTTP API에 대한 사용자 지정 도메인 이름](http-api-custom-domain-names.md) 섹션을 참조하세요.


| 특성 | REST API | HTTP API | 
| --- | --- | --- | 
| [사용자 지정 도메인](how-to-custom-domains.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](how-to-custom-domains.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-custom-domain-names.md) | 
| [API 키](api-gateway-api-usage-plans.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [클라이언트별 속도 제한](api-gateway-request-throttling.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [클라이언트별 사용 제한](api-gateway-api-usage-plans.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [개발자 포털](apigateway-portals.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 

## 개발
<a name="http-api-vs-rest.differences.development"></a>

API Gateway API를 개발할 때 API의 여러 특성을 결정합니다. 이러한 특성은 API의 사용 사례에 따라 달라집니다. 자세한 내용은 [API Gateway에서 REST API 개발](rest-api-develop.md) 및 [API Gateway에서 HTTP API 개발](http-api-develop.md) 단원을 참조하세요.


| 특성 | REST API | HTTP API | 
| --- | --- | --- | 
| [CORS 구성](how-to-cors.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](how-to-cors.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-cors.md) | 
| [테스트 호출](how-to-test-method.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [캐싱](api-gateway-caching.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [사용자 제어 배포](how-to-deploy-api.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](how-to-deploy-api.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-stages.md) | 
| [자동 배포](http-api-stages.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | 
| [사용자 지정 게이트웨이 응답](api-gateway-gatewayResponse-definition.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [Canary 릴리스 배포](canary-release.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [요청 검증](api-gateway-method-request-validation.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [요청 파라미터 변환](rest-api-data-transformations.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](rest-api-data-transformations.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-parameter-mapping.md) | 
| [요청 본문 변환](rest-api-data-transformations.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 

## 모니터링
<a name="http-api-vs-rest.differences.monitoring"></a>

API Gateway는 API 요청을 로그하고 API를 모니터링하는 몇 가지 옵션을 지원합니다. 자세한 내용은 [API Gateway에서 REST API 모니터링](rest-api-monitor.md) 및 [API Gateway에서 HTTP API 모니터링](http-api-monitor.md)(을)를 참조하세요.


| 기능 | REST API | HTTP API | 
| --- | --- | --- | 
| [Amazon CloudWatch 지표](monitoring-cloudwatch.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](monitoring-cloudwatch.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-metrics.md) | 
| [CloudWatch Logs에 대한 액세스 로그](set-up-logging.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](set-up-logging.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-logging.md) | 
| [Amazon Data Firehose에 대한 액세스 로그](apigateway-logging-to-kinesis.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [실행 로그](set-up-logging.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [AWS X-Ray 추적](apigateway-xray.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 

## 통합
<a name="http-api-vs-rest.differences.integrations"></a>

통합 기능은 API Gateway API를 백엔드 리소스에 연결합니다. 자세한 내용은 [API Gateway에서 REST API 통합](how-to-integration-settings.md) 및 [API Gateway에서 HTTP API 통합 생성](http-api-develop-integrations.md)(을)를 참조하세요.


| 기능 | REST API | HTTP API | 
| --- | --- | --- | 
| [퍼블릭 HTTP 엔드포인트](setup-http-integrations.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](setup-http-integrations.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-develop-integrations-http.md) | 
| [AWS 서비스](api-gateway-api-integration-types.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](api-gateway-api-integration-types.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-develop-integrations-aws-services.md) | 
| [AWS Lambda 함수](set-up-lambda-integrations.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](set-up-lambda-integrations.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-develop-integrations-lambda.md) | 
| [Network Load Balancer와의 프라이빗 통합](set-up-private-integration.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](set-up-private-integration.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](http-api-develop-integrations-private.md) | 
| [Application Load Balancer와의 프라이빗 통합](http-api-develop-integrations-private.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) [예](set-up-private-integration.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | 
| [와의 프라이빗 통합AWS Cloud Map](http-api-develop-integrations-private.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요<br /> | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | 
| [모의 통합](how-to-mock-integration.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 
| [응답 스트리밍](response-transfer-mode.md) | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/success_icon.png) 예 | ![](http://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/images/negative_icon.png) 아니요 | 