Lamda@Edgeとは?
・Cloudfrontの機能
・ユーザーに近いリージョンのエッジキャッシュでLamda関数を実行。※Cloudfron単体で出来ない処理を実現。
より近いエッジロケーションではない!
・実行タイミングは以下4か所
①ViewerRequest→②OriginRequest→③OriginResponse→④ViewerResponse
①・②、③・④の間に、エッジキャッシュ処理がある。キャッシュ前後どちらで処理するかを制御できる。
ユースケース
・ ヘッダ加工
HSTSヘッダ付与等
・ 画像サイズ変換
UAに応じてサイズ変換等
・レスポンス返却
・検索エンジン最適化
アクセス元がBotの場合、別コンテンツ返却
・データ暗号化
AWS KMSと連携しコンテンツの全体 or 一部を暗号化できる。
・A/Bテスト
クライアント側は意識せず、接続先を分けることでパターン別の評価ができる。
※そもそもA/Bテストとは?
ABテストとは2つのものを比較するテストです。Webマーケティングでよく使われる。
https://www.profuture.co.jp/mk/column/11571
・ユーザー認証認可、優先順位付け
類似機能のCloudfront Function
Lamda@Edgeと同様に、Cloudfronイベントをトリガにコード実行できる。
Lamda@EdgeとCloudfron Functionの主な違い
No | 項目 | Lamda@Edge | Cloudfron Function |
---|---|---|---|
1 | 実行場所 | リージョンのエッジキャッシュ | エッジロケーション |
2 | ランタイム | Node.js、Python | JavaScriptのみ |
3 | 最大実行時間 | 数秒 実行タイミングにより異なる。Viewerトリガーの場合、5秒。 |
1ミリ秒未満 |
4 | 最大メモリ | 数MB 実行タイミングにより異なる。Viewerトリガーの場合、1MB。 |
10KB |
→上記の通り、Cloudfron Functionは良い近い所で実行できるが、簡単な処理向け。