BigQuery定額料金モデルの導入と権限分離 - CTOが聞く Vol.2

VOYAGE GROUPのエンジニアにCTOが「最近は何やってるの?」と聞いていく連載の第2弾です。今回はVOYAGE GROUP全体のインフラを担当しているともかつさんに話を聞いてみました。

目次

定額料金モデルとは

(CTO) 最近は何やってるの?

(ともかつ) BigQueryの料金モデルを定額に変更しました。

(CTO) おー、コスト下がったって言ってたやつね。定額料金モデルってどんな内容なのか教えて。

(ともかつ) 公式サイトには「BigQuery では、処理データの TB あたりオンデマンド料金よりもクエリの固定料金をご希望のお客様向けに定額料金をご用意しています。」と書いてあります。うまく使えばオンデマンド料金より安くなると思います。

f:id:voyagegroup_tech:20200522164838p:plain
クエリの料金 - BigQueryの料金

(CTO) 単価が安いってことは何か制約があるってことだよね?

(ともかつ) クエリ処理に使用するスロットを、500スロット単位で購入する必要があります。ただし効率よくスロットを使えなければ、オンデマンドより高くなります。

(CTO) まあ、ただ単に安くなるなんてうまい話はないよね。

最初は苦戦した

(CTO) どう進めていったの?

(ともかつ) VOYAGE GROUPは多くのプロダクトでBigQueryを利用しています。その中で1番利用料の多いプロジェクトから導入を進めました。

(CTO) お、いきなり1番多いとこから? 少ないプロジェクトからって手もあったんじゃない?

(ともかつ) 一番多いところで導入することがメリットを享受しやすいので。ただ、スロットを使い切る可能性も十分考えられる利用状況だったので、何かあればすぐオンデマンドに切り替えられることを事前に検証し、事業リスクも低いと結論づけて実行に移しました。

f:id:voyagegroup_tech:20200522180101p:plain
料金モデルの選択: オンデマンドと定額

(CTO) なるほどね。順調だった?

(ともかつ) それが、懸念していたようにスロット上限を利用した状態で張り付いてしまい、クエリの実行に遅延が発生しうる状態になってしまって・・・。いったんオンデマンドに戻しました。

(ともかつ) そこから新規のGCPプロジェクトを作成し、処理に時間が掛かるクエリをそのプロジェクトに移設しました。もう大丈夫だろうと改めて定額に切り替え、一旦は問題ないように見えました。

(ともかつ) ところが、アドホックの調査用のクエリで重たいものがいくつかあり、何回か上限に張り付く事象が発生しました。

(CTO) 運用に載せると見えてないものが見えてくるよねw

(ともかつ) はい。。。

管理の一部を権限移譲した

(ともかつ) オンデマンドと定額を切り替える権限はシステム本部(VOYAGE GROUP全体に関わるインフラやCorporateITに責任を持っている部署)だけが持っていました。なぜかと言うと、この権限を渡すと別の部署の設定も変更できてしまうからです。

(ともかつ) とはいえ、1次アラートを受け取ったチームメンバーがすぐ対応できない状況はシステム本部にとっても各部署のチームにとっても良い状態ではないので、なんとかしたいと思っていました。

(CTO) アラートを受け取った人がすぐ対処できるようにしたいよね。

(ともかつ) マニュアルを調べつつ権限の調整と検証をしていると、GCPコンソール画面からはできないけど、API経由であれば細かく設定できることを発見しました。

(ともかつ) これを使うことで各部署は自分たちのリソースだけを操作できるようになりました。

f:id:voyagegroup_tech:20200522175825p:plain
容量コミットメントをワークロード、チーム、および部門に分割

(CTO) 上記画像にあるAssignments単位でオンデマンドと定額を切り替えることができるようになったということか。これはGUIでも設定できると嬉しいやつだ。

今後やっていきたいこと

(CTO) まずは1つの部署で導入し、安定運用までいきました。今後やっていきたいことは?

(ともかつ) 現在の使いかただとスロットにまだ余裕があるので、今後は定額の利用部署を増やしていきます。

(ともかつ) そのためには各部署ごとにスロットの最低限の確保をする必要があると考えています。

(CTO) ある部署が一気に使って他の部署のサービスに影響が出ないようにするには最低保証は欲しいよね。

(ともかつ) そうなんです。そしてそれをやろうとするとまたAPI経由での設定になるようなので、そのあたりを調査、構築、テストしていきます。

(CTO) いいね。

まとめ

(CTO) 料金モデルの変更にあたり、事前の試算から初期導入までを良いスピードで進めたこと、今後の全社展開など、いい話が聞けました。

さて、次回は誰に聞こうかなー


バックナンバー techlog.voyagegroup.com