投稿日: May 3, 2021

Amazon CloudFront は、新しいサーバーレスエッジコンピューティング機能である CloudFront Functions の一般提供を発表しました。この新しい CloudFront 機能を使用して、47 か国 90 都市にある 225 以上の CloudFront エッジロケーションで JavaScript 関数を実行できます。CloudFront Functions は、軽量の HTTP(S) 変換と操作用に構築されており、よりリッチでパーソナライズされたコンテンツを低レイテンシーで顧客に配信できます。

CloudFront Functions は、すべてのリクエストで実行できる軽量の CloudFront CDN カスタマイズに最適で、HTTP ヘッダー操作、URL の書き換え/リダイレクト、キャッシュキーの正規化などの大規模でレイテンシーに敏感な操作を可能にします。例えば、CloudFront Functions を使用して、受信リクエストの Accept-Language ヘッダーに基づいて、サイトの言語固有のバージョンにリクエストを書き換えることができます。CloudFront Functions を使用してカスタムトークンを検証し、受信リクエストを承認することもできます。これらの関数は CloudFront のすべてのエッジロケーションで実行されるため、レイテンシーのオーバーヘッドを最小限に抑えながら、1 秒あたり数百万のリクエストに即座にスケールできます。

CloudFront Functions は CloudFront にネイティブに組み込まれているため、CloudFront 内でビューワーリクエストおよびビューワーレスポンス関数を簡単に構築、テスト、デプロイできます。GitHub リポジトリでは、関数を構築するための開始点として使用できる一連のコードを提供しており、使用の開始を簡単にしています。IDE を使用して CloudFront コンソールで、または CloudFront API/CLI から関数を構築できます。コードを記述したら、CloudFront ディストリビューションに対して関数をテストして、デプロイ後に確実に正しく実行されるようにできます。コンソールのテスト機能は、JSON の編集を必要とせずに、テストイベントをすばやく作成するためのビジュアルエディタを提供します。

CloudFront イベントへの対応としてカスタムコードを実行できる既存の AWS Lambda@Edge 機能に加えて、CloudFront Functions を使用できます。サーバー側のレンダリングや画像の最適化など、計算量の多いオリジンのリクエストとレスポンスオペレーションには、引き続き Lambda@Edge を使用すべきです。CloudFront Functions の料金は、100 万回の呼び出しあたり 0.1 USD です。料金の詳細については、CloudFront の料金ページにアクセスしてください。CloudFront Functions の詳細については、CloudFront Functions のリリースブログCloudFront デベロッパーガイド、または特徴に関するよくある質問をご覧ください。