NemoClawをGCPで動かすメリットと特徴

Google Cloud Platform(GCP)はNemoClawの構築先として有力な選択肢です。GCPがNemoClaw環境として優れている理由は主に以下の3点です。

  • Cloud Monitoringの充実:GPU使用率・メモリ・カスタムメトリクスの収集と可視化がGCP標準機能として提供されており、別途監視ツールを導入するコストを削減できます
  • Vertex AIとの統合性:モデル管理・パイプライン自動化・MLOpsの観点でVertex AIを補助的に活用しやすい環境です
  • プリエンプティブルVMの単位が細かい:GCPは1分単位の課金で、プリエンプティブルVMの再起動頻度も比較的低い傾向があります

NemoClawはGTC 2026発表の早期アルファ版です。本ガイドの手順はアルファ版の公開情報に基づいており、GA版ではコマンドや設定項目が変更になる可能性があります。最新情報はgithub.com/NVIDIA/NemoClawを参照してください。

GCPでのNemoClaw構成イメージ

┌───────────────────────────────────────────────────────┐
│ Google Cloud VPC                                       │
│                                                        │
│  ┌────────────────┐    ┌──────────────────────────┐  │
│  │ Cloud Run /    │───▶│ Compute Engine GPU VM     │  │
│  │ GKE / GCE     │    │ (NemoClaw + NIM Runtime)  │  │
│  └────────────────┘    │                           │  │
│                        │  ┌───────────────────────┐│  │
│  ┌────────────────┐    │  │ OpenShell Sandbox     ││  │
│  │ Cloud Storage  │◀──▶│  │ (Policy Engine)       ││  │
│  │ (Model Weights)│    │  └───────────────────────┘│  │
│  └────────────────┘    └──────────────────────────┘  │
│                                                        │
│  ┌────────────────┐    ┌──────────────────────────┐  │
│  │ Cloud Monitoring│◀──│ NemoClaw Metrics Export   │  │
│  │ + Cloud Logging│    └──────────────────────────┘  │
│  └────────────────┘                                   │
└───────────────────────────────────────────────────────┘

GCPのGPUインスタンス比較(A3・A2系)

GCPでNemoClawを動かす際の主なインスタンス選択肢です。AWSと同様に、使用する推論プロファイルによって最適なインスタンスが異なります。

インスタンスタイプGPUGPU数VRAMvCPU/RAM向いている用途
g2-standard-4〜96NVIDIA L41〜824GB×GPU数4〜96vCPU/16〜384GBNano 30B量子化、低コスト検証
a2-highgpu-1g〜16gNVIDIA A1001〜1640GB×GPU数12〜192vCPU/85〜1360GBNIM 70Bクラス、中規模推論
a2-ultragpu-1g〜8gNVIDIA A1001〜880GB×GPU数12〜96vCPU/170〜1360GBNIM 70〜120Bクラス(フル精度)
a3-highgpu-8gNVIDIA H100880GB×8=640GB208vCPU/1872GB最大規模NIM、最高速推論
a3-megagpu-8gNVIDIA H100(高帯域)880GB×8=640GB208vCPU/1872GBマルチGPU間通信が多い大規模モデル

a3インスタンス(H100)はasia-northeast1(東京)リージョンで2026年3月時点での提供が限定的です。asia-northeast2(大阪)やus-central1(アイオワ)など他リージョンも検討してください。

GPU割り当てリクエスト(クォータ申請)

GCPでGPUインスタンスを使用するには、事前にクォータ(利用枠)の申請が必要です。デフォルトでは新規プロジェクトのGPUクォータは0に設定されています。

クォータ申請の手順

GCPコンソールからクォータを申請する手順です。

# gcloudコマンドでも確認可能
# 現在のGPUクォータを確認
gcloud compute regions describe asia-northeast1 \
  --format="json(quotas)" | jq '.quotas[] | select(.metric | contains("GPU"))'

# クォータ申請はコンソールUIから行う
# IAM & 管理 > クォータ > NVIDIA_A100_GPUS または NVIDIA_H100_GPUS を検索
# 対象のリージョンを選択して「クォータを編集」をクリック

申請の際は以下の情報を準備してください。

  • 必要なGPU数(例:A100を8GPU)
  • リージョン(例:asia-northeast1)
  • 利用目的(LLM推論・AIエージェントなど)
  • 利用開始予定日

審査には通常3〜7営業日かかります。H100クラスの大型クォータ申請は追加の説明が求められることがあります。

ネットワーク設定とセキュリティ

GCPでNemoClawを安全に動かすためのネットワーク設定を解説します。

VPCとファイアウォールルール

専用のVPCネットワークを作成し、NemoClawインスタンスを配置することを推奨します。

# 専用VPCネットワークの作成
gcloud compute networks create nemoclaw-vpc \
  --subnet-mode=custom

# サブネットの作成(東京リージョン)
gcloud compute networks subnets create nemoclaw-subnet \
  --network=nemoclaw-vpc \
  --region=asia-northeast1 \
  --range=10.0.0.0/24

