Lambda@Edgeは、AWS CloudFront(AmazonのCDNサービス)とAWS Lambda(サーバーレスコンピュートサービス)を組み合わせたサービスです。このサービスを使用すると、CloudFrontのエッジロケーション(全世界に分散されたデータセンター)でAWS Lambda関数を実行することができます。つまり、ユーザーに近い場所でコードが実行され、レイテンシが低減し、パフォーマンスが向上する可能性があります。

### 主な用途

1. **コンテンツのカスタマイズ**: 地域やデバイス、ログイン状態などに基づいて、動的にコンテンツを変更できます。

2. **リダイレクトとリライト**: URLリダイレクトやリライトを行い、ユーザーを適切な場所へ導きます。

3. **セキュリティ**: リクエストやレスポンスを検査して、不正なトラフィックをフィルタリングするなどのセキュリティ強化が可能です。

4. **ヘッダーの操作**: HTTPヘッダーを操作して、キャッシュの挙動を制御したり、セキュリティポリシーを適用することができます。

5. **ABテスト**: エッジロケーションでコードを実行することで、ユーザーに近い場所でABテストを実施できます。

### トリガーイベント

Lambda@Edgeは、以下の4つのCloudFrontイベントでトリガーすることができます。

1. **Viewer Request**: エンドユーザーがCloudFrontにリクエストを行った直後。

2. **Origin Request**: CloudFrontがオリジン(例:S3, EC2など)にリクエストを行う前。

3. **Origin Response**: オリジンがレスポンスを返した後、それがCloudFrontのキャッシュに保存される前。

4. **Viewer Response**: CloudFrontがエンドユーザーにレスポンスを返す直前。

これらのイベントを利用して、特定のロジックをエッジロケーションで実行できます。Lambda@Edgeは、低レイテンシと高い拡張性を必要とする多くの用途で有用です。

 

記事タイトル検索