ディスクの詳細を表示

Compute Engine で Persistent Disk または Hyperdisk を作成したら、ディスクの構成に関する情報を確認できます。この情報を使用して、ディスク パフォーマンスのモニタリング、データ セキュリティの強化、ストレージと費用の最適化を行うことができます。このドキュメントでは、次の重要なディスクの詳細を表示する方法について説明します。

  • インスタンスにアタッチされていないディスクを含む、プロジェクトで使用可能なすべてのディスクのリスト
  • 接続されたインスタンス
  • ディスクがインスタンスとともに自動的に削除されるかどうか
  • アクセスモード
  • スループットと 1 秒あたりの入出力オペレーション(IOPS)のパフォーマンス指標
  • 暗号化に関する情報

始める前に

  • まだ設定していない場合は、認証を設定します。認証では、 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. Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。

      gcloud init

      外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

    2. Set a default region and zone.

    REST

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

      Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。

      gcloud init

      外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

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

プロジェクト内のすべてのディスクを表示する

ストレージ リソースの包括的なビューを表示するには、インスタンスにアタッチされていないディスクを含め、プロジェクト内のすべてのディスクを一覧表示します。

コンソール

Google Cloud コンソールで、[ディスク] ページに移動します。

[ディスク] に移動

[ディスク] ページには、プロジェクト内のすべてのディスクが一覧表示されます。

gcloud

disks list コマンドを実行します。

gcloud compute disks list

コマンド出力

プロジェクト内のすべての Persistent Disk ボリュームと Hyperdisk ボリュームのリスト。

特定のリージョンまたはゾーンのディスクを表示するには、--zone フラグまたは --region フラグを使用してロケーションを指定します。

REST

compute.disks.aggregatedList メソッドPOST リクエストを送信します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/disks/

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

  • PROJECT_ID: プロジェクト ID。

リクエスト / レスポンス

プロジェクト内のすべての Persistent Disk ボリュームと Hyperdisk ボリュームのリスト。

ディスクがアタッチされているインスタンスを表示する

ディスクの使用状況を把握し、どのインスタンスがディスクに接続されているかを特定することで、未使用のディスクから発生する費用を回避できます。

コンソール

  1. Google Cloud コンソールで、[ディスク] ページに移動します。

    [ディスク] に移動

  2. [名前] 列で、ディスクの名前をクリックします。

  3. [プロパティ] テーブルの [使用中] というラベルの付いた行には、ディスクにアタッチされているすべてのインスタンスが一覧表示されます。

gcloud

gcloud compute disks describe コマンドを実行します。

    gcloud compute disks describe DISK_NAME 
--zone=ZONE --format="json(users)"

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

  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: ディスクの名前。

コマンド出力

出力が null の場合、ディスクはどのインスタンスにもアタッチされていません。それ以外の場合、出力は users という名前のフィールドを含む JSON オブジェクトです。users フィールドには、ディスクを使用するすべてのインスタンスの URL が一覧表示されます。

REST

compute.disks.get メソッドPOST リクエストを送信します。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

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

  • PROJECT_ID: プロジェクト ID。
  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: ディスクの名前。

リクエスト / レスポンス

REST レスポンスは、users という名前のフィールドを含む JSON オブジェクトです。

users フィールドの値が null の場合、ディスクはインスタンスにアタッチされません。それ以外の場合、users オブジェクトには、ディスクを使用するすべてのインスタンスの URL が一覧表示されます。

ディスクで自動削除が有効になっているかどうかを確認する

誤ってデータが失われるのを防ぐため、アタッチされたインスタンスを削除するときにブートディスクまたは非ブートディスクが削除されるかどうかを確認します。

デフォルトでは、ブートディスクで autoDelete が有効になっています。つまり、インスタンスを削除すると、アタッチされたブートディスクも削除されます。ただし、アタッチされたブートディスクを保持する場合は、この設定をオーバーライドできます。autoDelete が有効になっている場合、非ブートディスクも削除されます。

