NVIDIA GPU を使用して VM インスタンスを作成して起動する

このページでは、NVIDIA グラフィック プロセッシング ユニット(GPU)を使用して Linux ベースの仮想マシン(VM)インスタンスを作成する方法について説明します。

GPU を搭載した仮想マシンを使用すると、人工知能や ML など、さまざまな GPU 高速化ワークロードを実行できます。

GPU を搭載した仮想マシンは、「アクセラレータ最適化」A シリーズ マシン ファミリー(A2 や A3 など)の一部です。詳細については、VM のマシンタイプを表示するをご覧ください。

このページは、Google Distributed Cloud(GDC)のエアギャップ環境で VM を作成するプラットフォーム管理者またはアプリケーション オペレーター グループのデベロッパーを対象としています。

始める前に

gdcloud コマンドライン インターフェース(CLI)コマンドを使用するには、gdcloud CLI をダウンロード、インストール、構成していることを確認してください。Distributed Cloud のすべてのコマンドは gdcloud または kubectl CLI を使用し、Linux 環境が必要です。

権限とアクセス権をリクエストする

このページに記載されているタスクを行うには、プロジェクトの VirtualMachine 管理者のロールが必要です。VM が存在するプロジェクトの Namespace にプロジェクト仮想マシン管理者(project-vm-admin)ロールがあることを確認する手順に沿って操作します。

GDC コンソールまたは gdcloud CLI を使用した VM オペレーションの場合は、プロジェクト IAM 管理者に、プロジェクト仮想マシン管理者ロールとプロジェクト閲覧者ロール(project-viewer)の両方を付与するよう依頼してください。

VM を作成する

イメージから VM を作成するの手順に沿って VM を作成し、A シリーズのマシンタイプを選択します。

NVIDIA ドライバをインストールする

このセクションでは、GDC VM インスタンスに NVIDIA ドライバをインストールする手順について説明します。

パッケージをインストールする

バージョン v20250809 以降では、GDC 提供の Ubuntu イメージと Rocky Linux イメージに NVIDIA ドライバがプリインストールされています。

v20250809 より前のイメージ バージョンとユーザー提供のカスタム イメージの場合は、GDC パッケージ リポジトリからドライバをインストールします。SSH を使用して VM に接続し、VM のオペレーティング システム(OS)に対応するコマンドを実行します。

Ubuntu:

    sudo apt install nvidia-dkms-570-server-open

Rocky Linux と RHEL:

    sudo dnf install nvidia-driver-cuda

DKMS を実行する

dkms コマンドを使用して、VM で NVIDIA ドライバを有効にします。このタスクは、VM ごとに 1 回だけ実行する必要があります。

   sudo dkms autoinstall

CUDA ツールキットをインストールする

NVIDIA CUDA ツールキットは、GDC パッケージ リポジトリで利用できます。SSH を使用して VM に接続し、VM OS に対応するコマンドを実行します。

Ubuntu

    sudo apt install cuda-toolkit-12-8

Rocky Linux と RHEL

    sudo dnf install cuda-toolkit-12-8

セキュアブートを有効にしてドライバに署名する

GPU を使用する VM でセキュアブートを有効にする必要がある場合は、GPU ドライバに署名する必要があります。対応する OS の手順を参照してください。

Ubuntu

  1. SSH を使用して VM に接続します。
  2. スーパーユーザーに切り替えます。

    sudo su
    
  3. MOK 鍵がまだ存在しない場合は生成します。

    [ -f /var/lib/shim-signed/mok/MOK.der ] || openssl req -new -x509 -newkey rsa:2048 -keyout /var/lib/shim-signed/mok/MOK.priv \
        -outform DER -out /var/lib/shim-signed/mok/MOK.der \
        -nodes -days 36500 -subj "/CN=DKMS Signing Key/"
    
  4. mokutil を使用して鍵を登録します。

    mokutil --import /var/lib/shim-signed/mok/MOK.der
    
  5. プロンプトが表示されたら、任意の新しいパスワードを作成して入力します。

  6. MOK を使用して NVIDIA カーネル モジュールに署名します。

    for module in nvidia nvidia_drm nvidia_modeset nvidia_uvm nvidia_peermem; do
        /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der $(modinfo -n $module)
    done
    

Rocky Linux と RHEL

  1. SSH を使用して VM に接続します。
  2. スーパーユーザーに切り替えます。

    sudo su
    
  3. dkms autoinstall を使用して、キーでドライバに署名します。

    sudo dkms autoinstall
    
  4. DKMS 鍵を MOK に登録します。

    mokutil --import /var/lib/dkms/mok.pub
    

MOK の登録と検証を完了する

MOK 管理画面にアクセスするには、VM インスタンスを再起動して、すぐにシリアルポートに接続してください。この画面は時間制限があり、起動プロセス中に短時間のみ表示されます。具体的な手順は以下のとおりです。

  1. VM インスタンスを再起動します。

    reboot
    
  2. VM のシリアル コンソールに接続します。詳細については、シリアルポートに接続するをご覧ください。

  3. コンソールから MOK を登録します。

    VM シリアル コンソールの MOK 管理画面

    [MOK の登録] がハイライト表示された VM シリアル コンソールの MOK 管理画面

    鍵を表示して、前の手順で生成した鍵と一致していることを確認できます。

    [Continue] が選択された VM シリアル コンソールの MOK 管理画面

  4. 先ほど選択したパスワードを入力します。

    パスワードの入力を求める VM シリアル コンソールの MOK 管理画面

  5. MOK 管理メニューから [Reboot] を選択します。

    [Reboot] が選択された VM シリアル コンソールの MOK 管理画面

  6. nvidia-smi を実行して、NVIDIA ドライバが動作することを確認します。

    出力には、GPU のステータスとドライバ情報が表示されます。

    $ nvidia-smi
    Wed Aug 13 00:09:17 2025
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 570.158.01             Driver Version: 570.158.01     CUDA Version: 12.8     |
    |-----------------------------------------+------------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
    |                                         |                        |               MIG M. |
    |=========================================+========================+======================|
    |   0  NVIDIA H200                    Off |   00000000:08:00.0 Off |                    0 |
    | N/A   42C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   1  NVIDIA H200                    Off |   00000000:09:00.0 Off |                    0 |
    | N/A   36C    P0            127W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   2  NVIDIA H200                    Off |   00000000:0A:00.0 Off |                    0 |
    | N/A   34C    P0            122W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   3  NVIDIA H200                    Off |   00000000:0B:00.0 Off |                    0 |
    | N/A   40C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   4  NVIDIA H200                    Off |   00000000:0C:00.0 Off |                    0 |
    | N/A   39C    P0            125W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   5  NVIDIA H200                    Off |   00000000:0D:00.0 Off |                    0 |
    | N/A   35C    P0            122W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   6  NVIDIA H200                    Off |   00000000:0E:00.0 Off |                    0 |
    | N/A   39C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   7  NVIDIA H200                    Off |   00000000:0F:00.0 Off |                    0 |
    | N/A   35C    P0            121W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |  No running processes found                                                             |
    +-----------------------------------------------------------------------------------------+