GCP上でDataiku DSSを効率的に運用するためのコスト削減策:5分の1のコスト削減に成功!

Google Cloud Platform (GCP) 上で Dataiku DSS を運用する際に、コスト削減のための効率的な方法が存在します。この方法を実施することで、コストを 5 分の1 にまで削減することができます。具体的には、必要のないインスタンスを停止することで、インスタンスの利用時間を最適化、マシン構成を最適化するという方法があります。
はじめに
こちらの記事はGCP上にDataiku DSSをセットアップする方法を解説!クラウド上でのデータ分析が更に簡単に の続きです。
GCP上にDataiku DSSをインストールした後、最初の5日間は1日あたり高額なコストがかかりました。この問題を解決するために、私はGCPのコスト管理ツールを使い、VMインスタンスの構成を最適化しました。この取り組みにより、コストを5分の1に削減することができました。今回は、このコスト削減についての体験談を詳しくお伝えします。
コストのモニタリング方法
GCPのコストをモニタリングする方法として、まずは「お支払い」→「今月のレポートを表示」という画面で、一日単位のコスト推移を確認することができます。
さらに、フィルタを「SKU」に変更することで、VMインスタンスの中でもどのVMインスタンスでコストがかかっているのか、またVMインスタンスでどの部分が一番コストがかかっているのか識別できます。
例えば、マシンタイプがn1であるVMインスタンスが設定した地域で動いている間にかかるコストが青色の部分で表示されます。これにより、VMインスタンスを停止しないでずっと稼働させていたために、この部分で最もコストがかかっていることが分かります。
他にも下のオレンジも似たようなものなのでVMインスタンスが2つずっと起動していたからと分かりますね。
1.マシンタイプ、コア数、メモリを変更する
GCPでコストを削減するには、VMインスタンスのサイズを最適化する必要があります。
初期設定のまま何日か稼働させると、GCPが自動的にサイズ最適化の提案をしてくれます。この提案に従い、マシンタイプ、コア数、メモリを変更して最適化します。これにより、必要以上に大きなサイズのVMインスタンスを使わず、コストを削減することができます。
<注意点>
VMインスタンスのマシンタイプを変更するとFMをデプロイ時に指定したマシンタイプとは異なる状態になります。
私が実際に変更した際に、タブを開けなくなるという問題が発生しました。そのため、再度マシンタイプを変更して、FMをデプロイし直しました。
具体的には、以下のコマンドを使用してデプロイをアップデートしました。
gcloud deployment-manager deployments update <deployment-name> --project=<project-name> --template fleet-manager-instance.jinja --properties="zone=<zone>-a,machineType=<変更後のmachine-type>,network=<network>,subnetwork=<subnetwork>,serviceAccount=<fm-email>,allowedCIDR=<allowed-cidr>,username=<fm-username>,password=<fm-password>,sshKey='<fm-authorized-key>'"
すると問題なくFMのログイン画面に接続できました。
2.VMインスタンスを使用しないときは停止
二つ目の方法はシンプルにVMインスタンスを使用しないときはインスタンスを停止させます。
ただしコツと注意点がいくつかあります。
<注意点>
注意点はVMインスタンスを公式ドキュメント通りに設定するとインスタンスを停止して立ち上げるたびに外部IPアドレスが毎回変更されます。
そのため毎回Computer EngineからVMインスタンスの外部IPアドレスを確認してタブを開くか、IPアドレスを固定させてしまう方法があります。
<IPアドレス固定方法>
「VPCネットワーク」→「IPアドレス」→「RESEVE EXTERNAL ADDRESS」で設定を行います。
名前を決定し接続先で固定したいVMインスタンスを選びます。
以上でIPアドレスの設定は終了です。
<コツ>
GCP上にDataikuをセットすると結果的にFM用のVMインスタンスとDataiku DSS用のVMインスタンスの二つができます。
- 起動させているVMインスタンスの種類
①この画面を起動しているときに使われるFM用のVMインスタンス

②この画面を使用しているときに使われるDataiku DSS用のVMインスタンス

私の場合FMはあまり使わず、Dataiku DSSのみ使ってデータ分析を行っていたのでDataiku DSSにFMを通してログインできればFMを起動させる用のVMインスタンスは停止していても問題ありません。Dataiku DSSで長時間作業を行う場合はFM用のVMインスタンスは停止させましょう!
逆も然り、FMのみ使うのであればDataiku DSS用のVMインスタンスは停止させておくとよいでしょう。
まとめ
以上、Google Cloud Platform(GCP)上でVMインスタンスを最適化する方法について説明しました。VMインスタンスサイズを最適化することで、コストを削減できます。そのためには、VMインスタンスのマシンタイプ、コア数、メモリを変更することができます。また、VMインスタンスを使用しない場合は停止することができますが、外部IPアドレスが変更されることに注意する必要があります。固定IPアドレスを設定することもできます。これらの方法を使って、GCP上で効率的にVMインスタンスを管理できるようになりました。
ここまで読んで下さりありがとうございました。