API Gateway の開始方法 - Amazon API Gateway

API Gateway の開始方法

この入門エクササイズでは、サーバーレス API を作成します。サーバーレス API を使用すると、サーバーのプロビジョニングや管理に時間をとられる事なく、アプリケーションに集中することができます。このエクササイズは 20 分未満で完了し、 AWS 無料利用枠内 でご利用できます。

まずはじめに、AWS Lambda コンソールを使用して Lambda 関数を作成します。次に、API Gateway コンソールを使用して HTTP API を作成します。次に、API を呼び出します。

HTTP API を呼び出すと、API Gateway はリクエストを Lambda 関数にルーティングします。Lambda は Lambda 関数を実行し、API Gateway に応答を返します。それから API Gateway はレスポンスを返します。


      この入門ガイドで作成する API のアーキテクチャの概要。クライアントは、API Gateway HTTP API を使用して Lambda 関数を呼び出します。API Gateway は、クライアントへの Lambda 関数の応答を返します。

このエクササイズを完了するには、AWS アカウントと、コンソールアクセス権がある AWS Identity and Access Management のユーザーが必要です。詳細については、「API Gateway の開始方法の前提条件」を参照してください。

ステップ 1: Lambda 関数を作成する

API のバックエンドには Lambda 関数を使用します。AWS Lambda は必要に応じてコードを実行し、1 日あたり数個から 1 秒あたり数千のリクエストまで自動的にスケーリングします。

この例では、Lambda コンソールから既定の Node.js 関数を使用します。

Lambda 関数を作成するには

  1. Lambda コンソール (https://console.aws.amazon.com/lambda/) にサインインします。

  2. [関数の作成] を選択します。

  3. [関数名] に「my-function」と入力します。

  4. [Create function] を選択します。

この例の関数は、クライアントへの応答200とテキストHello from Lambda!を返します 。

関数の応答が API Gateway が必要とする形式と一致している限り、Lambda 関数を変更できます。

デフォルトの Lambda 関数コードは、次のようになります。

exports.handler = async (event) => { const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; };

ステップ 2: HTTP API を作成する

次に、HTTP API を作成します。API Gateway は、REST API と WebSocket API もサポートしますが、このエクササイズでは HTTP API が最適です。HTTP API は、REST API よりもレイテンシーが低く、コストも低くなります。WebSocket API は、全二重通信のためにクライアントとの持続的接続を維持します。この例では必須ではありません。

HTTP API は、Lambda 関数の HTTP エンドポイントを提供します。API Gateway は Lambda 関数にリクエストをルーティングし、関数の応答をクライアントに返します。

HTTP API を作成するには

  1. API Gateway コンソール https://console.aws.amazon.com/apigateway にサインインします。

  2. 次のいずれかを行ってください。

    • 最初の API を作成するには、[ HTTP API ] で [ 構築 ] を選択します。

    • 以前に API を作成した場合は、[ API の作成 ] を選択し、[ HTTP API ] の [構築] を選択します。

  3. [ 統合 ] で、[ 統合の追加 ] を選択します。

  4. Lambda を選択します。

  5. Lambda 関数my-functionと入力します。

  6. [API name (API 名)] に「my-http-api」と入力します。

  7. [Next] を選択します。

  8. API Gateway が作成したルートを確認し、[ 次へ ] を選択します。

  9. API Gateway によって作成されるステージを確認し 、[ Next ] を選択します。

  10. [Create] を選択します。

これで、クライアントからのリクエストを受信できる Lambda 統合で HTTP API を作成しました。

ステップ 3: API をテストする

次に、API をテストして作動していることを確認します。シンプルにテストをするため、ウェブブラウザを使用して API を呼び出します。

API をテストするために

  1. API Gateway コンソール https://console.aws.amazon.com/apigateway にサインインします。

  2. API を選択します。

  3. API の呼び出し URL を書き留めます。

    
            APIを作成すると、コンソールに API の呼び出し URL が表示されます。
  4. API の呼び出し URL をコピーし、Web ブラウザーに入力します。呼び出し URL に Lambda 関数の名前を追加して、Lambda 関数を呼び出します。デフォルトでは、API Gateway コンソールは Lambda 関数my-functionと同じ名前のルートを作成します。

    URL は次のようになります。https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function

    ブラウザが API にGETリクエストを送信します。

  5. API の応答を確認します。ブラウザにテキスト"Hello from Lambda!"が表示されるはずです。

(オプション)ステップ 4: クリーンアップする

不要なコストを回避するには、このエクササイズで作成したリソースを削除します。次の手順では、HTTP API、Lambda 関数、および関連リソースを削除します。

HTTP API を削除するには

  1. API Gateway コンソール https://console.aws.amazon.com/apigateway にサインインします。

  2. [ API ] ページで、API を選択します。[ Actions] を選択して、[Delete] を選択します。

  3. [削除] を選択します。

Lambda 関数を削除するには

  1. Lambda コンソール (https://console.aws.amazon.com/lambda/) にサインインします。

  2. [ 関数 ] ページで、関数を選択します。[ Actions] を選択して、[Delete] を選択します。

  3. [削除] を選択します。

Lambda 関数のロググループを削除するには

  1. Amazon CloudWatch コンソールで、[ ロググループページ]を開きます。

  2. [ ロググループ ] ページで、関数のロググループ (/aws/lambda/my-function) を選択します。[Actions] (アクション) を選択してから、[Delete log group] (ロググループの削除) を選択します。

  3. [削除] を選択します。

Lambda 関数の実行ロールを削除するには

  1. AWS Identity and Access Management コンソールでロールページを開きます。

  2. 関数のロールを選択します my-function-31exxmpl

  3. [ロールの削除] を選択します。

  4. [はい、削除します] を選択します。

AWS CloudFormation または AWS SAM を使用して、AWS リソースの作成とクリーンアップを自動化できます。AWS CloudFormation テンプレートの例については、 AWS CloudFormation テンプレートの例を参照してください。

次のステップ

この例では、AWS マネジメントコンソールを使用して簡単な HTTP API を作成しました。HTTP API は Lambda 関数を呼び出し、クライアントに応答を返します。

API Gateway の使用を続けたまま、次のステップに進んでください。

コミュニティから Amazon API Gateway に関するヘルプを参照するには、API Gateway Discussion Forum を参照してください。(このフォーラムにアクセスするには AWS へのサインインが必要になることがあります。)

AWS から直接 API Gateway のサポートを得るには、AWS サポートページでサポートオプションを参照してください。

また、よくある質問 (FAQ) を参照したり、直接お問い合わせいただくこともできます。