このドキュメントでは、 Google Cloud のコア コンピューティング オプションを比較し、アプリケーションのアーキテクチャ、スケーリング、その他の要件に最適なソリューションまたはツールを選択できるようにします。
Google Cloudにワークロードをデプロイするには、インフラストラクチャの制御と Google による自動管理のバランスを取るさまざまなソリューションやツールを選択できます。選択するコンピューティング オプションは、パフォーマンス、費用、日々のメンテナンス作業に大きな影響を与える可能性があります。オプションを選択する前に、これらのオプションについて詳しく理解するには、Google コンピューティングの概要をご覧ください。
コンピューティング オプションを選択する
ワークロードに最適なコンピューティング ソリューションまたはツールは、いくつかの要因によって異なります。たとえば、VMware 環境をGoogle Cloudに移行する場合は、VMware Engine を使用します。
インフラストラクチャ管理、コンテナ、Compute Engine インスタンス間のトレードオフを判断するには、次のフローチャートを使用します。コンピューティング オプションの機能をすばやく比較する場合は、このドキュメントの比較表をご覧ください。
上のフローチャートの質問は次のとおりです。
すべてのインフラストラクチャを Google に管理してもらいたいですか?
はい: Cloud Run を使用します。
いいえ: 質問 2 に進みます。
ワークロードのクラスタ オーケストレーション(Kubernetes や Slurm など)が必要ですか?
「はい」の場合: 質問 4 に進みます。
いいえ: 質問 3 に進みます。
VM インスタンスまたはベアメタル インスタンスを自分で管理しますか?
いいえ: Batch を使用します。
標準のコンテナ化されたアプリケーション(マイクロサービスや API など)を実行しますか?
はい: GKE を使用します。
いいえ: 質問 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 は、サーバーやクラスタの管理なしでコンテナ化されたアプリケーションを実行できるサーバーレス プラットフォームです。Google は、OS、カーネル、ネットワーク設定、容量管理など、すべてのインフラストラクチャ管理をユーザーに代わって行います。
Cloud Run には次の機能があります。
アクセラレータのサポート: Cloud Run は、NVIDIA RTX PRO 6000 Blackwell GPU と 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 ワークロード向けに、GB300 Ultra Superchip、GB200 Superchip、B200、H200、H100 などの NVIDIA GPU をサポートしています。Cluster Director は Google TPU をサポートしていません。
OS とカーネルの制御: Google はクラスタのライフサイクルを管理し、ML 用に設計されたカスタム Ubuntu OS を設定します。このサービスは、AI ワークロード用に構築されたログインノード、コンピューティング ノードセット、デプロイ テンプレートを備えた、すぐに使用できる環境を提供します。
オーケストレーション: 容量をスケーリングするために、Slurm は CPU 使用率が増加するとノードを作成し、ノードが一定期間アイドル状態のままだとノードを削除して、不要な料金が発生しないようにします。
詳細については、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 は Horizontal Pod Autoscaler(HPA)と Vertical Pod Autoscaler(VPA)を使用してコンテナを追加または削除し、クラスタ オートスケーラーを使用してノードを追加または削除します。GKE は、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 管理(カスタム Ubuntu) | Slurm | CPU 使用量に基づいて自動的に行われます |
| 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 の概要をご覧ください。