技術部 SRE グループの mozamimy です。本セッションでは、クックパッドにおける、AWS のコストを可視化・管理し、最適化までカバーする取り組みについて話す予定です。AWS コストを、と銘打っていますが、その根本的な考え方や各テクニックの本質的な部分は GCP や Azure といった他のパブリッククラウドでも役に立つでしょう。
会社のミッションを達成するための原動力として、お金は有限のリソースであり適切に管理するべきです。サービスを提供するためのインフラはそれ自体が利益を生むことはできません。したがって、ユーザ向けに同じクオリティのサービスや、社内の開発者向けに同じ開発効率を提供できるのであれば、インフラコストを下げて、事業に直接関係する投資などの有意義なお金の使い方をするほうがよいでしょう。
AWS のコスト管理・最適化の枝葉のテクニックはいろいろありますが、「コストを説明できる」というところに集約できるとわたしは考えています。クックパッドではこの考え方をベースにして、年次の AWS の予算案の作成、月次の経営層をまじえてのコストの振り返り、週次の SRE 定例ミーティングなどを中心とした、コスト管理の業務プロセスを実践しています。
本セッションでは、まず「コストを説明できる」というのはどういうことかを説明したのち、過去 (2019 年頃) のクックパッドにおける AWS コスト管理の課題を振り返り、どのような流れで現在の業務プロセスになったのかを説明します。
次に、その業務プロセスを支える技術について、以下の仕組みについてそれぞれ説明します。
- RI / Savings Plans を管理するための仕組み
- コスト配分タグを管理と月次レポートの半自動生成機能を中心とした、スタッフ向けのウェブツール
- 開発向けサンドボックス AWS アカウントのリソースを定期的に掃除する仕組み
これらの仕組みは AWS のマネージドサービス (Cost Explorer や CloudWatch カスタムメトリクスなど) をうまく利用しつつ、足りない部分を内製で補うようになっています。
さいごに、これらの仕組みを整えたことによりメリットがあったと実感できた事例や、社内のプロダクト開発チームに与えた影響、これからの展望についても述べます。