新しい Persistent Disk ボリュームを作成する


空の Persistent Disk ボリュームを作成することも、データソースからディスクを作成することもできます。Persistent Disk は、仮想マシン(VM)インスタンスのブートディスクとして使用するか、VM にアタッチするデータディスクとして使用できます。

このドキュメントでは、ブート以外の空のゾーン Persistent Disk ボリュームを作成し、VM にアタッチする方法について説明します。

他のタイプのディスクの作成と追加については、以下をご覧ください。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      ローカル開発環境でこのページの Terraform サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      詳細については Set up authentication for a local development environment をご覧ください。

      REST

      このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

制限事項

  • VM の作成時に、最大 127 個のセカンダリ(非ブート)ゾーン Persistent Disk ボリュームをアタッチできます。
  • アタッチできる合計容量は VM あたり 257 TB です。大容量のボリュームでパフォーマンスを最大限に高める方法については、論理ボリューム サイズをご覧ください。

VM に非ブートディスクを追加する

Google Cloud コンソールGoogle Cloud CLI、または REST を使用して、非ブート ゾーンディスクを作成してアタッチします。

Google Cloud コンソールでディスクを作成する場合、デフォルトのディスクタイプpd-balanced です。gcloud CLI または REST を使用してディスクを作成する場合、デフォルトのディスクタイプは pd-standard です。

ディスクを VM にアタッチするときに、カスタム デバイス名を指定する必要があります。指定した名前は、ゲスト OS でディスクのシンボリック リンクを生成するために使用されます。これにより、識別が容易になります。

Console

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. ディスクを追加する VM の名前をクリックします。

  3. 詳細ページで [編集] をクリックします。

  4. [追加ディスク] で、[新しいディスクを追加] をクリックします。

  5. ディスクの名前を指定して、ディスクのプロパティを構成し、[ソースの種類] として [空白] を選択します。

  6. オプション: [デバイス名] という見出しで、[カスタム デバイス名を使用する] オプションを選択します。入力した名前は、ディスクのシンボリック リンクを生成するために使用されます。これにより、ディスクを識別しやすくなります。

  7. [完了] をクリックしてディスクの構成を完了します。

  8. [保存] をクリックして変更を VM に適用し、新しいディスクを追加します。

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. gcloud compute disks create コマンドを使用してゾーン Persistent Disk ボリュームを作成します。

    gcloud compute disks create DISK_NAME \
      --size DISK_SIZE \
      --type DISK_TYPE
    

    次のように置き換えます。

    • DISK_NAME: 新しいディスクの名前。
    • DISK_SIZE: 新しいディスクのサイズ(ギガバイト単位)。使用できるサイズは、1 GB 単位で 10~65,536 GB の範囲です。
    • DISK_TYPE: Persistent Disk ボリューム タイプの完全な URL または部分的な URL。例: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
  3. ディスクを作成したら、実行中または停止している VM にアタッチします。gcloud compute instances attach-disk コマンドを実行します。

    gcloud compute instances attach-disk VM_NAME \
      --disk DISK_NAME --device-name=DEVICE_NAME
    

    次のように置き換えます。

    • VM_NAME: 新しいゾーン Persistent Disk ボリュームを追加する VM の名前
    • DISK_NAME: VM にアタッチする新しいディスクの名前
    • DEVICE_NAME: オプション。ゲスト OS がディスクの識別に使用する名前
  4. gcloud compute disks describe コマンドを使用して、ディスクの説明を表示します。

Terraform

ディスクを作成するには、google_compute_disk リソースを使用します。

# Using pd-standard because it's the default for Compute Engine

resource "google_compute_disk" "default" {
  name = "disk-data"
  type = "pd-standard"
  zone = "us-west1-a"
  size = "5"
}

ディスクを VM にアタッチするには、google_compute_instance リソースを使用します。

resource "google_compute_instance" "test_node" {
  name         = "test-node"
  machine_type = "f1-micro"
  zone         = "us-west1-a"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
  attached_disk {
    source      = google_compute_disk.default.id
    device_name = google_compute_disk.default.name
  }

  network_interface {
    network = "default"
    access_config {
      # Ephemeral IP
    }
  }

  # Ignore changes for persistent disk attachments
  lifecycle {
    ignore_changes = [attached_disk]
  }


}

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

REST

  1. disks.insert メソッドを使用して、POST リクエストを作成し、ゾーン永続ディスクを作成します。namesizeGbtype プロパティを含めます。このディスクを空のフォーマットされていない非ブートディスクとして作成する場合、ソースイメージやソース スナップショットを指定しないでください。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    
    {
     "name": "DISK_NAME",
     "sizeGb": "DISK_SIZE",
     "type": "DISK_TYPE"
    }
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID。
    • ZONE: VM と新しいディスクが配置されるゾーン。
    • DISK_NAME: 新しいディスクの名前。
    • DISK_SIZE: 新しいディスクのサイズ(ギガバイト単位)。使用できるサイズは、1 GB 単位で 10~65,536 GB の範囲です。
    • DISK_TYPE: Persistent Disk のタイプの完全な URL または部分的な URL。例: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
  2. compute.instances.attachDisk メソッドに対する POST リクエストを作成し、作成したゾーン永続ディスクへの URL を含めます。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk
    
    {
     "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME",
     "deviceName": DEVICE_NAME
    }
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID
    • ZONE: VM と新しいディスクが配置されるゾーン
    • VM_NAME: 新しい Persistent Disk ボリュームを追加する VM の名前
    • DISK_NAME: 新しいディスクの名前
    • DEVICE_NAME: オプション。ゲスト OS がディスクの識別に使用する名前

新しいディスクを作成して VM にアタッチしたら、ディスクをフォーマットしてマウントする必要があります。これにより、使用可能な保存容量をオペレーティング システムが使用できるようになります。

次のステップ