AWS Lambda@Edge

Lambda@Edge Lambda@Edge 公式 より

CloudFront 経由で S3 の静的コンテンツを公開するが、Basic認証を入れたい。そんなときには Lambda@Edge を利用すると良さそう。


基本情報

  • 典型的な使い方はこちらを参考にやりました: https://qiita.com/takahashi-kazuki/items/688f5f736bd76682483c

  • Lambda@Edge 関数の注意点:

    • Edge関数を作成できるリージョンは us-east-1 region (バージニア北部) のみ
    • ラインタイムは Node.js 6.10 および Node.js 8.10 に制限される
    • 環境変数、デッドレターキュー (DLQ)、および Amazon VPC は使用できない
  • 反映の仕方

    • Lambda のこんそーるから バージョンを $LATEST を選んだ状態で、アクションで Lambda@Edge へのデプロイ を選択
    • CloudFrontトリガーの設定 : 最初のデプロイのときは 新しい CloudFront トリガーの設定 , 初回でない場合は この関数で既存の CloudFront トリガーを使用 を指定
    • (以下、新規デプロイの場合)
    • ディストリビューション: 適切に選択
    • キャッシュ動作: * のまま
    • CloudFrontイベント: ビューアーリクエスト を選択 (ベーシック認証はクライアントがリクエストヘッダに入れてくるから)
    • ボディを含める: 不要
    • Lambda@Edge へのデプロイを確認: チェックを入れる
    • 最後に デプロイ ボタンを実行
    • イメージは以下 lambda-edge-deployment.png