動画の容量と保存 · 参考資料確認日 2026年9月21日
CloudFrontで50 GB超のobjectをRange GETでcacheする条件
originに大きなobjectを置けても、CloudFrontが一回のGET responseとしてcacheできるsizeは別です。64 GBのrequest body quotaをdownloadやcacheの上限として使わないでください。
cacheable HTTP GET responseは最大50 GB
CloudFrontがcacheできるHTTP GET responseの最大sizeは50 GBです。cache有効時にoriginがContent-Lengthで50 GB超を示すと、CloudFrontはfull objectを取得・cacheせず、viewerへerrorを返すことがあります。
64 GBはHTTP request bodyの最大sizeで、viewerが大きなobjectをdownloadするための推奨upload量ではありません。GET responseのcache判断とrequest bodyを別の軸として扱います。
各partを50 GB未満にしたRange GETで分割cacheできる
validなRange GETを使えば、50 GBを超えるobjectでもpartごとに取得してcacheできます。たとえば100 GB objectを20 GBずつrequestし、受信側で結合する構成です。
Range指定は昇順で、互いに重複せず、すべて有効である必要があります。条件を満たさない場合、CloudFrontは206のpartial responseではなく200でfull objectを返すことがあり、large objectでは再び50 GB境界へ当たります。
cache設定とRange responseを実測する
originのContent-Length、CloudFrontのcache有無、clientのRange header、originの206 responseを確認します。各partを50 GB未満にし、昇順・非重複のrangeであることも確認してください。
cacheを無効にすれば50 GB超をoriginからpass throughできる場合がありますが、そのobjectはcacheされません。目的が配信だけかedge cacheかを先に決めてから構成を選びます。
参考資料
- CloudFront quotas
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
確認日:2026-09-21
- CloudFront Range GETs
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RangeGETs.html
確認日:2026-09-21