こんにちは。運用開発グループの高橋です。
クラウドサービスには複数の割引オプションが提供されているケースが多いかと思いますが、上手く活用できておりますでしょうか?
本記事では、費用最適化の取り組みとして、GCPの確約利用割引を購入してみたのでその実例をご紹介したいと思います。
以下の流れでご説明します。
確約利用割引とは
概要
確約利用割引とは、GCPで提供されている割引プランの一種であり、一定期間のリソース使用を確約 (コミットメント) することを条件に、割引料金でリソースを使用できるというものです。
簡単に特徴をまとめると以下となります。
- コミットメント期間は1年 or 3年のいずれかであり、期間が長いほど割引率が高い
- コミットメント購入後の変更やキャンセルは不可
- 購入したコミットメントに対して月額料金が請求される (前払い無し)
- GCPで適用できるサービスは限られている(詳細は種類 (コミットメントタイプ)にて記載)
これらの特徴を踏まえると、ある程度長いスパンで必要なリソース量を予測可能な場合に適している割引形態と言えるかと思います。
種類 (コミットメントタイプ)
確約利用割引には以下の2種類があり、それぞれで適用できるサービスが異なります。
コミットメントタイプ | 概要 | 適用可能なサービス |
リソースベースのコミットメント | 特定のリージョンで使用するリソース量(vCPU、メモリ、GPU、ローカル SSD)を確約することと引き換えに割引料金が適用される | ・Compute Engine |
費用ベースのコミットメント | サービスの使用量分の費用を確約することとと引き換えに割引料金が適用される | ・Cloud SQL ・Cloud Spanner ・Google Cloud VMware Engine ・Cloud Run ・Google Kubernetes Engine |
確約利用割引の購入方法
確約利用割引はコミットメントタイプ毎に購入方法が異なり、それぞれで実例をもとにご紹介していきます。
なお、本記事でご紹介しきれていない前提条件もありますので、実際の購入時はこちらの公式ドキュメントも十分ご確認のうえでご購入ください。
リソースベースのコミットメント
Compute Engineにて、リソースベースのコミットメントを購入した実例をご紹介していきます。
まず前提として、コミットメントの適用対象としたいCompute Engineのインスタンスは以下となり、いずれも24時間365日稼働させる想定です。
vCPU | メモリ | GPU | ローカルSSD | |
GCEインスタンスA | 6 | 10GB | なし | なし |
GCEインスタンスB | 6 | 10GB | なし | なし |
GCEインスタンスC | 2 | 8GB | なし | なし |
上記前提を踏まえ、ここからは実際の購入画面をご紹介していきます。
Cloud Consoleにログインし、Compute Engine > 確約利用割引をクリックします。

コミットメントを購入をクリックします。

購入するコミットメントの情報を入力します。
今回は以下の情報を入力しています。
- リージョン:asia-northeast1
- コミットメントタイプ:汎用 N2
- 期間:1年
- コア数:14vCPU
- メモリ:28GB

入力した情報が正しいこと及び注意事項を確認し、画面下部より購入をクリックします。

再度表示される確認画面の内容を確認し、問題がなければPURCHASEをクリックします。

購入したコミットメントが一覧に表示されることを確認します。なお、購入直後はステータスが保留中となっておりましたが、時間経過(数時間程度)により有効に変わりました。

費用ベースのコミットメント
続きまして、Cloud SQLにて、費用ベースのコミットメントを購入した実例をご紹介していきます。
前提として、コミットメントの適用対象としたいCloud SQLインスタンスは以下となり、いずれも24時間365日稼働させる想定です。
vCPU (HA) | メモリ (HA) | ストレージ | リージョン | 備考 | |
Cloud SQLインスタンスA | 4 | 15GB | 20GB | asia-northeast1 | HA構成 |
Cloud SQLインスタンスB | 1 | 3.75GB | 15GB | asia-northeast1 | HA構成 |
費用ベースのコミットメントでは、先述の通りコミット対象は費用になるため、実際の購入作業前にリソースを稼働させた際の費用を机上で算出しておく必要があります。
Cloud SQLでは、コミットメントの適用対象となるのはvCPUとメモリであり、ストレージは含まれません。なお、購入時は1 時間あたりのオンデマンドコミットメント費用 (米ドル) を入力する必要があります。その他前提や詳細はこちらの公式ドキュメントをご確認ください。
本例における、購入する1時間あたりのオンデマンドコミットメント費用は$0.87となり、算出根拠および費用内訳は以下の通りとなります。なお、vCPUとメモリの単価は計算時点のこちらの価格表をもとにしております。
- Cloud SQLインスタンスA
- 4vCPU (HA) * 0.1074 + 15GB (HA) * 0.0182 = $0.7026
- Cloud SQLインスタンスB
- 1vCPU (HA) * 0.1074 + 3.75GB (HA) * 0.0182 = $0.17565
オンデマンドコミットメント費用を算出できましたので、以降で実際の購入画面をご紹介していきます。
Cloud Consoleにログインし、お支払い > コミットメントをクリックし、購入をクリックします。

購入画面が表示されるので、購入するコミットメントの情報を入力します。
今回は以下の情報を入力しています。
- プロダクト:Cloud SQL
- 請求先アカウントを選択:費用請求先の請求先アカウントを指定
- 期間:1年
- リージョン:asia-northeast1
- 1時間あたりのオンデマンドコミットメント:$0.87

入力した情報が正しいこと及び注意事項を確認し、画面下部より購入をクリックします。

再度表示される確認画面の内容を確認し、問題がなければ購入をクリックします。

購入したコミットメントが一覧に表示されることを確認します。

本記事ではGCPの確約利用割引の購入手順をご紹介しました。実際の購入操作方法および、費用最適化を考えるきっかけになれば嬉しいです。