コンソール

  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [名前] 列で、インスタンスの名前をクリックします。

  3. [ストレージ] セクションで、[インスタンスの削除時] 列に移動します。インスタンスの削除時は、次のいずれかの値になります。

    • ディスクを削除: ディスクはインスタンスとともに削除されます。
    • ディスクを保持: ディスクはインスタンスとともに削除されません。

gcloud

gcloud compute disks describe コマンドを実行します。

    gcloud compute disks describe DISK_NAME 
--zone=ZONE

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

  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: ディスクの名前。

コマンド出力

autoDelete という名前のフィールドを含む JSON オブジェクト。autoDelete は、ディスクがアタッチされたインスタンスとともに削除されるかどうかを示します。次のいずれかの値になります。

  • true: ディスクはインスタンスとともに削除されます。
  • false: ディスクはインスタンスとともに削除されません。

REST

compute.disks.get メソッドPOST リクエストを送信します。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

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

  • PROJECT_ID: プロジェクト ID。
  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: ディスクの名前。

リクエスト / レスポンス

autoDelete という名前のフィールドを含む JSON オブジェクト。autodelete は、ディスクがアタッチされたインスタンスとともに削除されるかどうかを示します。次のいずれかの値になります。

  • true: ディスクはインスタンスとともに削除されます。
  • false: ディスクはインスタンスとともに削除されません。

ディスクの空き容量を確認する

接続されたインスタンスに接続せずにディスクの空き容量を確認するには、インスタンスに Ops エージェントをインストールする必要があります。Ops エージェントは、bytes_used(使用済みディスクバイト数)と percent_used(ディスク使用率)の追加の指標を提供します。

ディスク容量のモニタリングの詳細については、Ops エージェントの指標をご覧ください。

Hyperdisk のアクセスモードを表示する

アクセスモードは、Hyperdisk ボリュームを複数のインスタンスにアタッチできるかどうか、アタッチされたインスタンスがディスクへの読み取り専用アクセス権または読み取り / 書き込みアクセス権を持っているかどうかを決定します。

コンソール

  1. Google Cloud コンソールで、[ディスク] ページに移動します。

    [ディスク] に移動

  2. [名前] 列で、ディスクの名前をクリックします。

  3. [プロパティ] テーブルの [アクセスモード] というラベルの付いた行には、インスタンスがディスク上のデータにアクセスする方法が記述されています。次のいずれかの値になります。

    • 1 つの VM の読み取り / 書き込み(デフォルト): 1 つのインスタンスからの読み取り / 書き込みアクセス。
    • 複数の VM の読み取り / 書き込み。複数のインスタンスからの読み取り / 書き込みアクセス。
    • 複数の VM の読み取り専用: 複数のインスタンスからの読み取り専用アクセス。

gcloud

gcloud compute disks describe コマンドを実行します。

    gcloud compute disks describe DISK_NAME 
--zone=ZONE
--format="json(accessMode)"

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

  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: ディスクの名前。

コマンド出力

accessMode という名前のフィールドを含む JSON オブジェクト。accessMode は、インスタンスがディスク上のデータにアクセスする方法を表します。次のいずれかの値になります。

  • READ_ONLY_MANY: 複数のインスタンスからの読み取り専用アクセス。
  • READ_WRITE_MANY: 複数のインスタンスからの読み取り / 書き込みアクセス。
  • READ_WRITE_SINGLE: 1 つのインスタンスからの読み取り / 書き込みアクセス。

REST

compute.disks.get メソッドPOST リクエストを送信します。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

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

  • PROJECT_ID: プロジェクト ID。
  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: ディスクの名前

リクエスト / レスポンス

REST レスポンスは、accessMode という名前のフィールドを含む JSON オブジェクトです。accessMode は、インスタンスがディスク上のデータにアクセスする方法を表します。次のいずれかの値になります。

  • READ_ONLY_MANY: 複数のインスタンスからの読み取り専用アクセス。
  • READ_WRITE_MANY: 複数のインスタンスからの読み取り / 書き込みアクセス。
  • READ_WRITE_SINGLE: 1 つのインスタンスからの読み取り / 書き込みアクセス。

