APIテストに便利! 「Amazon API Gateway」と「Amazon S3」で作る、レスポンスを動的かつ簡単に変更できるAPIモックAWSチートシート

AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は「Amazon API Gateway」と「Amazon S3」を利用して、レスポンスを動的かつ簡単に変更できるAPIモックを作る方法を紹介します。

» 2023年02月02日 05時00分 公開
[金光適株式会社システムシェアード]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は「Amazon API Gateway」(以下、API Gateway)と「Amazon Simple Storage Service」(以下、S3)を利用して、レスポンスを動的かつ簡単に変更できるAPIモックを作る方法を紹介します。

「Amazon API Gateway」とは

 API Gatewayとはシステムが提供するAPIの管理を容易にするAWSのサービスです。

 主な役割としてはクライアントから受け取ったリクエストを「Amazon Elastic Container Service」(ECS)や「AWS Lambda」といったバックエンドのサービスにルーティングし、レスポンスをクライアントに返却します。

 また、リクエストのバースト設定や形式チェックなど、従来のWebサーバでは構築に大きな労力がかかる作業も、マネジメントコンソールやSwagger形式で簡単に行えます。

Amazon API Gatewayのモック機能

 API Gatewayには標準でモック機能が用意されています。

「統合タイプ」で「Mock」を選択すると、レスポンスのマッピングテンプレートで固定値を設定できます。Velocity Template Language(VTL)のスクリプトによって、ある程度動的に変更させることもできます。

 ただし、変更ごとにAPI Gatewayのデプロイが必要です。VTLに明るくない場合は容易に設定ができません。同一APIに複数の設定を行うと競合する場合があります。

 これらの要件を加味しても問題がない場合は標準のモック機能も便利なので利用をお勧めします。

サービスの構築

 今回は複数人で開発、テストできるように、あるいは、VTLに明るくない場合でも簡単に構築、設定変更ができるように、S3を利用したAPIモックを構築します。

 構築手順は次の通りです。

  1. IAMロールの作成
  2. S3バケットの用意
  3. API Gatewayの構築
  4. APIテストの確認

APIモックの構成

 構成はシンプルです。下図のようにAPI GatewayとS3を連携させ、レスポンスのボディー情報をS3に配置します。

 S3にテストデータを配置することでAPI Gatewayを再デプロイしなくてもS3のテストデータを更新したり、ファイルを増やすだけで簡単にテストデータを更新できたりします。ファイル単位に読み出すので、同一のテストデータを更新する必要がなく、チーム開発でもスムーズにテストや開発ができます。

 今回は、下記の対向システムとAPIがある想定で、設定します。

  • システムA:userinfo(GET)
  • システムB:shoplist(GET)

1.IAMロールの作成

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。