目次
背景と課題:なぜDBのコスト最適化が必要か
継続的に稼働するデータベースは、クラウド上でコストが積み上がりやすい代表的なリソースです。開発初期は問題にならない金額でも、本番運用が長期化するにつれてランニングコストがじわじわと利益を圧迫します。
そこで、GCPに構築したCloud SQLのコストを削減するため、確約利用割引(CUD: Committed Use Discounts)を適用し、コストを半減させました。CUDは、一定期間の継続利用を確約する代わりに割引価格でサービスを利用できる仕組みです。サブスクリプション型サービスでもよく見られる料金体系と考えれば分かりやすいでしょう。今回は長期稼働が前提だったため、最も割引率の高い3年契約を選択しました。
FinOpsという考え方
クラウドのコストを可視化し、継続的に最適化していくための組織横断的なフレームワークをFinOpsと呼びます。FinOps Foundationという業界団体も存在し、実践知の体系化が進んでいます。
CUDの適用は、このFinOpsが掲げるコスト最適化施策の一つに位置づけられます。単なる値切りではなく、利用実態を把握したうえで確約すべきリソースを見極める判断そのものが、FinOpsの実践です。
Cloud SQLのコスト構造を理解する
CUDを適切に適用するには、まず課金がどこで発生しているかを正確に把握する必要があります。Cloud SQLでは、主に次の要素に課金されます。
- CPUとメモリ(インスタンスのスペックに応じた課金)
- ネットワークの下り(egress、外向き)トラフィック
料金の詳細はCloud SQL の料金に記載があります。
注意すべきは、HA(高可用性)構成を有効にするとインスタンスが冗長化され、その分コストもおおむね倍増する点です。可用性要件とコストのバランスを踏まえて構成を決定してください。
コスト計算ツールの活用
見積もりの精度を高めるには、料金表をもとにした手計算が基本です。加えて、Googleが提供するPricing Calculatorを検算用に併用すると、算定ミスを防げます。
クラウドはコスト算定を誤ると請求が想定を大きく超えるリスクがあるため、見積もりの二重チェックは有効な予防策です。高額請求が事後に免除される事例もありますが、それは例外と捉え、事前の見積もりと監視で回避する前提で設計するのが堅実です。
適用の勘所と注意点
CUDを適用する際は、次の点を押さえておくと失敗を避けられます。
- 確約期間中は継続的にコミット分の料金が発生するため、短期での縮小・廃止が見込まれるリソースには適用しない
- 実際の利用実績(スペック・稼働状況)を確認したうえで、確約するリソースとサイズを見極める
- 割引率と確約リスクのバランスから、1年契約か3年契約かを選択する
長期稼働が確実なリソースに絞って適用すれば、確約リスクを抑えつつ割引効果を最大化できます。今回の事例では、この見極めによってDBコストを半減できました。
まとめ
クラウドのコスト最適化(FinOps)のご相談は、お問い合わせからお気軽にどうぞ。