ディスクが想定どおりに動作しているかどうかを確認する

ディスクには、実行できる最大 IOPS とスループットの上限があります。これらの上限は、ディスクサイズと接続されたインスタンスによって異なります。ディスクの最大パフォーマンスは、アタッチされているインスタンスの上限を超えることはできません。

Hyperdisk ボリュームまたは Persistent Disk ボリュームが、サイズとアタッチされたインスタンスに基づいて期待されるレベルで動作しているかどうかを確認するには、次の操作を行います。

  1. ディスクのプロビジョニングされたパフォーマンスまたは最大パフォーマンスを確認します。
  2. プロビジョニングされたパフォーマンスまたは最大パフォーマンスと、ディスクの実際のパフォーマンスを比較します。

ディスクのプロビジョニングされたパフォーマンスまたは最大パフォーマンスを確認する手順は、ディスクが Hyperdisk か Persistent Disk かによって異なります。

Hyperdisk にプロビジョニングされたパフォーマンスを表示する

Hyperdisk ボリュームにプロビジョニングされた IOPS とスループットの値を確認するには、Hyperdisk にプロビジョニングされたパフォーマンス設定を表示するをご覧ください。

Persistent Disk の最大パフォーマンスを表示する

Persistent Disk ボリュームには、維持できる GiB あたりおよびインスタンスあたりのスループットと IOPS の上限があります。以降のセクションでは、ゾーン Persistent Disk とリージョン Persistent Disk のパフォーマンスの上限について詳しく説明します。

バランス Persistent Disk と SSD(パフォーマンス)Persistent Disk は、持続的な IOPS とスループットのベースライン パフォーマンスも提供します。バランス永続ディスクまたは SSD 永続ディスクのボリュームの最大 IOPS 値とスループット値を計算するには、次の式を使用します。

Maximum expected performance = Baseline performance + (Per GiB performance limit * Combined disk size in GiB)

詳細については、ベースライン パフォーマンスをご覧ください。

ディスクの実際のパフォーマンスを表示する

ディスクの IOPS とスループットのパフォーマンスを表示するには、 Google Cloud コンソールを使用します。

コンソール

  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [名前] 列で、ディスクがアタッチされている VM の名前をクリックします。

  3. [オブザーバビリティ] をクリックします。

  4. メニューで、[ディスク] > [パフォーマンス] を選択します。

    ディスクの IOPS とスループットのパフォーマンスを示すグラフが表示されます。すべてのグラフを表示するには、Ops エージェントをインストールする必要があります。

ディスクのパフォーマンスに関する詳細なレポートを表示するには、ディスク パフォーマンス指標を確認するをご覧ください。

ディスクが想定どおりに動作しない場合は、ディスクの健全性をモニタリングするのガイダンスを確認してください。

ディスクの暗号化に関する情報を表示する

Compute Engine のディスクは、次のいずれかのタイプの暗号鍵で暗号化されます。

  • Google-owned and managed keys
  • 顧客管理の暗号鍵(CMEK)
  • 顧客指定の暗号鍵(CSEK)

デフォルトでは、Compute Engine は Google-owned and managed keysを使用します。

コンソール

  1. Google Cloud コンソールで、[ディスク] ページに移動します。

    [ディスク] に移動

  2. [名前] 列で、ディスクの名前をクリックします。

  3. [プロパティ] テーブルで、[暗号化] ラベルの付いた行は、Google 管理、顧客管理、または顧客指定という暗号化のタイプを示します。

gcloud

gcloud compute disks describe コマンドを実行します。

    gcloud compute disks describe DISK_NAME 
--zone=ZONE
--format="json(diskEncryptionKey)"

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

  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: ディスクの名前。

コマンド出力

出力が null の場合、ディスクは Google-owned and managed keyを使用しています。

