Amazon API Gateway
開発者ガイド

API Gateway でリージョン API を設定する

API リクエストが主に EC2 インスタンスまたは API と同じリージョン内のサービスから送られる場合、そのようなシナリオにはリージョン API エンドポイントをお勧めします。このタイプのエンドポイントでは通常、接続のレイテンシーが短くなるためです。

注記

API クライアントが地理的に分散している場合、API Gateway が API をサービス制御された CloudFront ディストリビューションに関連付けないようにするために、リージョン API エンドポイントを独自の Amazon CloudFront ディストリビューションと一緒に使用することが合理的です。このユースケースの詳細については、「独自の CloudFront ディストリビューションで API ゲートウェイをセットアップする方法を教えてください」を参照してください。

リージョン API を作成するには、「エッジ最適化 API の作成」の手順に従いますが、API の endpointConfiguration の唯一のオプションとして REGIONAL タイプを明示的に設定する必要があります。

以下に示しているのは、API Gateway コンソール、AWS CLI、Javascript 用 AWS SDK for Node.js を使用してリージョン API を作成する方法です。

API Gateway コンソールを使用してリージョン API を作成する

API Gateway コンソールを使用してリージョン API を作成するには

  1. API Gateway コンソールにサインインし、[+ API の作成] を選択します。

  2. [新しい API の作成] で、[新しい API] オプションを選択します。

  3. [API 名] に名前 (Simple PetStore (Console, Regional) など) を入力します。

  4. [エンドポイントタイプ] で、[Regional] を選択します。

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

ここから、「エッジ最適化 API の作成」で説明しているように、API のメソッドとその関連する統合を設定できます。

AWS CLI を使用してリージョン API を作成する

AWS CLI を使用してリージョン API を作成するには、create-rest-api コマンドを呼び出します。

aws apigateway create-rest-api \ --name 'Simple PetStore (AWS CLI, Regional)' \ --description 'Simple regional PetStore API' \ --region us-west-2 \ --endpoint-configuration '{ "types": ["REGIONAL"] }'

レスポンスが成功すると、次のようなペイロードを返します。

{ "createdDate": "2017-10-13T18:41:39Z", "description": "Simple regional PetStore API", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0qzs2sy7bh", "name": "Simple PetStore (AWS CLI, Regional)" }

ここから、「AWS CLI コマンドを使用してエッジ最適化された API をセットアップする」で説明している同様の手順に従って、この API のメソッドと統合を設定できます。

JavaScript 用 AWS SDK を使用してリージョン API を作成する

JavaScript 用 AWS SDK を使用してリージョン API を作成するには

apig.createRestApi({ name: "Simple PetStore (node.js SDK, regional)", endpointConfiguration: { types: ['REGIONAL'] }, description: "Demo regional API created using the AWS SDK for node.js", version: "0.00.001" }, function(err, data){ if (!err) { console.log('Create API succeeded:\n', data); restApiId = data.id; } else { console.log('Create API failed:\n', err); } });

レスポンスが成功すると、次のようなペイロードを返します。

{ "createdDate": "2017-10-13T18:41:39Z", "description": "Demo regional API created using the AWS SDK for node.js", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0qzs2sy7bh", "name": "Simple PetStore (node.js SDK, regional)" }

ここまでの手順を完了したら、「Node.js の AWS SDK を使用してエッジ最適化された API をセットアップする」の手順に従って、この API のメソッドと統合を設定できます。

リージョン API をテストする

デプロイ後、リージョン API のデフォルトの URL ホスト名は以下の形式になっています。

{restapi-id}.execute-api.{region}.amazonaws.com

API を呼び出すためのベース URL は以下のようになっています。

https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}

この例で GET /pets メソッドと GET /pets/{petId} メソッドを設定したとすると、ブラウザで以下の URL を入力して API をテストできます。

https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets

および

https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets/1

または、cURL コマンドを使用することもできます。

curl -X GET https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets

および

curl -X GET https://0qzs2sy7bh.execute-api.us-west-2.amazonaws.com/test/pets/2