コンピューティング オプションを選択する

このドキュメントでは、 Google Cloud のコア コンピューティング オプションを比較して、アプリケーションのアーキテクチャ、スケーリング、その他の要件に最適なソリューションまたはツールを選択できるようにします。

Google Cloudにワークロードをデプロイするには、インフラストラクチャの制御と Google による自動管理のバランスを取るさまざまなソリューションやツールから選択できます。選択したコンピューティング オプションは、パフォーマンス、費用、日常のメンテナンスに影響します。これらのオプションを選択する前に、Google Compute の概要をご覧ください。

コンピューティング オプションを選択する

ワークロードに最適なコンピューティング ソリューションまたはツールは、いくつかの要因によって異なります。たとえば、VMware 環境をGoogle Cloudに移行する場合は、VMware Engine を使用します。

インフラストラクチャ管理、コンテナ、Compute Engine インスタンス間のトレードオフを判断するには、次のフローチャートを使用します。コンピューティング オプション間で機能を比較する場合は、このドキュメントの比較表をご覧ください。

インフラストラクチャ管理、オーケストレーション、コンテナのニーズを Cloud Run、Compute Engine、Batch、GKE、Cluster Director、Cluster Toolkit にマッピングする意思決定フローチャート。

上のフローチャートの質問は次のとおりです。

  1. すべてのインフラストラクチャを Google が管理することを希望しますか?

  2. ワークロードにクラスタ オーケストレーション(Kubernetes や Slurm など)が必要ですか?

    • 「はい」の場合: 質問 4 に進みます。

    • いいえ: 質問 3 に進みます。

  3. VM またはベアメタル インスタンスを自分で管理しますか?

  4. 標準のコンテナ化されたアプリケーション(マイクロサービスや API など)を実行しますか?

  5. Google でクラスタのライフサイクルを管理しますか?

Batch を使用する

非同期データ分析、動画変換タスク、科学シミュレーションなどのワークロードには、Batch を選択します。Batch では、Google がインフラストラクチャを管理するため、 Google Cloudでバッチ コンピューティング ジョブをスケジュール、キュー、実行できます。サーバーを自分でデプロイまたは管理する必要はありません。代わりに、実行可能スクリプトまたはコンテナ化されたワークロードをジョブキューに送信します。

Batch には次の機能があります。

  • アクセラレータのサポート: Batch は、高スループットを必要とするバッチ ワークロードとハイ パフォーマンス コンピューティング(HPC)ワークロード向けに、RTX PRO 6000 までの NVIDIA GPU をサポートしています。Batch は Google TPU をサポートしていません。

  • OS とカーネルの制御: Google がジョブの OS と実行環境を管理します。

  • オーケストレーション: ジョブキューはタスクをスケジュールし、エラーが発生した場合は再試行します。容量をスケーリングするために、サービスはキューに格納されたジョブの数に基づいて VM をプロビジョニングして起動し、それらのジョブが完了すると VM を停止します。

詳細については、Batch のスタートガイドをご覧ください。

Cloud Run を使用する

サーバー管理なしでコンテナ化されたウェブ アプリケーションまたはジョブをデプロイするには、Cloud Run を選択します。Cloud Run は、サーバーやクラスタの管理なしでコンテナ化されたアプリケーションを実行できるサーバーレス プラットフォームです。OS、カーネル、ネットワーク設定、容量管理など、すべてのインフラストラクチャ管理は Google が行います。

Cloud Run には次の機能があります。

  • アクセラレータのサポート: Cloud Run は、NVIDIA RTX PRO 6000 Blackwell と L4 GPU をサポートしています。Cloud Run は、他の GPU モデルや Google TPU をサポートしていません。

  • OS とカーネルの制御: ワークロードをコンテナとしてパッケージ化し、ウェブサービス、非同期タスク、バッチジョブとして実行します。

  • オーケストレーション: サーバーレス プラットフォームとして、Google は手動操作なしでコンテナ インスタンスを起動、実行、スケーリングします。ウェブサービスの場合、Cloud Run は受信リクエストまたは CPU 使用量に基づいてコンテナ インスタンスを追加または削除します。

詳細については、Cloud Run とはをご覧ください。

Cluster Director を使用する

ネットワークや OS の設定なしで、Slurm がスケジュールする AI モデルのトレーニングやシミュレーション ジョブを実行する場合は、Cluster Director を選択します。Cluster Director は、AI、ML、HPC クラスタのデプロイとライフサイクル管理を自動化するマネージド サービスです。

