CloudFront DistributionでAPI Gatewayを作成してみた。

2022.01.12

概要

API Gatewayの前にCloudFront Distribution を使用することで、APIGatewayのパフォーマンスを向上させることができます。API Gatewayのエッジ最適化 API エンドポイントを使用すると、最寄りのCloudFront Point of PresenceでAPI呼び出しを終了できます。

API Gatewayの前でCloudFront Distributionを使用する理由 :

  • レイテンシーを削減
  • セキュリティを強化する
  • キャッシング動作を制御する
  • APIのTLS設定を制御する。

この記事では、Rest APIの前でCloudFront Distributionを作成してみました。

 

 

やってみた

REST APIの作成

  • API GatewayコンソールのREST APIペインで、Buildを選択しておきます。

 

  • New API を選択して、API名を入力して、Endpoint typeで regionalを選択して、Create APIをクリックしておきます。

 

 

APIのGETメソッドの作成

  • Actionsで、Create Methodを選択して、GETを選択して、チェックマークをオンにしておきます。

 

  • Integration typeでMockを選択して、Methodを作成しておきます。モック統合は到達したすべての要求に応答することができます。

 

 

APIのデプロイとテストする

  • Actionsで、Deploy APIを選択しておきます。
  • New Stageを選択して、ステージ名を入力して、Deployをクリックしておきます

 

 

  • curlコマンドを使用してAPIをテストできます。テストするために、APIのinvokeurlでcurlコマンドを使用します。

 

# curl -IX GET Invoke-URL
curl -IX GET  https://API-Id.execute-api.us-east-1.amazonaws.com/stage-name

 

 

CloudFront Distributionの作成

  • 次の設定でCloudFront Distributionを作成しておきます。
    • Origin domain :ステージ名のないInvoke URL
    • Protocol : HTTPS only
    • SSL protocol : TLSv1.2
    • Origin path : ステージ名

 

 

CloudFront Distributionをテストする

  • curlコマンドを使用してCloudFront Distribution をテストできます。
  • テストするために、ディストリビューションドメイン名でcurlコマンドを使用します。
  • 200 Responseは、API Gatewayが正しく構成されていることを示します。

 

curl -IX GET  https://0000000.cloudfront.net

 

 

まとめ

CloudFront DistributionでAPI Gatewayを作成してみました。CloudFrontディストリビューションの作成中にキャッシュ設定を構成することもできます。

Reference :  API Gateway with CloudFront Distribution