REST API コンソールの使用を開始する - Amazon API Gateway

REST API コンソールの使用を開始する

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

まずはじめに、Lambda コンソールを使用して Lambda 関数を作成します。次に、API Gateway REST API コンソールを使用してREST API を作成します。次に、API メソッドを作成し、Lambda プロキシ統合を使用して Lambda 関数と統合します。最後に、API をデプロイして呼び出します。

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

このチュートリアルで作成する REST API の概要。

この演習を完了するには、AWS アカウント アカウントと、コンソールへのアクセス権がある AWS Identity and Access Management (IAM) ユーザーが必要です。詳細については、「API Gateway を使用するようにセットアップする」を参照してください。

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

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

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

Lambda 関数を作成するには
  1. Lambda コンソール (https://console.aws.amazon.com/lambda/) にサインインします。

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

  3. [基本的な情報] の [関数名] に「my-function」と入力します。

  4. 他のすべてのオプションについては、デフォルトの設定を使用します。

  5. [Create function (関数の作成)] を選択します。

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

export const handler = async (event) => { const response = { statusCode: 200, body: JSON.stringify('The API Gateway REST API console is great!'), }; return response; };

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

デフォルトのレスポンスの本文 (Hello from Lambda!) を The API Gateway REST API console is great! に置き換えます。サンプル関数を呼び出すと、更新されたレスポンスとともにクライアントに 200 レスポンスが返されます。

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

次に、ルートリソース (/) を使用して REST API を作成します。

REST API を作成するには
  1. https://console.aws.amazon.com/apigateway で API Gateway コンソールにサインインします。

  2. 次のいずれかを行います。

    • 最初の API を作成するには、[REST API][ビルド] を選択します。

    • 以前に API を作成した場合は、[API の作成] を選択し、REST API][ビルド] を選択します。

  3. [API 名] に「my-rest-api」と入力します。

  4. (オプション) [説明] に説明を入力します。

  5. [API エンドポイントタイプ][リージョン別] に設定したままにします。

  6. API の作成 を選択します。

ステップ 3: Lambda プロキシ統合を作成する

次に、ルートリソース (/) に REST API の API メソッドを作成し、プロキシ統合を使用して Lambda 関数とそのメソッドと統合します。Lambda プロキシ統合では、API Gateway はクライアントからの受信リクエストを直接Lambda関数に渡します。

Lambda プロキシ統合を作成するには
  1. / リソースを選択し、[メソッドの作成] を選択します。

  2. [メソッドタイプ] では、ANY を選択します。

  3. [統合タイプ] で、[Lambda 関数] を選択します。

  4. [Lambda プロキシ統合]を有効にします。

  5. [Lambda 関数]に「my-function」と入力し、Lambda 関数を選択します。

  6. [メソッドの作成] を選択します。

ステップ 4: API をデプロイする

次に、API デプロイを作成し、それをステージに関連付けます。

API をデプロイするには
  1. [API のデプロイ] を選択します。

  2. [ステージ][新規ステージ] を選択します。

  3. [Stage name (ステージ名)] に Prod と入力します。

  4. (オプション) [説明] に説明を入力します。

  5. [デプロイ] を選択します。

これで、クライアントは API を呼び出すことができます。API をデプロイする前に API をテストするには、オプションで ANY メソッドを選択し、[テスト] タブに移動して [テスト] を選択することもできます。

ステップ 5: API を呼び出す

API を呼び出すには
  1. メインのナビゲーションペインで、[ステージ] を選択します。

  2. [ステージの詳細] で、コピーアイコンを選択して API の呼び出し URL をコピーします。

    REST API を作成すると、コンソールに API の呼び出し URL が表示されます。
  3. ウェブブラウザに呼び出し URL を入力します。

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

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

  4. API の応答を確認します。ブラウザにテキスト"The API Gateway REST API console is great!"が表示されるはずです。

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

AWS アカウント にかかる不要なコストを回避するには、この演習で作成したリソースを削除します。次の手順では、REST API、Lambda 関数、および関連リソースを削除します。

REST API を削除するには
  1. [リソース] ペインで、[API アクション][API の削除] を選択します。

  2. [API の削除] ダイアログボックスに「確認」と入力し、[削除] を選択します。

Lambda 関数を削除するには
  1. Lambda コンソール (https://console.aws.amazon.com/lambda/) にサインインします。

  2. [関数] ページで、関数を選択します。[アクション][削除] の順に選択します。

  3. [1 関数の削除] ダイアログボックスに「delete」と入力し、[削除] を選択します。

Lambda 関数のロググループを削除するには
  1. Amazon CloudWatch コンソールで、[Log groups (ロググループ)] ページを開きます。

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

  3. [ロググループの削除] ダイアログボックスで、[削除] をクリックします。

Lambda 関数の実行ロールを削除するには
  1. IAM コンソールのロールページを開きます。

  2. (オプション) [ロール] ページの検索ボックスに、「my-function」と入力します。

  3. 関数のロール (例:my-function-31exxmpl) を選択し、[削除] を選択します。

  4. [my-function-31exxmpl を削除しますか?] ダイアログボックスにロール名を入力し、[削除] を選択します。

ヒント

AWS CloudFormation または AWS Serverless Application Model (AWS SAM) を使用して、AWS リソースの作成とクリーンアップを自動化できます。いくつかのサンプル AWS CloudFormationテンプレートについては、awsdocs GitHub リポジトリにある API Gateway のサンプルテンプレートを参照してください。