

# 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)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [リージョン別](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-regional)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | 
|  [ Private](api-gateway-api-endpoint-types.md#api-gateway-api-endpoint-types-private)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 

## セキュリティ
<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)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](rest-api-mutual-tls.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-mutual-tls.md)  | 
|  [バックエンド認証用の証明書](getting-started-client-side-ssl-authentication.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [AWS WAF](apigateway-control-access-aws-waf.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 

## 認可
<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)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](permissions.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-access-control-iam.md)  | 
|  [リソースポリシー](apigateway-resource-policies.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ   | 
|  [Amazon Cognito](apigateway-integrate-with-cognito.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg)はい 1  | 
|  [AWS Lambda 関数を使用したカスタム認可](apigateway-use-lambda-authorizer.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](apigateway-use-lambda-authorizer.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-lambda-authorizer.md)  | 
|  [JSON ウェブトークン (JWT)](http-api-jwt-authorizer.md) 2  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | 

1 Amazon Cognito は [JWT オーソライザー](http-api-jwt-authorizer.md)と共に使用できます。

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)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](how-to-custom-domains.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-custom-domain-names.md)  | 
|  [API キー](api-gateway-api-usage-plans.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [クライアントごとのレート制限](api-gateway-request-throttling.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [クライアントごとの使用量調整](api-gateway-api-usage-plans.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [デベロッパーポータル](apigateway-portals.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 

## 開発
<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)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](how-to-cors.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-cors.md)  | 
|  [テスト呼び出し](how-to-test-method.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [キャッシュ](api-gateway-caching.md):  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [ユーザー制御のデプロイ](how-to-deploy-api.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](how-to-deploy-api.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-stages.md)  | 
|  [自動デプロイ](http-api-stages.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | 
|  [カスタムゲートウェイレスポンス](api-gateway-gatewayResponse-definition.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [Canary リリースのデプロイ](canary-release.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [リクエストの検証](api-gateway-method-request-validation.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [リクエストパラメータ変換](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-parameter-mapping.md)  | 
|  [リクエスト本文変換](rest-api-data-transformations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 

## モニタリング
<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)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](monitoring-cloudwatch.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-metrics.md)  | 
|  [CloudWatch Logs へのアクセスログ](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-logging.md)  | 
|  [Amazon Data Firehose へのアクセスログ](apigateway-logging-to-kinesis.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [実行ログ](set-up-logging.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [AWS X-Ray トレース](apigateway-xray.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 

## 統合
<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)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](setup-http-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-develop-integrations-http.md)  | 
|  [AWS のサービス](api-gateway-api-integration-types.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](api-gateway-api-integration-types.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-develop-integrations-aws-services.md)  | 
|  [AWS Lambda 関数](set-up-lambda-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](set-up-lambda-integrations.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-develop-integrations-lambda.md)  | 
|  [Network Load Balancer とのプライベート統合](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](http-api-develop-integrations-private.md)  | 
|  [Application Load Balancer とのプライベート統合](http-api-develop-integrations-private.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) [はい](set-up-private-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | 
|  [ とのプライベート統合AWS Cloud Map](http-api-develop-integrations-private.md)  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ   |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | 
|  [Mock 統合](how-to-mock-integration.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 
|  [レスポンスストリーミング](response-transfer-mode.md)  |  ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/success_icon.svg) はい  | ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/negative_icon.svg) いいえ  | 