亀のコツコツクラウドインフラ

2025年2月4日

API Gatewayとは?特徴・それぞれのAPIについて初心者向けに解説!

はじめに

まず、API GatewayはAWSリソースを使用してAPIをサーバーを作らず(以下:サーバレス)、作成することができます。

以下のような方におすすめの内容です。

  • サーバレスに興味がある
  • AWS認定の勉強をしている

この記事を参考にすることで、AWS Gatewayで作成できるAPIはどのようなものか知ることができます。

基本的なAPI Gatewayの設定手順を知りたい方は、以下の記事を参考にしてください。

API Gateway×LambdaでREST APIを構築する方法を解説!

API Gatewayとは

API Gatewayは、クライアント(ユーザーやアプリケーション)とバックエンドサービスの間でリクエストとレスポンスを仲介するサービスです。

これを利用することで、サーバレスかつスケーラブル(拡張性のある)なAPIを構築できます。

主な特徴

  • サーバレス: インフラ管理不要で運用コストを削減
  • スケーラビリティ: トラフィックの急増にも柔軟に対応可能
  • セキュリティ: IAMや認証機能を活用して安全なAPIを提供
  • 多様なAPIタイプ: REST API、HTTP API、WebSocket APIをサポート

例えばモバイルアプリがAPI Gatewayを通してデータベースにアクセスしたり、Lambda関数を呼び出すことができます。

REST APIとは

REST APIは、API Gatewayが提供する標準的なAPIタイプで、HTTPリクエストを使ってクライアントとサーバーがデータをやり取りする仕組みです。

GETやPOST、PUT、DELETEといったHTTPメソッドを活用し、リクエストの種類によって操作内容が変わるのが特徴です。

機能が多く、キャッシュの設定やトラフィック管理、APIキーを使った認証といった高度な操作もサポートしています。

マイクロサービス間の通信やユーザー管理といった幅広い分野利用されています。

HTTP APIとは

HTTP APIは、REST APIを軽量化した設計で、シンプルなAPI用途に特化しています。特に、レイテンシを抑えて高速に処理を行うことが求められるケースで使用されます。

コスト面でも優れており、REST APIに比べて約60%のコスト削減が可能です。そのため、複雑な機能が必要ないシンプルなAPIや、デバイスからのデータ送信など限られた用途で利用するケースが増えています。

例えば、IoTデバイスからのデータを受信するためのAPIが挙げられます。

API Gateway×LambdaでHTTP APIを構築する方法を解説! 

WebSocket APIとは

WebSocket APIは、双方向通信が必要なリアルタイムアプリケーションで活用されるAPIです。

通常のHTTP通信と異なり、クライアントとサーバー間でコネクションを維持する仕組みを持ち、双方向でデータのやり取りが可能です。

例えば、チャットアプリでは、新しいメッセージが送られるたびにサーバーからクライアントへ即座に通知を送信する仕組みがWebSocket APIを通じて行われます。

API GatewayでWebSocket APIを構築する方法を解説!

REST, HTTP, WebSocket使い分け

APIの種類は用途によって使い分ける必要があります。以下の表を参考にしてください。

種類特徴使用例
REST API標準的な機能が豊富マイクロサービス、ユーザー管理
HTTP API軽量で高速、低コストIoTデバイス、Webhook
WebSocket APIリアルタイム通信、双方向データ送受信チャット、通知、ライブデータ配信

API Gatewayと組み合わせるサービス

API GatewayはAWSの他サービスと組み合わせて使用することが多いです。

Lambda

サーバレスのバックエンドロジックを実行できます。

クライアントからのリクエストを動的に処理することができます。

DynamoDB

高速でスケーラブルなデータベースとして使用できます。

ユーザー情報等のデータを保存から取得まで行うことができます。

CloudFront

静的コンテンツのキャッシュと配信します。

キャッシュされた情報をユーザが閲覧するので、API Gatewayの負担が減ります。

IAM

認証やアクセス管理します。

ユーザーごとにアクセス権限を設定して、APIへの不正アクセスを防ぐことができます。

API Gatewayのコスト

API Gatewayのコストは主に以下で構成されます。

  • リクエスト数:APIリクエスト数に応じた課金
  • データ転送量:転送されたデータに基づく課金

例えば、1万リクエスト/月の場合、HTTP APIなら数百円、REST APIなら1000円程度です。

使用量プランを設定することができ、DDos攻撃をされたとしても使用制限を設けることができます。

1秒間や、日別・月別等で制限を設けることができるので、設定して高コストになることを事前に防ぎましょう。

まとめ

AWS API Gatewayを使うことで、コストを抑えつつスケーラブルなアプリケーションを構築するシステムを構築することができます。

LambdaやDynamoDBなど他のAWSサービスと組み合わせることが多いので、一度試しておきましょう!

この記事を書いた人

コツコツ亀

コツコツ亀

Webエンジニアとして活動中
AWSを使用してWebアプリケーションを作ったり、サーバーを構築したりしています。

関連記事

新着記事