翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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@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 での の使用」を参照してください。