CloudFrontのキャッシュヒット率が酷い → 自分の設定が酷かっただけであった

以下の記事で動画配信の仕組みを作成した。
yoneyore.hatenablog.com

動画配信自体は問題なかったが、視聴者が増えるにつれて動画がスムーズに見れないという人が増えてきた。
Chromeのバージョンが上がった事で利用しているVideo.jsをアップデートしないといけないなどはあったが、多分原因は当初から分かっていた。
CloudFrontのキャッシュヒット率である。
ただ、これはどうしようも制御できないと勝手に思い込んでいた。
そのため、たまに再生するなどでカバーするしかないのかと思っていた。
結果、以下の様な酷いキャッシュヒット率をキープしていた。
f:id:yoneyore:20200627201926p:plain

さすがにVimeoとか利用するしかないかなぁと思いながらも改善方法ないかと思い、CloudFrontのガイドを読み返してみた。
結果、重大な設定が行えてなかった事に気が付いた。。。
キャッシュ生存期間の設定が行えてなかった。。。
docs.aws.amazon.com
1~2時間位の突貫で作成したとはいえ、ちょっと確認不足であった。
そのため、S3 & LambdaからS3オブジェクトに対してちまちまmax-ageの設定を行おうと思い色々施行錯誤していたら、以下の様な記事が…。
dev.classmethod.jp
完全に自身の勉強不足なだけであった。。
AWS側としては、CloudFrontにキャッシュ貯めておいてもそれだけ使ってもらえたら料金ペイ出来るやろし、わざわざキャッシュアウトとかケチ臭いことせんのか(貧乏SEに被害妄想やった…)