目次

概要

以前に 1つのAWS Lambda関数でSPAフレームワーク作成 という記事を書いたが、当記事はこれを API Gateway を利用せず CloudFront を利用した場合の一例として記載する。

/css
/html
/js

・・・ CSS格納用
・・・ HTML格納用
・・・ JS格納用

/api
/css
/html
/js

・・・ Lambdaで処理
・・・ オリジン(S3)にリクエストさせる
・・・ 〃
・・・ 〃

イメージ

TODO:

この構成のメリット/デメリット

TODO:
  • メリット
    • 1つのアプリケーションとしてデプロイする事ができる
    • 静的コンテンツは CloudFront のキャッシュにより高速配信が期待できる
  • デメリット
    • 1 Lambdaの為、個別にメモリ調整等ができない

料金試算

TODO:

静的コンテンツの準備

TODO:

Lambdaの作成

TODO:

CloudFormationテンプレート

TODO:

補足(Lambda@Edge)

Lambda@Edge では、Node.js Lambda 関数により返却するコンテンツをカスタマイズする事ができる。

Lambda 関数が実行出来るタイミングは以下の通り。

当記事では、上記の「オリジンリクエスト」イベントによってLambdaをトリガーし、動的コンテンツか静的コンテンツかを判定する。
動的コンテンツへのリクエストだった場合はLambd 内でレスポンスデータを作成/返却する。
静的コンテンツへのリクエストだった場合は何もしない。(そのままオリジンに対してリクエストさせる)


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS