AWSの専門用語(Amazon API Gatewayとは)

広告

Amazon API Gatewayとは

Amazon API Gatewayとは、HTTP API、REST API、WebSocket APIを作成、公開、管理、モニタリング、保護するためのフルマネージド型のサービスです。
以下の図のようにAmazon API Gatewayはクライアントとバックエンド(Lambda関数など)の間を中継して、データの送受信や認証などを行います。
Amazzon API Gatewayのデータの流れ

Amazon API GatewayのAPIの種類

Amazon API Gatewayは本記事作成時点(2021年6月13日)で以下のアプリケーションを選択することができます。

(1) HTTP API/REST API
HTTP API/REST APIは「クライアント」と「AWSのサービス(LambdaやDynamoDBなど)またはHTTPエンドポイント」間をステートレスに接続します。
以下のHTTPメソッドを用いてAmazon API Gatewayにアクセスして、データを取得や更新などを行います。

HTTPメソッド概要
GET指定したリソースのデータを返すメソッド
POSTデータを送信して処理するメソッド
PUTデータを更新するメソッド
PATCHリソースを部分的に変更するメソッド
HEADGETメソッドのデータ内、HTTPヘッダのみを返すメソッド
OPTIONS通信オプションの返すメソッド
DELETE指定したリソースを削除するメソッド
ANY上記全てのメソッドを有効にする

APIにアクセスする際は、「https://[API ID].execute-api.[リージョンID].amazonaws.com/[ステージ名]/…」のURLにアクセスします。

また、HTTP APIは、AWS LambdaやHTTPエンドポイントなどのAWSのサービスとの低レイテンシーで低コストで利用できます。
しかし、現時点(2021/6/13時点)では旧世代のREST APIの方がより多くの機能を利用できます。

(3) WebSocket API
WebSocket APIは「クライアント」と「AWSのサービス(LambdaやDynamoDBなど)またはHTTPエンドポイント」間をステートフルに接続します。
WebSocket APIはリクエストを受け取って応答するREST APIとは異なり、クライアントアプリとバックエンド間の双方向通信をサポートします。

以下のルート(どの処理をするか)を振り分けます。

ルート概要
$connectクライアントとWebSocket API間の永続的な接続が開始されたときに呼び出すルートです。
AWSが事前に定義されています。
$disconnectクライアントまたはサーバーがAPIから切断したときに呼び出すルートです。
AWSが事前に定義されています。
$default一致するルートが見つからないときに呼び出すルートです。
AWSが事前に定義されています。
その他ユーザが独自に作成するルートです。

APIにアクセスする際は、以下のURLにアクセスします。
(1) WebSocket URL
    wss://[API ID].execute-api.[リージョンID].amazonaws.com/[ステージ名]
(2) Callback URL
    wss://[API ID].execute-api.[リージョンID].amazonaws.com/@connections/[ステージ名]

Amazon API Gatewayの料金

Amazon API Gatewayは主に以下の2個の料金が掛かります。

(1) API料金
HTTP API、REST API、WebSocket APIのそれぞれで以下のAPI料金が発生します。
 (a) HTTP API : APIコール数に応じた料金
 (b) REST API : APIコール数及び使用しているキャッシュメモリサイズに応じた料金
 (c) WebSocket API : メッセージ数及び接続時間に応じた料金

(2) データ転送料金
アウトバウンドのデータ転送量に応じた料金が発生します。

Amazon API Gatewayの料金については、以下のAWSの公式サイトをご確認ください。

料金 - Amazon API Gateway | AWS
HTTP、REST および WebSocket API 向けの Amazon API Gateway の料金詳細とサンプルを表示します。



AWSに関する記事

AWSについての関連記事は以下の通りです。
必要に応じて、ご確認ください。

Noタイトル
1AWSの詳細設計書(パラメータシートのサンプル)
2AWS クラウドプラクティショナーの合格までの道(試験の概要と勉強方法)
3AWSの専門用語(リージョン、アベイラビリティゾーン、エッジロケーションとは)
4AWSの専門用語(AWS IAMとは)
5AWSの専門用語(Amazon VPCとは)
6AWSの専門用語(Amazon S3及びAmazon S3 Glacierとは)
7AWSの専門用語(EC2:Elastic Compute Cloudとは)
8AWSの専門用語(Amazon EBS:Elastic Block Storeとは)
9AWSの専門用語(ELB:Elastic Load Balancingとは)
10AWSの専門用語(Amazon RDSとは)
11AWSの専門用語(Amazon Auroraとは)
12AWSの専門用語(AWS DynamoDBとは)
13AWSの専門用語(Amazon ElastiCacheとは)
14AWSの専門用語(AWS Auto Scalingとは)
15AWSの専門用語(Amazon Lightsailとは)
16AWSの専門用語(AWS CloudTrailとは)
17AWSの専門用語(AWS Configとは)
18AWSの専門用語(AWS Organizationsとは)
19AWSの専門用語(AWS Lambdaとは)
20AWSの専門用語(Amazon EFSとは)
21AWSの専門用語(Amazon FSx for Windows File Serverとは)
22AWSの専門用語(Amazon FSx for Lustreとは)
23AWSの専門用語(Amazon Elastic Kubernetes Serviceとは)
24AWSの専門用語(Amazon Elastic Container Registryとは)
25AWSの専門用語(Amazon Elastic Container Serviceとは)
26AWSの専門用語(AWS Shieldとは)
27AWSの専門用語(AWS WAFとは)
28AWSの専門用語(AWS Batchとは)
29AWSの専門用語(Amazon CloudWatchとは)
30AWSの専門用語(Amazon Inspectorとは)
31AWSの専門用語(AWS Artifactとは)
32AWSの専門用語(Amazon API Gatewayとは)
33AWSの専門用語(AWS Security Hubとは)
34AWSの専門用語(AWS サポートとは)
35AWSの専門用語(AWS Key Management Serviceとは)
36AWSの専門用語(AWS Database Migration Serviceとは)
37AWSの専門用語(AWS CLIとは)