REST APIとAmazon API Gatewayの基礎
REST APIとAmazon API Gatewayの基礎
REST APIとは?
REST APIは、Webサービス同士がやりとりするための仕組み(API)の一つです。AWSでは「Amazon API Gateway」を使ってREST APIを作ることができます。
REST APIのエンドポイントタイプ
REST APIには、3つのエンドポイントタイプがあります。
タイプ | 説明 |
---|---|
エッジ最適化APIエンドポイント | 世界中のユーザーに近い場所(CloudFrontのエッジ)からAPIを提供します。 |
リージョンAPIエンドポイント | 指定したAWSリージョン内でAPIを提供します。同じリージョンのサービスと連携しやすいです。 |
プライベートAPIエンドポイント | インターネットからはアクセスできず、VPCエンドポイントからのみアクセスできます。 |
REST APIの主なユースケース
-
サーバーレスアプリのバックエンド
モバイルアプリなどのバックエンドをLambdaやDynamoDBで構築し、API Gatewayで外部公開します。Cognitoで認証もできます。 -
VPC間・アカウント間のプライベートAPI連携
パブリックなインターネットからのアクセスを許可せずに、VPCエンドポイントからのみのアクセスを許可することで、セキュアにアクセスする構成が可能です。 -
オンプレミスからAWSのAPIへアクセス
社内システム(オンプレミス)からVPNやDirect Connect経由でAWSのAPIにアクセスできます。 -
API Gateway経由でコンテナアプリにアクセス
バックエンドがECSなどのコンテナの場合、NLB(ネットワークロードバランサー)を使ってAPI Gatewayと連携します。
REST APIの構成要素
-
リソース
APIで扱うデータや機能の単位。例:/users
、/users/{id}
-
メソッド
HTTPの操作方法。例:GET(取得)、POST(作成)、PUT(更新)、DELETE(削除)など。 -
メソッドリクエスト
APIに送るデータや認証情報。 -
統合リクエスト/レスポンス
バックエンド(LambdaやECSなど)とのやりとりの設定。 -
メソッドレスポンス
API Gatewayが返すレスポンスの設定。 -
モデル
データの型や構造の定義。リクエストやレスポンスで利用する。 -
ステージ
APIの公開環境(例:dev、staging、prod)。 -
オーソライザ
認証・認可の仕組み(IAM、Cognito、Lambdaオーソライザなど)。