CloudFront Lambda@Edge AWS Lambdaで を使用する - AWS Lambda

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CloudFront Lambda@Edge AWS Lambdaで を使用する

Lambda@Edge は、Amazon CloudFront エッジロケーションに Python 関数と Node.js 関数をデプロイAWS Lambdaできる の拡張機能です。Lambda@Edge の一般的なユースケースは、関数を使用して、 CloudFront ディストリビューションがエンドユーザーに配信するコンテンツをカスタマイズすることです。オリジンサーバーではなくビューワーの近くでそれらの関数を呼び出すことで、レイテンシーが大幅に軽減され、ユーザーエクスペリエンスが向上します。

CloudFront ディストリビューションを Lambda@Edge 関数に関連付けると、 は CloudFront エッジロケーションでリクエストとレスポンスを CloudFront インターセプトします。 CloudFront その後、 イベントを送信して Lambda 関数を呼び出します。次のイベントが発生したときに、 で Lambda 関数を CloudFront 呼び出すことができます。

  • がビューワーからリクエスト CloudFront を受信したとき (ビューワーリクエスト)

  • がリクエストをオリジン CloudFront に転送する前に (オリジンリクエスト)

  • がオリジンからレスポンス CloudFront を受信する場合 (オリジンレスポンス)

  • がビューワーにレスポンスを CloudFront 返す前 (ビューワーレスポンス)


      Lambda 関数をトリガーできる CloudFront イベントを示す概念的なグラフィック。
注記

Lambda@Edge は、限定数のランタイムと機能をサポートしています。詳細については、「Amazon CloudFront デベロッパーガイド」の「Lambda 関数の要件と制限」を参照してください。

CloudFront イベントの例を次に示します。

例 CloudFront メッセージイベント
{ "Records": [ { "cf": { "config": { "distributionId": "EDFDVBD6EXAMPLE" }, "request": { "clientIp": "2001:0db8:85a3:0:0:8a2e:0370:7334", "method": "GET", "uri": "/picture.jpg", "headers": { "host": [ { "key": "Host", "value": "d111111abcdef8.cloudfront.net" } ], "user-agent": [ { "key": "User-Agent", "value": "curl/7.51.0" } ] } } } } ] }

Lambda@Edge の使用の詳細については、「Lambda@Edge CloudFront での の使用」を参照してください。