More Related Content
More from Amazon Web Services Japan (20)
AWS社員による怒涛のLTチャレンジ! AWS Lamdba@Edgeでできるかな?
- 1. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アマゾン ウェブ サービス ジャパン株式会社
ソリューションアーキテクト
藤原 吉規
AWS Lambda@Edge
でできるかな?
JAWS DAYS 2021 SA 怒涛の LT
2021.03.20
- 2. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon CloudFront
クライアント
1. HTTP のリクエスト
2. HTTP のリクエスト
3. コンテンツの取得
5. コンテンツの取得
4. コンテンツをキャッシュ
6. HTTP のリクエスト
7. コンテンツの取得
• ユーザーを一番近いエッジロケーションに誘導することで 配信を高速化
• エッジサーバでコンテンツのキャッシングを行い オリジンの負荷をオフロード
• AWS global network を利用することによる非キャッシュコンテンツの高速化
クライアント
からの距離
レスポンス向上
近い 遠い
高速化
Fast, highly secure and programmable content delivery network (CDN)
高い安全性と高性能な実現するプログラム可能なコンテンツデリバリーネットワーク
オリジンサーバ
(AWS Region)
負荷軽減
Amazon
CloudFront
- 3. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コード実行をエッジに移動
動的コンテンツの作成や修正
Lambda@Edge によるカスタマイズと高速化
• エッジのイベント駆動型コード
• レスポンス Header の操作
• 認証
• HTTP リダイレクト
• A/B テスト
• スマートコンテンツアセンブリ
• 画像の最適化
• アクセス制御
エッジロケーション
ビューワーリクエスト
ビューワーレスポンス
エンドユーザー
CloudFront キャッシュ
オリジンリクエスト
オリジンレスポンス
オリジン
サーバー
- 4. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
*リクエスト数は、トラフィック量/地域性/リクエスト率およびその他の要因によって異なります
Origin Shield
• オリジンへの負荷を最小限に低減
• オリジンのコスト最適化
・リクエスト数削減
・データ転送量削減
• ユーザー体験の向上
• キャッシュ効率の向上
Regional Edge Cache – 北米 (3), アジア(4), EU(3)
12+* オリジンへのリクエスト
従来の構成 +Origin Shield
1* オリジンへのリクエスト
Regional Edge Cache – 北米 (3), アジア(4), EU(3)
- 5. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ここで Origin Shield の AWSドキュメントを
確認してみましょう
Origin Shield と Lambda@Edge
Origin Shield は Lambda@Edge 関数の機能には影響しませんが、これ
らの関数が実行される AWS リージョンに影響する可能性があります。
Lambda@Edge と共に Origin Shield を使用する場合、オリジン向け
トリガー (オリジンリクエストとオリジンレスポンス) は、Origin
Shield が有効になっている AWS リージョンで実行されます。ビュー
ワー向けトリガーは影響を受けません。
https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#origin-shield-and-lambda-at-edge
- 6. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
なるほど 🤔
- 7. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
つまり。。
オリジン向けトリガー (オリジンリクエストとオリジンレスポンス) が
Origin Shield が有効になっている AWS リージョンで実行されるとい
うことは、シンプルに特定の AWS リージョンで動く実装にできます。
Amazon S3 のオリジナルデータを変換、 DynamoDB でステート管
理、その他のリージョナルなマネージドサービスの組み合わせて、
CloudFront のキャッシュを有効活用する仕組みを実現できそう。
- 8. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ちょうど良いの
ありました💡
- 9. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
オンザフライ動画変換 //
https://aws.amazon.com/jp/blogs/news/on-the-fly-video-conversion-amazon-cloudfront-lambdaedge-mediaconvert/
- 10. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda@Edge によるオンザフライ動画変換
1. HLS マニフェストリクエストのクエリ文字列に解像度と mp4 ファイルを指定
2. キャッシュミスしてオリジンリクエスト Lambda@Edge 関数がトリガー
3. Lambda@Edge 関数はクエリ文字列をもとに S3 上の HLSマニフェストを取得
4. HLS マニフェストが見つからない場合、Lambda@Edge 関数は
MediaConvert 動画変換 Job を起動
5. MediaConvert 動画変換 Job は S3 からソース mp4 ファイルを取得
6. MediaConvert 動画変換 Job は S3 に HLS マニフェスト/セグメントの生成を
開始、セグメント変換が終了するまで HLS マニフェストをアップデート
7. Lambda@Edge関数はイントロセグメントを示す HLS マニフェストを動的に生
成、 Cache-Control: max-age も短く設定
8. CloudFront はイントロ HLS マニフェストをレスポンス
※クライアントの HLS プレーヤーはセグメント生成が完了するまで繰り返し HLS
マニフェストにアクセス
- 11. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
- 12. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ThankYou!