# SSH用ファイアウォールルール(管理者IPのみ許可)
gcloud compute firewall-rules create allow-ssh-admin \
  --network=nemoclaw-vpc \
  --allow=tcp:22 \
  --source-ranges=[管理者のパブリックIP]/32 \
  --target-tags=nemoclaw-gpu

# NemoClaw APIポート(アプリケーションサーバーからのみ許可)
gcloud compute firewall-rules create allow-nemoclaw-api \
  --network=nemoclaw-vpc \
  --allow=tcp:8080,tcp:8000 \
  --source-tags=nemoclaw-app \
  --target-tags=nemoclaw-gpu

# アウトバウンド(NVIDIA API・パッケージ更新用)
gcloud compute firewall-rules create allow-egress-https \
  --network=nemoclaw-vpc \
  --direction=EGRESS \
  --allow=tcp:443,tcp:80 \
  --target-tags=nemoclaw-gpu

Cloud NATを使用することで、GPUインスタンスに外部IPを持たせずにNVIDIA APIへのアウトバウンド通信を行えます。セキュリティ上強く推奨します。

IAMとサービスアカウントの設定

NemoClawが動くGPU VMには、最小権限のサービスアカウントを割り当てます。

# 専用サービスアカウントの作成
gcloud iam service-accounts create nemoclaw-sa \
  --display-name="NemoClaw GPU Instance SA"

# Cloud StorageへのRead権限(モデルウェイトの取得)
gcloud projects add-iam-policy-binding [PROJECT_ID] \
  --member="serviceAccount:nemoclaw-sa@[PROJECT_ID].iam.gserviceaccount.com" \
  --role="roles/storage.objectViewer"

# Cloud Loggingへの書き込み権限
gcloud projects add-iam-policy-binding [PROJECT_ID] \
  --member="serviceAccount:nemoclaw-sa@[PROJECT_ID].iam.gserviceaccount.com" \
  --role="roles/logging.logWriter"

# Cloud Monitoringへのメトリクス書き込み権限
gcloud projects add-iam-policy-binding [PROJECT_ID] \
  --member="serviceAccount:nemoclaw-sa@[PROJECT_ID].iam.gserviceaccount.com" \
  --role="roles/monitoring.metricWriter"

NemoClawのデプロイ手順

GCPのGPUインスタンスを起動してNemoClawをデプロイするまでの手順です。

GPUインスタンスの起動

gcloudコマンドでGPUインスタンスを起動します。以下はa2-ultragpu-1g(A100 80GB)の例です。

# GPUインスタンスの作成
gcloud compute instances create nemoclaw-gpu-instance \
  --zone=asia-northeast1-a \
  --machine-type=a2-ultragpu-1g \
  --accelerator=type=nvidia-a100-80gb,count=1 \
  --image-family=common-cu123-debian-11-py310 \
  --image-project=deeplearning-platform-release \
  --maintenance-policy=TERMINATE \
  --boot-disk-size=100GB \
  --boot-disk-type=pd-ssd \
  --create-disk=name=model-disk,size=500GB,type=pd-balanced,auto-delete=yes \
  --network=nemoclaw-vpc \
  --subnet=nemoclaw-subnet \
  --no-address \
  --service-account=nemoclaw-sa@[PROJECT_ID].iam.gserviceaccount.com \
  --scopes=default \
  --tags=nemoclaw-gpu

# Cloud StorageからモデルウェイトをVMにマウント(gcsfuseを使用)
# または起動スクリプトでgsutilコピーを実行する方法もあり

--maintenance-policy=TERMINATEはGPUインスタンスに必須のオプションです。ライブマイグレーションはGPUインスタンスではサポートされていません。

NemoClaw本体のデプロイ

インスタンスに接続してNemoClawをセットアップします。

# IAP経由でSSH接続(外部IPなしでも接続可能)
gcloud compute ssh nemoclaw-gpu-instance \
  --zone=asia-northeast1-a \
  --tunnel-through-iap

# インスタンス内でのセットアップ
# NVIDIAドライバとCUDAの確認
nvidia-smi

# モデルディスクのマウント
sudo mkfs.ext4 /dev/sdb
sudo mkdir -p /mnt/models
sudo mount /dev/sdb /mnt/models

# NVIDIAコンテナツールキットのインストール(Deep Learning VMには含まれる)
# docker login nvcr.io でNGC認証

# NemoClawのクローンとセットアップ
git clone https://github.com/NVIDIA/NemoClaw.git
cd NemoClaw
python3 -m venv .venv && source .venv/bin/activate
pip install -e .

# blueprint.yamlの設定(GCP向け)
cat > config/blueprint.yaml <<EOF
inference:
  profile: local_nim
  nim_endpoint: "http://localhost:8000"
  model: "nemotron-3-nano-30b"

sandbox:
  filesystem:
    allow:
      - "/workspace/"
      - "/tmp/nemoclaw/"
      - "/mnt/models/"
    deny:
      - "~/.ssh/"
      - "/etc/"
  network:
    allow:
      - "localhost"
      - "*.googleapis.com"
      - "*.nvidia.com"
    deny:
      - "*"
