何があったか
久々CloudFront設定をしたら3年前のエピソードを思い出した。
リクエスト増加でCloudFrontを導入したが、コストがかかっても更新時にすぐ確認したいとの要望。[Invalidation]でキャッシュの無効化はできるが・・・
コンテンツが更新されたら動く。そうLambdaの登場。以下が自分資料より分かりやすかったのでそのままリンク。
静的コンテンツを更新したときに即時反映されるようにCloudFrontのInvalidationを走らせるLambda関数
ある日偶然、テストアカウントの請求ダッシュボードを見ると、60万円を超えている。月変わって10日しか経てないのに。(偶然見なかったらその月どうなっただろう・・・)
リミッターとか警告はデフォルト装置で必要ではないか
Invalidationはプレミアム的な料金に気をつけよ。CF導入は新プロジェクトの新しい試みだったし、故意ではないので注意だけで終わりとなったけど、65万はそれでよかったとは思えない。検索すると似たようなAWS魔と出会ってしまった苦労人がいた。
AWSさん、小銭稼ぎ(AWSにとっては)はやめましょう。上司に叱られAWSが嫌になったエンジニアって意外といると思いますよ。
CloudWatchかなにかで料金監視すること
前に進むしかない
キャッシュはどうしても導入したい。無効化は必要。
テスターに下記で納得していただいた。
URLの後ろに処理に影響のないパラメータをつける!
CFが新しいページと認識するのでキャッシュークリアの効果がある。
https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects-paths
.../sample.php?1906171634
メモ
登録フォームなどキャッシュがジャマになるページはBehaviorsでキャッシュスルー設定