Google Cloud は、クラウドへの移行や運用コストを削減するための 11 の方法を公式ブログで公開しました。
ここでは、Compute Engine やストレージなどのインフラ費用について、パフォーマンスを維持したまま最適化する方法や、すぐに実践できる簡単な調整から、長期的に大きな効果をもたらす戦略的なアプローチまで、幅広く解説されています。
仮想マシン (VM) の最適化
VMの選択と構成を見直すことは、コスト削減の基本です。ワークロードに適したVMを選択することで、無駄な支出をなくし、効率を高めることができます。
最新世代の VM インスタンスを選択する
コスト削減の最も効果的な方法の一つは、ワークロードに対してVMを適切に選択し、サイズを最適化することです。Google Cloud は、N4、C4、C4D といった最新世代の VM を提供しており、これらは旧世代に比べて価格性能比が大幅に向上しています。
実際に、旧世代から最新世代の VM に移行したユーザーからは、20% から 40% のパフォーマンス向上と、コンピューティング費用の大幅な削減が報告されています。
例えば、Elastic 社は Google Cloud の Armベース Axion CPU を採用した C4A マシンシリーズを利用し、効率とパフォーマンスの向上を実現しました。
カスタムマシンタイプ (CMT) を活用する
N4 VM で利用できるカスタムマシンタイプ (CMT) を使うと、VM の CPU とメモリの比率をワークロードに合わせて正確に構成できます。
あらかじめ定義されたマシンタイプでは余分なリソースが発生しがちですが、CMTを使えば必要な分だけのリソースに設定できるため、無駄なコストを削減できます。
例えば、標準の VM では 16 vCPU に対して 128 GB のメモリが必要なワークロードでも、CMT を使えば 70 GB のメモリに設定でき、結果として 18% のコスト削減が可能です。
Spot VMs を使用する
Spot VMs は、標準の VM と同じ性能を持ちながら、60% から 91% という大幅な割引価格で利用できる VM です。この割引は、Google Cloud の未使用のコンピューティング能力を利用することで実現しています。
ただし、Spot VMs は短時間の通知で中断 (プリエンプション) される可能性があるため、バッチ処理やビッグデータ分析、CI/CD パイプラインといった、中断に強い耐障害性のあるワークロードに適しています。
ストレージの最適化
ストレージもまた、コスト最適化の重要な要素です。適切なストレージを選択し、無駄なく使用することが TCO (総所有コスト) の削減につながります。
ブロックストレージの選択を最適化する
Hyperdisk を利用すると、容量とパフォーマンスを個別に調整できるため、ワークロードに必要な分だけのリソースを確保できます。
また、Hyperdisk Storage Pools を利用すれば、複数の VM でストレージリソースを共有し、全体のパフォーマンスと容量を効率的に管理できます。この「シンプロビジョニング」により、プロビジョニングした合計量ではなく、実際に必要なリソースに対してのみ支払うため、ブロックストレージの TCO を最大 50% 削減できる可能性があります。
未使用のディスクスペースを管理する
クラウドストレージは、実際に使用している容量に関わらず、プロビジョニング (確保) したディスクスペース全体に対して料金が発生します。そのため、未使用のスペースはコストの無駄につながります。
Ops Agent や Cloud Monitoring といったツールを使い、定期的にディスクの使用状況を確認し、実際の消費量に合わせてディスクサイズを調整することが重要です。
割引プランと高度な機能の活用
Google Cloud が提供する割引プランや、GKE (Google Kubernetes Engine) の高度な機能を活用することで、さらなるコスト削減が期待できます。
継続利用割引 (CUD) を最大限に活用する
安定的で予測可能なコンピューティング需要がある場合、継続利用割引 (CUD) の活用が効果的です。1 年または 3 年の利用をコミットすることで、オンデマンド料金と比較して最大70%のコスト削減が可能です。
特定の VM タイプやリージョンに適用されるリソースベースのCUD や、プロジェクトやマシンシリーズを横断して割引が適用される柔軟な CUD (Flex CUDs) など、運用モデルに合わせたプランが用意されています。
カスタムコンピューティングクラス (CCC) を検討する
GKE のカスタムコンピューティングクラス (CCC) は、複数の VM インスタンスタイプを優先順位付けして定義できる機能です。
これにより、最も価格性能比の高い最新世代の VM を優先的に使用しつつ、需要の急増時には代替の VM タイプへ自動的にスケールさせることができます。
Spot VMs と組み合わせることで、中断が発生した場合でも別の Spot VM タイプに自動で切り替える「スポットサーフィン」が可能となり、コスト効率と可用性を両立できます。
自動化とコスト管理
自動化ツールや分析機能を活用して、リソースを効率的に管理し、支出を常に把握することが重要です。
自動スケーリングとスケジューリングを活用する
オートスケーリングは、CPU 使用率や負荷分散の状況に応じてリソースを動的に調整する機能です。これにより、需要の少ない時間帯にはリソースを自動的に縮小し、無駄なコストを削減します。実際に、この機能を活用したユーザーは、インフラコストを平均で 40% 以上削減しています。
また、業務時間など予測可能な需要パターンを持つワークロードには、スケジュールベースのスケーリングが有効です。
最適化に関する推奨事項を使用する
Google Cloud の Recommender は、リソースの使用状況を分析し、コスト削減やパフォーマンス向上のための具体的な推奨事項を提示する機能です。
例えば、長期間使用されていない「アイドル状態の VM」を特定したり、リソースが過剰にプロビジョニングされている VM のサイズ適正化を提案したりします。これらの提案はコンソール上に表示され、多くは直接適用することが可能です。
詳細な請求分析で支出を把握する
コスト削減の第一歩は、現在の支出を正確に把握することです。Google Cloud の請求パネルでは、個別の SKU ごとに費用を確認でき、支出の詳細な分析が可能です。
リソースにラベルやタグを付けてコストを分類したり、予算アラートを設定して予期せぬ支出を防いだりすることが推奨されます。
サーバーレスへの移行
最後に、サーバーレスアーキテクチャへの移行も強力な選択肢となります。
サーバーレスの代替案を検討する
Cloud Run、Cloud Run Functions、GKE Autopilot といったサーバーレスコンピューティングサービスは、サーバーのプロビジョニングや管理といったインフラ運用から開発者を解放します。
これらのサービスは、リソースを確保した時間ではなく、実際に使用した分だけ課金されるため、特に需要が変動するワークロードにおいて、アイドル状態のリソースに伴うコストを大幅に削減できます。
まとめ
今回紹介された 11 の方法を活用することで、Google Cloud への移行やサービス運用において、パフォーマンスを維持しながらコストを効果的に最適化することが可能です。
Google Cloud は、移行を検討しているユーザー向けに Migration Center を提供しており、TCO レポートなどを通じて潜在的な削減額を把握する手助けも行っています。
出典: Google Cloud