Cluster Director には次の機能があります。

  • アクセラレータのサポート: Cluster Director は、AI、ML、HPC ワークロード向けに NVIDIA GPU(GB300 Ultra Superchip、GB200 Superchip、B200、H200、H100)と Google TPU(プレビュー、TPU7x、TPU v6e、TPU v5p)をサポートしています。

  • OS とカーネルの制御: Google がクラスタのライフサイクルを管理し、ML 用に設計されたカスタム Ubuntu OS を設定します。このサービスは、AI ワークロード用に構築されたログインノード、コンピューティング ノードセット、デプロイ テンプレートを備えた、すぐに使用できる環境を提供します。

  • オーケストレーション: 容量をスケーリングするために、Slurm はキューに格納されたジョブ リクエストに基づいてノードを作成し、不要な課金を防ぐために、一定期間アイドル状態のままになっているノードを削除します。

詳細については、Cluster Director の概要をご覧ください。

Cluster Toolkit を使用する

自動デプロイ テンプレートを使用して、OS とソフトウェア スタックの管理制御を維持する場合は、Cluster Toolkit を選択します。Cluster Toolkit は、 Google Cloudで AI、ML、HPC クラスタをプロビジョニングして構成するために使用するオープンソース ツールです。

Cluster Toolkit には次の機能があります。

  • アクセラレータのサポート: Cluster Toolkit は、NVIDIA GPU と Google TPU をサポートしています。これらは、ブループリントと呼ばれるデプロイ テンプレートを使用してプロビジョニングおよび構成します。これらの自動構成ファイルを使用すると、Infrastructure as Code(IaC)の原則に基づいて、標準化された繰り返し可能なクラスタ インフラストラクチャをデプロイできます。

  • OS とカーネルの制御: Cluster Toolkit は、 Google Cloudプロジェクト内にコンピューティング インスタンスまたは GKE リソースをデプロイします。これらのリソースをデプロイした後も、OS、ソフトウェア設定、クラスタのライフサイクルに対する管理権限は維持されます。

  • オーケストレーション: 容量をスケーリングするには、テンプレート設定に基づいてノードを追加または削除するようにマネージド インスタンス グループ(MIG)または GKE ツールを構成します。

詳細については、Cluster Toolkit の概要をご覧ください。

Compute Engine を使用する

アプリケーションにカスタム アーキテクチャ構成、特殊なカーネル設定、仮想サーバーの管理制御が必要な場合は、Compute Engine を選択します。Compute Engine は Google Cloudのコア Infrastructure as a Service(IaaS)プラットフォームです。これにより、Google の物理ハードウェア上で VM インスタンスとベアメタル インスタンスを作成して実行できます。

Compute Engine には次の機能があります。

  • アクセラレータのサポート: Compute Engine は、コンピューティング インスタンスにアタッチする NVIDIA GPU と Google TPU をサポートしています。

  • OS とカーネルの制御: OS、カーネル設定、ブートファイルを完全に制御できます。また、CPU プロセッサ、メモリ構成、ストレージ タイプ、ゲスト OS を選択できます。

  • オーケストレーション: オーケストレーションは手動で行われるため、信頼性を確保するために、独自のコンピューティング インスタンス、ネットワーク ルール、トラフィック ルート、バックアップ システムを設定して管理します。容量をスケーリングするには、必要に応じてコンピューティング インスタンスを追加または削除するか、カスタムツールを使用するか、クラスタ容量を調整するように MIG を構成します。

詳細については、Compute Engine の概要をご覧ください。

GKE を使用する

分散アプリケーションまたは汎用マイクロサービス用のコンテナベースのオーケストレーション プラットフォームが必要な場合は、Google Kubernetes Engine(GKE)を選択します。GKE は、コンテナ化されたアプリケーションのデプロイ、スケーリング、オーケストレーションを行うための業界標準のマネージド Kubernetes プラットフォームです。Google は、セキュリティとシステムの可用性を確保するために Kubernetes コントロール プレーンを管理します。

GKE には次の機能があります。

  • アクセラレータのサポート: GKE は、コンテナ化されたワークロード用に NVIDIA GPU と Google TPU をサポートしています。

  • OS とカーネルの制御: Google は、Autopilot モードと Standard モードの両方で OS を管理します。Autopilot モードでは、Google が手動操作なしでクラスタノードと容量の調整を管理します。標準モードでは、クラスタ ノードプールを管理します。

  • オーケストレーション: 需要の変化に応じて容量を調整するため、GKE は HorizontalPodAutoscaler(HPA)と VerticalPodAutoscaler(VPA)を使用してコンテナを追加または削除し、クラスタ オートスケーラーを使用してノードを追加または削除します。GKE は、Kubernetes ネイティブのジョブキュー コントローラである Kueue を介してバッチジョブをオーケストレートします。