それ以外の場合、出力は JSON オブジェクトです。

JSON オブジェクトに diskEncryptionKey という名前のフィールドが含まれている場合、ディスクは暗号化されます。diskEncryptionKey オブジェクトには、ディスクが CMEK または CSEK で暗号化されているかどうかに関する情報が含まれます。

  • diskEncryptionKey.kmsKeyName プロパティが存在する場合、ディスクは CMEK で暗号化されます。 kmsKeyName プロパティは、ディスクの暗号化に使用された特定の鍵の名前を示します。
    {
      "diskEncryptionKey": {
        "kmsKeyName": "projects/my-proj/.."
      }
    }
    
  • diskEncryptionKey.sha256 プロパティが存在する場合、ディスクは CSEK で暗号化されます。sha256 プロパティは、ディスクを保護する顧客指定の暗号鍵の SHA-256 ハッシュです。
      {
        "diskEncryptionKey": {
          "sha256": "abcdefghijk134560459345dssfd"
        }
      }
        

REST

compute.disks.get メソッドPOST リクエストを送信します。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

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

  • PROJECT_ID: プロジェクト ID。
  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: ディスクの名前

リクエスト / レスポンス

レスポンスが null の場合、ディスクは Google-owned and managed keyを使用しています。

それ以外の場合、レスポンスは JSON オブジェクトです。

JSON オブジェクトに diskEncryptionKey という名前のフィールドが含まれている場合、ディスクは暗号化されます。diskEncryptionKey オブジェクトには、ディスクが CMEK または CSEK で暗号化されているかどうかに関する情報が含まれます。

  • diskEncryptionKey.kmsKeyName プロパティが存在する場合、ディスクは CMEK で暗号化されます。 kmsKeyName プロパティは、ディスクの暗号化に使用された特定の鍵の名前を示します。
    {
      "diskEncryptionKey": {
        "kmsKeyName": "projects/my-proj/.."
      }
    }
    
  • diskEncryptionKey.sha256 プロパティが存在する場合、ディスクは CSEK で暗号化されます。sha256 プロパティは、ディスクを保護する顧客指定の暗号鍵の SHA-256 ハッシュです。
      {
        "diskEncryptionKey": {
          "sha256": "abcdefghijk134560459345dssfd"
        }
      }
        

ディスクが CMEK を使用する場合、プロジェクトごとに鍵を表示するの手順に沿って鍵、キーリング、ロケーションに関する詳細情報を確認できます。

ディスクで CSEK が使用されている場合は、鍵の詳細について組織の管理者にお問い合わせください。CMEK を使用すると、鍵の使用状況を追跡することで、鍵が保護するリソースを確認することもできます。詳細については、鍵の使用状況を表示するをご覧ください。

ディスクの詳細をすべて表示する

ディスクに関する一般的な情報については、ディスクのすべてのプロパティを一度に表示できます。

コンソール

  1. Google Cloud コンソールで、[ディスク] ページに移動します。

    [ディスク] に移動

  2. [名前] 列で、ディスクの名前をクリックします。

    [プロパティ] テーブルが表示され、基本的なディスク情報の概要が表示されます。

  3. 追加のディスク情報を表示するには、[同等の REST] をクリックします。

    Compute Engine API からの元の REST レスポンスを含むダイアログ ウィンドウが表示されます。

gcloud

gcloud compute disks describe コマンドを実行します。

  gcloud compute disks describe DISK_NAME \
    --zone=ZONE

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

  • DISK_NAME: ディスクの名前。
  • ZONE: ディスクが配置されているゾーン。

コマンド出力

Compute Engine ディスクに関連付けられたすべてのデータ。

REST

compute.disks.get メソッドPOST リクエストを送信します。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

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

  • PROJECT_ID: プロジェクト ID。
  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: ディスクの名前

リクエスト / レスポンス

REST レスポンスには、Compute Engine ディスクに関連付けられたすべてのデータが含まれます。

次のステップ