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

このドキュメントでは、NVIDIA グラフィック プロセッサ(GPU)を搭載した Linux ベースの仮想マシン(VM)インスタンスを作成する方法について説明します。

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

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

このドキュメントは、Google Distributed Cloud(GDC)エアギャップ環境で VM を作成するプラットフォーム管理者またはアプリケーション オペレーター グループの開発者を対象としています。詳細については、GDC エアギャップ ドキュメントの対象読者をご覧ください。

始める前に

環境を準備する

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

IAM ロールをリクエストする

プロジェクトに対する次のロールをリクエストするには、プロジェクト IAM 管理者にお問い合わせください。

  • プロジェクト仮想マシン管理者project-vm-admin): プロジェクト Namespace で VM を作成、変更、一覧表示、削除します。

  • プロジェクト閲覧者project-viewer): プロジェクト Namespace 内のすべてのリソースを表示します。

すべての VM ロールは、VM が存在するプロジェクトの Namespace にバインドする必要があります。 手順に沿ってアクセス権 を確認してください。

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                                                             |
    +-----------------------------------------------------------------------------------------+
    

次のステップ