詳細については、GKE の概要をご覧ください。

VMware Engine を使用する

運用上の変更を最小限に抑えてオンプレミスの VMware ワークロードを Google Cloudインフラストラクチャに移行するには、VMware Engine を選択します。VMware Engine は、アプリケーションを変更せずに Google ハードウェア上で VMware 仮想マシンを実行できるマネージド サービスです。

VMware Engine には次の機能があります。

  • アクセラレータのサポート: VMware Engine は GPU や TPU をサポートしていません。

  • OS とカーネルの制御: 既存の設定で実行されている VMware アプリケーションを Google Cloudで実行します。Google は、物理ハードウェア、ネットワーク インフラストラクチャ、VMware ソフトウェア プラットフォーム(vSphere、vCenter、vSAN、NSX-T など)を管理します。VM、ゲスト OS、VMware 管理ツールの管理権限は、お客様が保持します。

  • オーケストレーション: プライベート クラウドのサイズを調整するには、専用の ESXi ノードを追加または削除します。

詳細については、Google Cloud VMware Engine の概要をご覧ください。

コンピューティング オプションを比較する

ワークロードに適したコンピューティング ソリューションまたはツールを特定するには、次の表でコンピューティング オプションの技術的な機能を比較します。

コンピューティング オプション GPU TPU OS とカーネルの制御 オーケストレーション スケーリング
Batch 最大 NVIDIA RTX PRO 6000 × Google が管理 ジョブキュー キューに格納されたジョブに基づく自動設定
Cloud Run NVIDIA RTX PRO 6000 Blackwell、L4 × Google が管理 サーバーレス リクエストまたは CPU 使用量に基づく自動
Cluster Director NVIDIA GB300 Ultra Superchip、GB200 Superchip、B200、H200、H100 Google TPU7x、TPU v6e、TPU v5p(プレビュー) Google 管理(カスタム Ubuntu) Slurm キューに格納されたジョブリクエストに基づいて自動的に行われます
Cluster Toolkit 利用可能なすべての NVIDIA GPU 利用可能なすべての Google TPU セルフマネージド 自動構成ファイル(IaC) MIG または GKE ツールを使用してカスタマイズ可能
Compute Engine 利用可能なすべての NVIDIA GPU 利用可能なすべての Google TPU セルフマネージド 手動 MIG を使用した手動または自動
Google Kubernetes Engine(GKE) 利用可能なすべての NVIDIA GPU 利用可能なすべての Google TPU Google マネージド(Autopilot)またはセミマネージド(Standard) Kubernetes Pod とノードの自動スケーリング
VMware Engine × × Google が管理 VMware プラットフォーム ESXi ノードを使用した手動

AI と ML 向けの AI Hypercomputer を確認する

AI Hypercomputer は、専用ハードウェア、オープン ソフトウェア、柔軟な使用量モデルを組み合わせた統合アーキテクチャです。このアーキテクチャは、ML の生産性を高め、要求の厳しい AI ワークロードに対して、転送される有用なデータのレートである実効スループットを最大化するように設計されています。

AI Hypercomputer には次の機能があります。

  • アクセラレータのサポート: AI Hypercomputer は、すべての NVIDIA GPU と Google TPU をサポートしています。アクセラレータは高帯域幅ネットワークを介して接続され、数千のコンピューティング インスタンスにわたる AI モデルのスループットを最適化します。

  • OS とカーネルの制御: OS とカーネルの制御は、選択したデプロイツールによって異なります。

    • Google が管理する環境: Cluster Director を選択すると、Google がクラスタ環境とライフサイクルを管理します。Autopilot モードで GKE を選択すると、Google がコンテナ環境を管理します。

    • セルフマネージド環境: Cluster Toolkit、Compute Engine、または Standard モードの GKE を選択した場合は、クラスタ リソースと OS を管理します。

  • オーケストレーション: Slurm、GKE、またはカスタム オーケストレーターを使用して、コンピューティング需要の変化に応じてクラスタ内のコンピューティング インスタンス、Pod、コンテナを追加または削除できます。

詳細については、AI Hypercomputer の概要をご覧ください。