Slide 1

Slide 1 text

コストに関するヒヤリハットのお話 2023年ヒヤリハット⼤反省会@新宿 コスト超過で⼿遅れにならないためにすべきこと

Slide 2

Slide 2 text

⽬次 1. ⾃⼰紹介/弊社紹介 2. コストに関するヒヤリハット事例(おしながき) 1. Datadogの外形監視(Synthetics)を追加しただけなのに請求額 が︕︖ 2. GCP Dataflowでインスタンスが80台に・・・︕︖ 3. iOSアプリで爆速開発︕でもCircleCIからの明細が・・・ 3. 事故(⼿遅れ)にならないために何ができるか 4. まとめ

Slide 3

Slide 3 text

⾃⼰紹介 猪熊 朔也 ( いのくま さくや ) / @sinocloudon - 株式会社 Red Frasco - インフラエンジニア u経歴 - ⾦融系 SIer, リクルート(SUUMO), ⾦融系スタートアップ, 現職 uその他コメント - うどんが好きです - ラーメン⼆郎が好きです - うどん脳 をプロフィールアイコンにすることが多いです 3

Slide 4

Slide 4 text

株式会社Red Frasco • https://www.red-frasco.com/ • 不動産業界に特化したプロダクト開発・集客⽀援を実施 4

Slide 5

Slide 5 text

5 導⼊編

Slide 6

Slide 6 text

みなさんコスト管理してますか︖ • インフラはもちろんですが、開発を営むためには多くのコスト を管理しなければなりません • インフラ利⽤料 • AWS, GCP, Azure など • 開発ツール • GitHub Enterprise, CircleCI, TablePlus, InteliJ など • 監視・モニタリングツール • Datadog, PagerDuty, Sentry など 6

Slide 7

Slide 7 text

コスト管理は難しい • コスト管理のよくあるお悩み • そもそも予算計画を思いっきりはずしてしまう • 計画外の案件追加によるコスト増 / 案件中⽌・延期によるコスト減 • 予測できないドル円レート • コスト運⽤作業を⾃動化したいと思いつつ結局⼿作業 • 予実の差分理由を解明するまで時間がかかる • 請求書を⾒てビックリする 7

Slide 8

Slide 8 text

8 実際にあったコストに関する ヒヤリハット事例を共有します

Slide 9

Slide 9 text

9 本編

Slide 10

Slide 10 text

10 Datadogの外形監視(Synthetics)を追加しただけなのに請求額が︕︖

Slide 11

Slide 11 text

11 テスト実⾏数が通常時の4倍に跳ね上がっている ⇩ 通常の使⽤量

Slide 12

Slide 12 text

Datadog Synthetics がすべてのリージョンからテスト実⾏していた • 新規構築中のシステム向けの監視設定を夏休み前に追加 • 夏休み明け、Datadog Synthetics のテスト実⾏が爆発的に増えて いることに気づく • デフォルト設定のままだと Datadog Synthetics は全世界23リー ジョンから1分間隔でテストを実⾏する • その結果、3週間で通常時の1.5倍のコストがかかってしまった • 契約量の⾒直しやログ量削減によるコストカットによりトータルでの 予算超過を回避 12

Slide 13

Slide 13 text

13

Slide 14

Slide 14 text

14 GCP Dataflowでインスタンスが80台に・・・︕︖

Slide 15

Slide 15 text

マネージドサービスが勝⼿に⼤量のリソースを使⽤しまう • Dataflow で重い処理を実⾏していた • 最⼤インスタンス数を指定していなかった • 処理量に応じてインスタンスが80台くらいに跳ね上がる • すぐ気づいたので慌てて処理を停⽌ 15

Slide 16

Slide 16 text

16 iOSアプリで爆速開発︕でもCircleCIからの明細が・・・

Slide 17

Slide 17 text

マネージドサービスが勝⼿に⼤量のリソースを使⽤する • iOS アプリのリニューアルを実施 • 案件も佳境に⼊り、毎⽇ビルドしまくる • 1回のビルド時間は⼤体30分前後 • ⾯⽩いように CircleCI のクレジットが⾶んでいく • 必要経費ではあるが、想定よりも多くのコストがかかってし まった 17

Slide 18

Slide 18 text

18 (再)コスト管理は難しい…

Slide 19

Slide 19 text

19 では事故を起こさないためには どうすればよいのでしょうか︖

Slide 20

Slide 20 text

アラートの活⽤と定例での定点観測でコスト超過リスクを最⼩化 • アラートの活⽤ • Datadog の場合、推定使⽤量メトリクス が取得できるため、使⽤量ア ラートを設定することが可能 • https://docs.datadoghq.com/ja/account_management/billing/usage_metrics/ • ツール次第だが、アラート設定できるものは積極的に活⽤ • しきい値監視と異常監視とセットで運⽤ • しきい値を超えてからでは⼿遅れになる可能性 • 急激なリソースの増減は異常監視によって早期に検知しやすい • ⼤量の ECS の vCPU/Mem を増強した • 機械学習⽤インスタンスを⼤量に起動した など 20

Slide 21

Slide 21 text

21

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

23 まとめ

Slide 24

Slide 24 text

無駄を省いて筋⾁質なインフラを⽬指しましょう︕ • コストに関するヒヤリハット事例を3つ紹介しました • アラート・定期的なモニタリングだけでなく、⽇頃からコスト 削減策を実⾏することで超過リスクに備える • インフラ利⽤料だけでなく、開発で使⽤するツールについても コスト最適化の余地がないか検討する 24

Slide 25

Slide 25 text

Thanks for listening!