1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

サーバーレスWeb APIを作ってみよう

Last updated at Posted at 2020-09-30

API GatawayとFunction Computeと連携して、どのようにサーバーレス構成のWebサービスを作るのかをステップバイステップでこの記事でまとめたいと思います。

ロジックは非常に簡単ですが、Function Computeはイベント駆動型サービスなので、言い換えれば、関数をトリガーするイベントによって実行します。イベント設定に関しては、API GatawayでバックエンドサービスをFunction Computeに指定すれば、リクエストが来た時その関数をトリガーし、実行した結果をAPI Gatawayに返すとの流れです。

Step1 Functionを作る

テンプレートを使いたいので、「テンプレート関数」と「api-gateway-nodejs6」を選択します。
屏幕快照 2020-10-18 11.58.15.png
関数の設定を行います。サービス名を入力し、それ以外は一旦デフォルトのままでOKです。
屏幕快照 2020-10-18 11.53.15.png

Step2 API Groupを作る

API作成を進める前に、まずAPI Groupを作る必要があるので、「インスタンス」を変更できないようで、グループ名だけを入力すればOKです。
屏幕快照 2020-10-18 12.43.38.png

Step3 APIを作る

キャプチャのように、APIを作成します。赤枠の認証部分は落とし穴ですので、要注意です。
セキュリティ認証はAlibabaCloudアプリを選定した場合のみ、APPCode認証を使うかどうかとの選択肢が表示されます。APPCode認証は基本的に同くAPI認証の役割を担っていますが、ただ署名などのオーバーヘッドの処理が必要ないので、効率が良いなどの利点が挙げられます。リリー後にオープンするのはお勧めです。
屏幕快照 2020-10-18 17.00.14.png
次はAPIリクエストの定義を行います。リクエストモードに「パラメーターをパススルー」を選択しても良いです。
111.png
そして、バックエンドを「FunctionCompute」を指定します。先ほど作成した関数名「demo001」を入力。
屏幕快照 2020-10-18 18.24.43.png
最後「レスポンスの定義」を設定します。JSON、XML、バイナリなどの形式を勿論選択することができます。
屏幕快照 2020-10-18 18.28.17.png

Step4 動作確認

API Gatewayがテスト用の機能が統合されてますので、サードパーティのテストツールを使わず一ヶ所で済むのは便利だと思います。

具体的には、下記の「API使用」から「アプリ」→「アプリの作成」を選択します。
屏幕快照 2020-10-18 18.41.10.png
アプリ作成ができたら、AppKeyとAppCodeも自動的に生成してくれます。
屏幕快照 2020-10-18 18.45.15.png
いよいよ動作確認をやりますが、さっき作成したAPIの「認証」操作を選択したら、下図の画面が出ますので、「ステージ」をテストにし、「アプリ」を作成済みの「AppDemo」にします。
最後はAPIをテスト環境にデプロイしなければいけないので、気をつけましょう。
屏幕快照 2020-10-18 18.49.55.png
「デバッグ」操作を選択したら、下記表示された画面でリクエストを発行してテストすることができます。認証方式はAPI署名との形でテストAppは先ほど承認を付与した「AppDemo」となっています。
屏幕快照 2020-10-18 22.42.26.png

最後

この記事でHTTPS対策、OpenID Connect認証、JWTのToken認証など高度なセキュリティ設定を触れなかったですが、必要な方はAlibabaCloud公式ドキュメントを参考にしてもらえば簡単に設定できると思いますので、ぜひ触ってみてください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?