EOF

Cloud Monitoringとの連携

GCPのCloud MonitoringはNemoClawの運用監視において強力なツールです。GPU使用率・推論レイテンシ・エラー率を一元的に可視化できます。

GPUメトリクスの収集

GCPのDeep Learning VMにはNVIDIA GPUのメトリクスをCloud Monitoringに送信するための設定が含まれています。デフォルトでGPU使用率・メモリ使用量・温度が自動収集されます。

# カスタムメトリクス(NemoClawの推論レイテンシ)を送信する例
# Cloud Monitoring APIを使ったPythonコード例

from google.cloud import monitoring_v3
import time

client = monitoring_v3.MetricServiceClient()
project_name = f"projects/{PROJECT_ID}"

series = monitoring_v3.TimeSeries()
series.metric.type = "custom.googleapis.com/nemoclaw/inference_latency_ms"
series.resource.type = "gce_instance"
series.resource.labels["instance_id"] = INSTANCE_ID
series.resource.labels["zone"] = "asia-northeast1-a"

point = series.points.add()
point.value.double_value = latency_ms  # 推論にかかったミリ秒
now = time.time()
point.interval.end_time.seconds = int(now)

client.create_time_series(name=project_name, time_series=[series])

アラートポリシーの設定

Cloud Monitoringで監視すべき主要アラートです。

アラート対象条件推奨通知先
GPU使用率95%以上が10分継続PagerDuty / メール
GPU VRAM使用率90%以上PagerDuty / メール
VMの到達不能(インスタンスダウン)1分以上応答なしPagerDuty / SMS
NIMコンテナの停止ヘルスチェックエンドポイント非応答メール / Cloud Functions自動再起動トリガー
推論レイテンシ平均1000ms以上が5分継続メール / Slack

Cloud Functionsと組み合わせてアラート発火時にNIMコンテナを自動再起動するアーキテクチャも有効です。

GCPでのコスト最適化

GCPでNemoClawを運用する際のコスト最適化テクニックをまとめます。

Committed Use Discounts(CUD)の活用

GCPではCUDと呼ばれる長期割引プランがあり、1年または3年のコミットメントでオンデマンド比で大幅な割引が受けられます。

コミット期間割引率(GPUリソース)条件
1年約37%off(一般的な目安)年間コミット(前払い不要)
3年約55%off(一般的な目安)3年コミット(前払い不要)

CUDはプリエンプティブル/スポットインスタンスには適用されないことに注意してください。本番の安定稼働ベースライン分にCUDを適用し、スパイク対応はプリエンプティブルで対応するハイブリッド構成が最適です。

Cloud Schedulerによる自動停止

開発・ステージング環境は業務時間外に自動停止することで、コストを大幅に削減できます。

# Cloud Schedulerで平日9時にVMを起動
gcloud scheduler jobs create http nemoclaw-start \
  --location=asia-northeast1 \
  --schedule="0 9 * * 1-5" \
  --uri="https://compute.googleapis.com/compute/v1/projects/[PROJECT]/zones/[ZONE]/instances/nemoclaw-gpu-instance/start" \
  --http-method=POST \
  --oauth-service-account-email=scheduler-sa@[PROJECT].iam.gserviceaccount.com

# 平日18時にVMを停止
gcloud scheduler jobs create http nemoclaw-stop \
  --location=asia-northeast1 \
  --schedule="0 18 * * 1-5" \
  --uri="https://compute.googleapis.com/compute/v1/projects/[PROJECT]/zones/[ZONE]/instances/nemoclaw-gpu-instance/stop" \
  --http-method=POST \
  --oauth-service-account-email=scheduler-sa@[PROJECT].iam.gserviceaccount.com

この設定により、月間稼働時間を約720時間(24時間365日)から約165時間(平日9〜18時)に削減でき、GPU費用を約77%削減できます。

Cloud Storageでモデルウェイトを一元管理

NIMのモデルウェイトをCloud Storage(GCS)に置き、複数のGPUインスタンスが共有する構成にすることで、EBSに相当するPersistent Diskの費用を削減できます。

# GCSバケットの作成(東京リージョン)
gsutil mb -l asia-northeast1 gs://[PROJECT]-nemoclaw-models

# Nemotron 3 Nano 30B ウェイトをGCSにアップロード
gsutil -m cp -r /mnt/models/nemotron-3-nano-30b/ \
  gs://[PROJECT]-nemoclaw-models/

# VM起動時にGCSからマウント(gcsfuse使用)
gcsfuse --implicit-dirs \
  [PROJECT]-nemoclaw-models /mnt/models

# または起動スクリプトでgsutil rsync
gsutil -m rsync -r \
  gs://[PROJECT]-nemoclaw-models/nemotron-3-nano-30b/ \
  /mnt/models/nemotron-3-nano-30b/

GCSのストレージ料金はPersistent Diskより大幅に安く(スタンダードクラスで約$0.023/GB/月)、モデルウェイトの保管に適しています。