gitkadoの気まぐれ日記

島根在住エンジニアが何かに興味を持ったらブログを更新します

CloudFront Functionsがリリースされました!

CDN

CDNとは、「コンテンツデリバリーネットワーク」(Content Delivery Network) の略で、世界中に張り巡らされた配信ネットワークを利用して、Webサイトにアクセスしようとするユーザーに効率的かつ高速にWebコンテンツを配信するしくみです。【転載】

【CDNとは?】初心者にもわかりやすく解説 | WafCharm(ワフチャーム) - AIによるAWS / Azure WAFのルール自動運用サービス

CloudFront

AWSが提供しているCDNサービス

ユーザーへの静的および動的なウェブコンテンツ (.html、.css、.js、イメージファイルなど) の配信を高速化するウェブサービスです。CloudFront では、エッジロケーションというデータセンターの世界的ネットワークを経由してコンテンツを配信します。【転載】

f:id:gitkado:20210505133236p:plain

Amazon CloudFront とは何ですか? - Amazon CloudFront 特徴 - Amazon CloudFront | AWS

ユースケース

  • OriginへのアクセスをEdgeでキャッシュする
  • Origin負荷が減り、Userに近いEdgeから応答できる

f:id:gitkado:20210505133304p:plain

Lambda@Edge

  • CloudFrontの機能の1つ
  • CloudFrontの前後にLambda処理を入れ込める

f:id:gitkado:20210505133551p:plain Lambda@Edge | AWS aws.amazon.com

ユースケース

  • 画像(S3) へのアクセス可否をLambdaで検証する
  • 認可処理なのでViewerRequestを使用する

f:id:gitkado:20210505133642p:plain

CloudFront Functions

  • 2021年5月3日にサービスイン
  • Lambda@Edgeより手前で関数を爆速で実行できる

f:id:gitkado:20210505133840p:plain

  • Lambda@EdgeはRegionalEdgeCaches 上で実行される
    • EdgeLocationsは使われていなかった

f:id:gitkado:20210505133853p:plain f:id:gitkado:20210505134007p:plain

aws.amazon.com

特徴

  • ユーザに近いEdgeLocationsで実行され早い
  • 10KB以下のJSファイル内で完結させることができる処理しかできない
  • ネットワークアクセスできないので認可処理のようなことは難しいのかも
  • 当たり前だがLambdaではない

f:id:gitkado:20210505134110p:plain f:id:gitkado:20210505134156p:plain CDN Pricing | Free Tier Eligible, Pay-as-you-go | Amazon CloudFront

まとめ

  • AWS上で完結させるにはLambda@Edgeしか選択肢がなかった部分に新しい選択肢が増えたのは面白いなと思いました。
  • CloudFront Functionsの方がコスパ良い&爆速処理なので採用できる場面では積極的に試してみても良いのかなと思いました。
  • クラメソさんのブログ更新が早すぎました。(いつもお世話になってます)

dev.classmethod.jp