エッジコンピューティング
ユーザーに近いエッジロケーションでコードを実行し、レイテンシを削減する技術
エッジコンピューティングとは
エッジコンピューティングは、ユーザーに近いエッジロケーション (PoP) でコードを実行し、レイテンシを削減する技術である。CloudFront Functions と Lambda@Edge が AWS のエッジコンピューティングサービス。
オリジン vs エッジ
オリジンと エッジ の違いを図で示す。
従来 (オリジン処理):
ユーザー (東京) → CloudFront → Lambda (ap-northeast-1) → レスポンス
レイテンシ: 50ms
エッジ処理:
ユーザー (東京) → CloudFront (東京エッジ) → レスポンス
レイテンシ: 5ms
CloudFront Functions vs Lambda@Edge
CloudFront Functions と Lambda@Edge の違いを以下にまとめる。
| 観点 | CloudFront Functions | Lambda@Edge |
|---|---|---|
| 実行場所 | 全エッジ (400+) | リージョナルエッジ (13) |
| 実行時間 | 最大 1 ミリ秒 | 最大 30 秒 |
| メモリ | 2 MB | 128〜10,240 MB |
| ネットワーク | ❌ | ✅ |
| 料金 | $0.10/100 万リクエスト | Lambda 料金 |
| 用途 | ヘッダー操作、リダイレクト | 認証、画像変換 |
CloudFront Functions の例
CloudFront Functions の例を示す。
// URL のリライト: /about → /about.html
function handler(event) {
const request = event.request;
const uri = request.uri;
if (uri.endsWith('/')) {
request.uri += 'index.html';
} else if (!uri.includes('.')) {
request.uri += '.html';
}
return request;
}
エッジのユースケース
CloudFront Functions は URL リライト、リダイレクト、A/B テスト、地理的ルーティングなど軽量な処理に適する。Lambda@Edge は JWT 検証による認証や画像最適化など、ネットワークアクセスや長い実行時間が必要な処理に使う。
エッジの制約
CloudFront Functions は実行時間が極めて短く (最大 1 ミリ秒)、ネットワークアクセスもできないため、重い処理はオリジンで実行するか Lambda@Edge を使う。Lambda@Edge はデプロイが遅いため、軽量な処理には CloudFront Functions を優先する。
エッジコンピューティングについては関連書籍でも詳しく扱われている。
この記事は役に立ちましたか?
関連用語
関連する記事
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
OS・低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
バグを生むのは知識不足ではなく想像力不足である
バグの多くは、コードを書いた時点で「こういうケースもありうる」と想像できなかったことが原因です。想像力を鍛える読書法と、エッジケースへの感度を高める方法を解説します。