費用を最適化した Cloud Run ジョブのベスト プラクティス

Cloud Run ジョブを最適化すると、実際の需要に合わせてリソースを割り当てることができるため、費用を削減できます。費用対効果の高い構成を実装すると、ジョブの信頼性とパフォーマンスを維持しながら、過剰プロビジョニングを回避できます。費用最適化に万能のソリューションはありません。ニーズ、予算、リソースをモニタリングして、最適な方法を判断することが重要です。

このドキュメントで説明するベスト プラクティスは、Cloud Run に固有のものです。これらには、他の Google Cloud プロダクトは含まれません。

リソース構成

ジョブの費用を最適化するには、さまざまな構成を考慮する必要があります。これらの構成をニーズに合わせて調整し、信頼性と費用対効果に優れたジョブを作成します。

適切なリージョンを選択する

ジョブのデプロイ ロケーションは、合計費用に影響します。Cloud Run は、2 階層のリージョン料金モデルを使用します。ティア 1 リージョンは、ティア 2 リージョンと比較して vCPU とメモリあたりの費用が低いため、ティア 1 リージョンへのデプロイを検討してください。

CPU とメモリ使用率を最適化する

Cloud Run ジョブの費用は、CPU/メモリ構成やジョブがアクティブな時間などの要因によって影響を受けます。リソースを過剰にプロビジョニングすると、費用が増加する可能性があります。ジョブに最適な構成を判断するには:

  1. ベースライン構成を確立する。
  2. Cloud Monitoring で CPU とメモリ使用率の指標をテストしながら、指標をモニタリングします。
  3. 必要に応じて構成を調整します。

ピーク負荷時に CPU 使用率が常に低い場合は、vCPU の割り当てを減らすことを検討してください。レイテンシが高い場合は、vCPU の割り当てを増やすことを検討してください。

メモリ使用率が常に低い場合は、割り当てられたメモリを減らすことを検討してください。レイテンシが高く、メモリ使用率が 100% に近い場合は、割り当てられたメモリを増やすことを検討してください。メモリ不足(OOM)エラーが発生している場合は、割り当てられたメモリを増やすか、メモリリークを防止するか、メモリ使用量を減らすようにアプリケーションを変更する必要があります。メモリ使用率の詳細については、Cloud Monitoring ダッシュボードをご覧ください。

ネットワーキング費用を最適化する

ジョブのネットワーク オプションを構成する際は、次の点を考慮してください。

  • リソースを同じ場所に配置する: Cloud Run ジョブを、バックエンド データベース(Cloud SQL や Firestore など)や Cloud Storage バケットと同じリージョンにデプロイします。同じリージョン内の Google Cloud リソース間のデータ転送は無料です。
  • ダイレクト VPC 下り(外向き)に切り替える: 内部 VPC ネットワーク リソースにトラフィックを安全にルーティングする場合は、サーバーレス VPC アクセス コネクタからダイレクト VPC 下り(外向き)に切り替えることを検討してください。ダイレクト VPC 下り(外向き)はゼロにスケーリングされるため、コネクタ インスタンスに関連するベースラインのコンピューティング オーバーヘッドとアイドルコストが排除されます。
  • インターネットの下り(外向き)をモニタリングする: インバウンド トラフィック(上り(内向き))は常に無料です。また、北米内では、1 か月あたり 1 GiB の無料のアウトバウンド インターネット データ転送を利用できます。リージョンの境界を越えるアウトバウンド トラフィックや、無料枠を超えるアウトバウンド トラフィックに重点を置いてモニタリングします。

確約利用割引

確約利用割引(CUD)では、指定された期間に Cloud Run を継続的に使用することを確約することで、割引料金を利用できるようになります。CUD は Cloud 請求先アカウント レベルで適用されます。Cloud Run リソースに対してコンピューティング フレキシブル CUD を購入できます。コンピューティング フレキシブル CUD は、GPU やネットワーキングには適用されません。詳細については、コンピューティングのフレキシブル確約利用割引をご覧ください。

便利なツール

次のツールを使用すると、費用をより正確に把握し、費用の超過を回避できます。

Cloud Run の概要: [お支払い] パネル

Cloud Run の概要ページの [請求] パネルに、リソース名ごとの費用が表示されます。数値は、リソースごとに選択した期間の総費用を反映しています。このツールを使用すると、リソースの費用をより正確に把握できます。

予算アラート

Cloud Billing で予算アラートを作成して、実際の費用を予定費用と照らし合わせて追跡します。予算アラートは、単価の上限ではなく、支出のしきい値を超えたときに通知をトリガーするアラート メカニズムです。課金データの遅延により、アラートの受信に影響する可能性があります。

予算の単価の上限

Cloud Billing コンソールで、または Cloud Billing Budget API を使用してプログラムで Cloud Billing の予算の単価の上限を構成すると、それらの単価の上限はプロジェクト内のすべての Cloud Run リソースタイプに自動的に適用されます。

費用上限の進捗状況は、Cloud Run コンソールの概要ページから直接モニタリングできます。費用の上限に達すると、 Google Cloud はすべての Cloud Run ワークロードを一時停止し、次の Cloud Run リソースにそれ以上の費用が発生しないようにします。

  • サービス: 既存のサービスはトラフィックを処理できず、5xx エラーを返します。
  • ジョブ: 新しいタスクの実行が開始されず、進行中のタスクが完了しません。
  • ワーカープール: 既存のインスタンスがタスクの処理を停止します。
  • インスタンス: 実行中のインスタンスがシャットダウンされ、新しいインスタンスまたは再起動が開始されず、インスタンス URL へのリクエストが 5xx エラーを返します。

費用の上限を超えると、アラート通知が届き、Cloud Run コンソールに適用バナーが表示されます。適用された費用上限は、毎月、次の請求期間の初日にリセットされます。これにより、ワークロードのブロックが解除され、費用がゼロに設定されます。費用の上限を超えた場合に、毎月のリセット前にオペレーションを再開するには、Cloud Run コンソールの概要ページで上限を手動で調整するか、上限を解除します。

Cloud Billing

Cloud Billing は、 Google Cloud の費用の追跡と把握に役立つツール コレクションです。これらのツールは、使用料金のモニタリング、支出の予測、費用削減の機会の特定に役立ちます。

Cost Explorer

Cost Explorer を使用すると、リソースの費用と使用状況を把握できます。Cost Explorer を使用すると、次のことができます。

  • リソースを費用でフィルタして、最も費用のかかるリソースを確認します。
  • vCPU、GPU、ネットワーキングなどの構成によって発生する費用の割合を把握します。
  • リソース構成の変更が毎月の請求額に与える影響を追跡します。

Google Cloud 料金計算ツール

Google Cloud の料金の概要には、 Google Cloud の料金モデルをより深く理解するための情報が記載されています。詳細な料金表もここで確認できます。料金計算ツールを使用してプロダクトを追加して構成することで、費用を見積もることができます。

Recommender

Recommender は、Cloud プロダクトの使用に関する推奨事項と分析情報を提供するツールです。

Cloud Hub の最適化

Cloud Hub の [最適化] ページで、 Google Cloud ジョブの費用の概要データ、使用状況データ、費用最適化の推奨事項を確認できます。