Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コストに関するヒヤリハットのお話 ~コスト超過で手遅れにならないためにすべきこと~

Red Frasco
December 21, 2023

コストに関するヒヤリハットのお話 ~コスト超過で手遅れにならないためにすべきこと~

2023/12/07 に開催された 2023年ヒヤリハット大反省会@新宿(https://findy.connpass.com/event/302579/)の登壇資料です

Red Frasco

December 21, 2023
Tweet

More Decks by Red Frasco

Other Decks in Technology

Transcript

  1. ⽬次 1. ⾃⼰紹介/弊社紹介 2. コストに関するヒヤリハット事例(おしながき) 1. Datadogの外形監視(Synthetics)を追加しただけなのに請求額 が︕︖ 2. GCP

    Dataflowでインスタンスが80台に・・・︕︖ 3. iOSアプリで爆速開発︕でもCircleCIからの明細が・・・ 3. 事故(⼿遅れ)にならないために何ができるか 4. まとめ
  2. ⾃⼰紹介 猪熊 朔也 ( いのくま さくや ) / @sinocloudon -

    株式会社 Red Frasco - インフラエンジニア u経歴 - ⾦融系 SIer, リクルート(SUUMO), ⾦融系スタートアップ, 現職 uその他コメント - うどんが好きです - ラーメン⼆郎が好きです - うどん脳 をプロフィールアイコンにすることが多いです 3
  3. みなさんコスト管理してますか︖ • インフラはもちろんですが、開発を営むためには多くのコスト を管理しなければなりません • インフラ利⽤料 • AWS, GCP, Azure

    など • 開発ツール • GitHub Enterprise, CircleCI, TablePlus, InteliJ など • 監視・モニタリングツール • Datadog, PagerDuty, Sentry など 6
  4. コスト管理は難しい • コスト管理のよくあるお悩み • そもそも予算計画を思いっきりはずしてしまう • 計画外の案件追加によるコスト増 / 案件中⽌・延期によるコスト減 •

    予測できないドル円レート • コスト運⽤作業を⾃動化したいと思いつつ結局⼿作業 • 予実の差分理由を解明するまで時間がかかる • 請求書を⾒てビックリする 7
  5. Datadog Synthetics がすべてのリージョンからテスト実⾏していた • 新規構築中のシステム向けの監視設定を夏休み前に追加 • 夏休み明け、Datadog Synthetics のテスト実⾏が爆発的に増えて いることに気づく

    • デフォルト設定のままだと Datadog Synthetics は全世界23リー ジョンから1分間隔でテストを実⾏する • その結果、3週間で通常時の1.5倍のコストがかかってしまった • 契約量の⾒直しやログ量削減によるコストカットによりトータルでの 予算超過を回避 12
  6. 13

  7. アラートの活⽤と定例での定点観測でコスト超過リスクを最⼩化 • アラートの活⽤ • Datadog の場合、推定使⽤量メトリクス が取得できるため、使⽤量ア ラートを設定することが可能 • https://docs.datadoghq.com/ja/account_management/billing/usage_metrics/

    • ツール次第だが、アラート設定できるものは積極的に活⽤ • しきい値監視と異常監視とセットで運⽤ • しきい値を超えてからでは⼿遅れになる可能性 • 急激なリソースの増減は異常監視によって早期に検知しやすい • ⼤量の ECS の vCPU/Mem を増強した • 機械学習⽤インスタンスを⼤量に起動した など 20
  8. 21

  9. アラートの活⽤と定例での定点観測でコスト超過リスクを最⼩化 • 定例での定点観測 • アラート設定ができないものは定期的なモニタリングでカバー • CircleCI は 定期的に使⽤量ダッシュボードを⾒るしか⼿段がない •

    定例の中でコスト最適化施策も議論する • AWS の場合、アカウント軸 -> サービス軸 の順にドリルダウンしてコスト⽐率の⼤きい ところから最適化施策を考える • 例えば、こんなことを取り組んできました • 不要なVPC Endpoint を削除 • CloudWatch Logs への PutLogEvents を必要最⼩限にする • S3に保存されたログのライフサイクル設定 • Fargate SPOT を開発環境に導⼊ • CircleCI の残余クレジットを使い切る 22