Block Storage for VPC ボリュームの管理

IBM Cloud のブロックストレージボリュームを、ボリュームの切り離し、転送、名前の変更、容量の拡張、IOPSの調整、削除、およびメトリクスの監視を通じて管理します。

コンソールでの Block Storage for VPC の管理

UI を使用して、ブロック・ストレージのボリュームを管理できます。 コンソールでは、以下の操作を行うことができます:

  • 仮想サーバーインスタンスからボリュームを切り離します。
  • あるインスタンスから別のインスタンスへボリュームを移行します。
  • 以前にマウントされたブロックストレージのデータボリュームをマウントします。
  • ブロックストレージボリュームの名前を変更します。
  • ブロック・ストレージ・ボリュームにユーザー・タグを追加する。
  • ボリュームの自動削除設定を更新してください。
  • データボリュームのIOPSを調整する。 詳細については、IOPSの調整 を参照してください。
  • ボリュームの容量を増やす。 詳細については、 Block Storage for VPC ボリューム容量の拡張を 参照してください。
  • sdp 、スループット制限を調整する。 詳しくは、 スループット制限の調整を 参照してください。
  • 第1世代のボリュームを移行し、第2世代のボリュームプロファイルを使用するようにします。 詳細については、 Block Storage ボリュームの移行を 参照してください。
  • ブロックストレージのデータボリュームを削除します。

仮想サーバーインスタンスから Block Storage for VPC ボリュームを取り外す

仮想サーバー・インスタンスに接続されているブロック・ストレージ・ボリュームを切り離すことができます。 切り離しによってボリュームが解放され、別のインスタンスが使用できるようになります。

ボリュームを分離するには、以下の手順を実行してください。

  1. すべてのブロック・ストレージ・ボリュームのリストに移動します。 IBM Cloud コンソールでNavigation メニューアイコンメニューアイコン > Infrastructure VPC アイコン > Storage > Block Storage ボリュームをクリックします。
  2. ボリュームの位置を確認し、アクションアイコン アクションアイコン オプションのリストを開きます。
  3. オプション・メニューから、**「インスタンスから切り離し」**をクリックします。
  4. 開いたウィンドウで**「インスタンスの切り離し」**をクリックして確認します。

あるいは、すべてのブロック・ストレージ・ボリュームのリストで個別のボリュームをクリックし、そのボリュームの**「ボリューム詳細」**ページに移動します。 **「接続済みインスタンス」**で、仮想サーバー・インスタンスの横にある負符号をクリックして、そのインスタンスからボリュームを切り離します。

Hyper Protect Virtual Servers for IBM Cloud® Virtual Private Cloud インスタンスを使用する場合、実行中のインスタンスにアタッチされているデータボリュームをデタッチすると、インスタンス上で実行中のワークロードが失敗します。 そのため、データ・ボリュームを切り離さないことをお勧めします。

Block Storage for VPC のボリュームをある仮想サーバーインスタンスから別の仮想サーバーインスタンスへ移行する

ブロックストレージボリュームを別の仮想サーバーインスタンスに転送するには、以下の手順を実行します。

  1. ボリュームをその仮想サーバー・インスタンスから切り離します
  2. ボリュームの転送先の仮想サーバー・インスタンスに移動します。 IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > 仮想サーバーインスタンス をクリックします。
  3. リストから仮想サーバー・インスタンスを選択します。
  4. ストレージ ]タブをクリックすると、サーバーに接続されているすべてのボリュームが表示されます。
  5. アタッチ+ ボリュームの追加をクリックします。 利用可能なすべてのブロックストレージボリュームが表示されます。
  6. ボリュームのリストから、前に切り離したボリュームを選択します。
  7. 保存 をクリックします。

スタンドアロン Block Storage for VPC データボリュームのアタッチ

インスタンスのプロビジョニング中に複数のブロックストレージデータボリュームを作成することができ、これらのボリュームは新しい仮想サーバーインスタンスに自動的にアタッチされます。 インスタンスからボリュームをデタッチすると、そのボリュームはスタンドアロン・ボリュームとして存在し、アタッチメント・タイプのない すべてのブロック・ストレージ・ボリュームの リストに表示されます。 ブロック・ストレージ・ボリュームのリストから別のインスタンスに接続できます。

  1. すべてのブロック・ストレージ・ボリュームのリストに移動します。 IBM Cloud コンソールでNavigation メニューアイコンメニューアイコン > Infrastructure VPC アイコン > Storage > Block Storage ボリュームをクリックします。
  2. ボリュームを見つけて、 「アクション」 アイコン 「アクション」アイコン をクリックし、オプションのリストを開きます。
  3. オプション・メニューから**「インスタンスに接続 (Attach to instance)」**をクリックします。
  4. 使用可能な仮想サーバー・インスタンスを選択します。
  5. 添付 」をクリックして選択内容を確定してください。

Block Storage for VPC ボリュームの名称の更新

既存のボリュームの名前を変更して、より分かりやすい名前にすることができます。

  1. すべてのブロック・ストレージ・ボリュームのリストに移動します。 IBM Cloud コンソールでNavigation メニューアイコンメニューアイコン > Infrastructure VPC アイコン > Storage > Block Storage ボリュームをクリックします。

  2. ボリュームを見つけ、ボリュームの名前をクリックして「ボリューム詳細」ページに移動します。

  3. ボリューム名の横にある「 編集アイコン 編集アイコン 」をクリックして、名前を編集します。 有効なボリューム名を指定してください。

    有効なボリューム名には、英小文字および数字 (a-z、0-9) とハイフン (-) を組み合わせて最大 63 文字まで含めることができます。 ボリューム名の先頭は小文字にする必要があります。 ボリューム名は、VPC インフラストラクチャー全体で固有でなければなりません。 たとえば、同じアカウントおよびリージョン内で同じ名前のボリュームを2つ作成すると、「 volume name duplicate 」というエラーが発生します。

  4. 編集内容を確認します。

コンソールでBlock Storage for VPCボリュームにユーザータグを追加する

ボリュームのリストまたはボリュームの詳細ページから、ブロックストレージにユーザータグを追加する。

  1. ブロックストレージボリュームの一覧に移動します。 IBM Cloud コンソールでNavigation メニューアイコンメニューアイコン > Infrastructure VPC アイコン > Storage > Block Storage ボリュームをクリックします。

  2. ユーザー・タグを追加するボリュームをリストから見つけます。

  3. 「タグ」 列で、 「タグの追加」 をクリックします。

  4. このボリュームに適用したいユーザータグを入力してください。 入力すると、タグが表示されます。

    ボリュームにアクセス管理タグを追加することもできます。 アクセス管理タグの作成および追加について詳しくは、 ボリュームへのアクセス管理タグの適用 を参照してください。

  5. タグの追加が完了したら、 「保存」 をクリックします。 画面を更新すると、ボリュームのリストには、 タグ列に追加されたタグの数が表示されます。

ボリュームの詳細ページからタグを追加することもできます。 その手順は以下の通りです。

  1. ブロックストレージボリュームの一覧に移動します。
  2. ボリュームの詳細で、ボリューム名の横にある 「タグの追加」 をクリックします。
  3. このボリュームに適用したいユーザータグを入力してください。 完了したら、**「保存」**をクリックします。

コンソールでバックアップポリシーに関連付けられたユーザータグをボリュームに追加する

バックアップポリシーに関連付けられたユーザータグを、ブロックストレージボリュームに追加することができます。 バックアップ・ポリシーは、バックアップ・スナップショットの自動作成をスケジュールします。 1 つのボリューム・タグがターゲット・リソースのバックアップ・ポリシー・タグと一致すると、ボリューム内容のバックアップがトリガーされます。 バックアップ・ポリシーは、バックアップ・スナップショットを取得するタイミングをスケジュールするバックアップ計画を定義します。

「ボリュームの詳細」 ページから、ボリュームに適用されているバックアップ・ポリシーを表示したり、バックアップ・ポリシーに関連付けられているユーザー・タグを追加したりすることができます。

  1. ブロックストレージボリュームの一覧に移動します。 IBM Cloud コンソールでNavigation メニューアイコンメニューアイコン > Infrastructure VPC アイコン > Storage > Block Storage ボリュームをクリックします。
  2. 目的のボリュームを見つけて、その名称のリンクをクリックしてください。
  3. ブロックストレージの詳細ページで、「 バックアップポリシー 」タブをクリックします。
  4. **「アタッチ」**をクリックします。
  5. サイドパネルで、利用可能なポリシーのリストからバックアップポリシーを選択し、そのボリュームに適用するポリシータグを選択します。 また、その保険に加入するかどうかを決める際に参考になる、プランの詳細を確認することもできます。
  6. ポリシーとタグの適用をクリックします。 そのバックアップポリシーは、そのボリュームに関連付けられているバックアップポリシーのリストに表示されます。

「バックアップ・ポリシー」ページに移動すると、タグを追加したボリュームがボリュームのリストに表示されます。

バックアップの作成に関する詳細については、「 バックアップポリシーの作成 」を参照してください。 ユーザー・タグについて詳しくは、タグの操作を参照してください。

Block Storage for VPC ボリュームの自動削除設定を更新する

「自動削除」機能を使用すると、ブロックストレージボリュームがアタッチされているインスタンスを削除した際に、そのボリュームも削除されるように指定できます。 データボリュームの場合、このオプションはデフォルトで無効になっている。

インスタンスの作成時にブートボリュームが作成され、そのブートボリュームに対して自動削除が有効になっている場合。 インスタンスを削除すると、この機能を無効にしない限り、ブート・ボリュームも削除されます。

既存のブロックストレージボリュームの自動削除オプションのデフォルト設定を変更するには、以下の手順に従ってください

  1. ボリュームが接続されている仮想サーバー・インスタンスを見つけます。 IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > 仮想サーバーインスタンス をクリックします。
  2. ストレージ ]タブをクリックすると、サーバーに接続されているすべてのボリュームが表示されます。
  3. リストでボリュームを探し、 自動削除列のトグルをクリックして、機能を有効または無効にします。

あるいは、ブロックストレージの一覧( [Storage] > [ Block Storage ] ボリューム )からボリュームを選択します。 ボリュームの詳細ページで、「 アタッチされたインスタンス 」の下にある「 自動削除 」のトグルをクリックして、自動削除を有効または無効にします。

インスタンスを作成する際に、ボリュームの自動削除オプションを有効または無効にすることもできます。 詳しくは、 インスタンスの作成時に Block Storage for VPC ボリュームを作成して接続する を参照してください。

CLI からの Block Storage for VPC の管理

コマンドラインインターフェース(CLI)からブロックストレージを管理します。 CLIでは次のことができます:

  • ブロックストレージボリュームの名前を変更します。
  • ブロック・ストレージ・ボリュームにユーザー・タグを追加する。
  • ボリュームの関連付けを更新するには、その名前を変更するか、自動削除の設定を変更してください。
  • 仮想サーバーインスタンスからボリュームを切り離します。
  • データボリュームのIOPSを調整する。 詳細については、IOPSの調整 を参照してください。
  • ボリュームの容量を増やす。 詳細については、 Block Storage for VPC ボリューム容量の拡張を 参照してください。
  • sdp 、スループット制限を調整する。 詳しくは、 スループット制限の調整を 参照してください。
  • 第1世代のボリュームを移行し、第2世代のボリュームプロファイルを使用するようにします。 詳細については、 Block Storage ボリュームの移行を 参照してください。
  • ブロックストレージのデータボリュームを削除します。

CLI を使用する前に、IBM Cloud CLI および VPC CLI プラグインをインストールする必要があります。 詳しくは、CLI の前提条件を参照してください。

  1. IBM Cloud にログインします。
    ibmcloud login --sso -a cloud.ibm.com
    
    このコマンドを実行すると、URL が返され、パスコードの入力を求めるプロンプトが表示されます。 ブラウザーでその URL にアクセスしてログインします。 成功すると、ワンタイム・パスコードが表示されます。 そのパスコードをコピーし、プロンプトに応答として貼り付けます。 認証が成功すると、アカウントの選択を求めるプロンプトが表示されます。 複数のアカウントアクセスできる場合は、ログインしたいアカウントを選択してください。 残りのプロンプトにすべて応答して、ログインを完了します。

ボリューム名の更新

ボリューム名を変更するには、ボリューム名またはボリューム ID のいずれかを指定してから、新しい名前を示します。 ボリューム名は、最大 63 文字の英数字で構成でき、特殊文字を含めることができ、先頭は小文字でなければなりません。 ボリューム名は、VPC インフラストラクチャー全体で固有でなければなりません。

ibmcloud is volume-update VOLUME_ID [--name NEW_NAME] [--json]

以下の例を参照してください。

ibmcloud is volume-update r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34 --name my-data-volume
Updating volume r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34 under account Test Account as user test.user@ibm.com...
ID                                     r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34
Name                                   my-data-volume
CRN                                    crn:v1:bluemix:public:is:us-south-2:a/a1234567::volume:r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34
Status                                 available
Attachment state                       unattached
Capacity                               100
IOPS                                   3000
Bandwidth(Mbps)                        393
Profile                                general-purpose
Encryption key                         -
Encryption                             provider_managed
Resource group                         defaults
Created                                2025-01-22T00:54:01+00:00
Zone                                   us-south-2
Health State
Volume Attachment Instance Reference   -
Source snapshot                        ID                                          Name
                                       r006-8428038a-a399-4894-8c84-c8d7a4a75fae   wdc-fst-rstore-c6a092f34118-4505
Active                                 false
Adjustable IOPS                        false
Busy                                   false
Tags                                   -
Storage Generation                     1

CLIからBlock Storage for VPCボリュームにユーザータグを追加する

ibmcloud is volume-update VOLUME コマンドに'--tags オプションを指定して、ボリュームのユーザータグを更新する。 ボリュームの引数は、ボリュームIDまたはボリューム名で定義できる。

同じオプションを使用して、'ibmcloud is volume-create を使用してボリュームを作成する際に、ボリュームにタグを追加します。

以下の例では、ID で識別されるボリュームにユーザー・タグ env:test および bkp:test を追加します。 出力には、名前、ステータス、容量、パフォーマンスプロファイル、場所などの情報が表示されます。 更新されたタグはレスポンスの最後に表示される。

ibmcloud is volume-update r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34 --tags dev:test
Updating volume r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34 under account Test Account as user test.user@ibm.com...
ID                                     r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34
Name                                   my-data-volume
CRN                                    crn:v1:bluemix:public:is:us-south-2:a/a1234567::volume:r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34
Status                                 available
Attachment state                       unattached
Capacity                               100
IOPS                                   3000
Bandwidth(Mbps)                        393
Profile                                general-purpose
Encryption key                         -
Encryption                             provider_managed
Resource group                         defaults
Created                                2025-01-22T00:54:01+00:00
Zone                                   us-south-2
Health State
Volume Attachment Instance Reference   -
Source snapshot                        ID                                          Name
                                       r006-8428038a-a399-4894-8c84-c8d7a4a75fae   wdc-fst-rstore-c6a092f34118-4505
Active                                 false
Adjustable IOPS                        false
Busy                                   false
Tags                                   dev:test
Storage Generation                     1

CLI からのボリュームアタッチメントの更新

instance-volume-attachment-update コマンドを使用すると、ボリュームのアタッチメント名を更新したり、デフォルトの自動削除設定を変更したりできます。

ibmcloud is instance-volume-attachment-update INSTANCE_ID VOLUME_ATTACHMENT_ID [--name NEW_NAME] [--auto-delete true | false] [--json]

--name 」オプションを使用し、ボリュームの接続先として新しい名前を指定してください。 インスタンスの削除時にボリュームが自動的に削除されるようにするには、 --auto-delete true を指定します。 インスタンスが削除された後もボリュームをスタンドアロン・ボリュームとして保持する場合は、 --auto-delete false を指定します。

ibmcloud is instance-volume-attachment-update doc-test-ro otp1 --name one-true-pairing --auto-delete false
Updating volume attachment otp1 of instance doc-test-ro under account Test Account as user test.user@ibm.com...
ID                0757-6757e676-0bf5-4b79-9a5b-29c24e17420c
Name              one-true-pairing
Volume            ID                                          Name
                  r014-dee9736d-08ee-4992-ba8d-3b64a4f0baac   demo-volume-update
Status            attached
Bandwidth(Mbps)   393
Type              data
Device            0757-6757e676-0bf5-4b79-9a5b-29c24e17420c-bxsh7
Auto delete       false
Created           2023-06-29T18:14:57+00:00

使用可能なコマンド・オプションについて詳しくは、「 ibmcloud is instance-volume-attachment-update」を参照してください。

CLI からボリュームを切り離す

instance-volume-attachment-detach コマンドを使用して、インスタンスからボリュームを切り離し、ボリューム接続を削除します。 ブロック・ストレージ・ボリュームは削除されません。後で別のインスタンスに接続できます。

このコマンドの構文では、INSTANCE はインスタンスの ID または名前です。 VOLUME_ATTACHMENT は、ボリューム接続の ID または名前です。 複数のボリューム接続を指定できます。 ボリューム接続について詳しくは、 ボリューム接続の作成 の CLI リファレンスを参照してください。

ibmcloud is instance-volume-attachment-detach INSTANCE (VOLUME_ATTACHMENT1 VOLUME_ATTACHMENT2 ...) [--output JSON] [-f, --force] [-q, --quiet]
ibmcloud is instance-volume-attachment-detach kj-test-ro one-true-pairing
This will delete volume attachment one-true-pairing and cannot be undone. Continue [y/N] ?> y
Deleting volume attachment one-true-pairing from instance kj-test-ro under account Test Account as user test.user@ibm.com...
OK
Volume attachment one-true-pairing is deleted.

使用可能なコマンド・オプションについて詳しくは、「 ibmcloud is instance-volume-attachment-detach」を参照してください。

インスタンスが存在する間は、ブート・ボリュームをインスタンスから切り離すことはできません。 インスタンスの削除後もブートボリュームを保持したい場合は、ボリュームアタッチメントの auto-delete オプションが false に設定されていることを確認してください。

API を使用した Block Storage for VPC の管理

VPC REST APIに リクエストすることで、ブロック・ストレージをプログラムで管理できます。 API を使用して、以下の操作を行えます。

  • ブロックストレージボリュームの名前を変更します。
  • ブロック・ストレージ・ボリュームにユーザー・タグを追加する。
  • ボリュームの関連付けを更新するには、その名前を変更するか、自動削除の設定を変更してください。
  • 仮想サーバーインスタンスからボリュームを切り離します。
  • データボリュームのIOPSを調整する。 詳細については、IOPSの調整 を参照してください。
  • ボリュームの容量を増やす。 詳細については、 Block Storage for VPC ボリューム容量の拡張を 参照してください。
  • sdp 、スループット制限を調整する。 詳しくは、 スループット制限の調整を 参照してください。
  • 第1世代のボリュームを移行し、第2世代のボリュームプロファイルを使用するようにします。 詳細については、 Block Storage ボリュームの移行を 参照してください。
  • ブロックストレージのデータボリュームを削除します。

API を使用してボリューム名を更新する

PATCH /volumes/{id} 呼び出しを実行して新しいボリューム名を指定します。

curl -X PATCH "$vpc_api_endpoint/v1/volumes/$volume_id?version=2022-04-22&generation=2"  \
-H "Authorization: Bearer $iam_token" \
-d '{
      "name": "my-volume-4-update"
    }'

正常な応答は、次の例のようになります。

{
  "capacity": 50,
  "created_at": "2022-04-22T23:16:53.000Z",
  "crn": "crn:[...]",
  "encryption": "user_managed",
  "encryption_key": {
    "crn": "crn:[...]"
  },
  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/2d1bb5a8-40a8-447a-acf7-0eadc8aeb054",
  "id": "2d1bb5a8-40a8-447a-acf7-0eadc8aeb054",
  "iops": 100,
  "name": "my-volume-4-update",
  "profile": {
    "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom",
    "name": "custom"
  },
  "resource_group": {
    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/4bbce614c13444cd8fc5e7e878ef8e21",
    "id": "4bbce614c13444cd8fc5e7e878ef8e21",
    "name": "Default"
  },
  "status": "available",
  "status_reasons": [],
  "volume_attachments": [],
  "zone": {
    "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
    "name": "us-south-2"
  }
}

APIを使用したBlock Storage for VPCボリュームへのユーザタグの追加

ユーザー・タグをボリュームに追加するには、まず GET /volumes/{volume_id} 呼び出しを行い、応答ヘッダーの Etag プロパティーからハッシュ・ストリングをコピーします。 その後、PATCH /volumes/{volume_id} 要求で If-Match を指定して新規ユーザー・タグを作成するときに、ハッシュ・ストリングを使用します。

ブロック・ストレージ・ボリュームにタグを適用するには、以下の手順を実行します。

  1. GET /volumes/{volume_id} へのリクエストを行い、レスポンスヘッダーの Etag プロパティからハッシュ文字列をコピーします。 手順 2 で、そのボリュームのユーザータグを作成するために、 PATCH /volumes/{volume_id} リクエスト内で If-Match を指定する際は、ハッシュ文字列を使用する必要があります。 レスポンス・ヘッダー情報を生成するには、以下の例のようなAPIコールを行う:

    curl -sSL -D GET\
    "https://us-south.iaas.cloud.ibm.com/v1/volumes/{volume_id}?version=2022-04-25&generation=2"\
    -H "Authorization: Bearer $TOKEN" -o /dev/null
    

    レスポンスヘッダーには、次のような内容が表示されます:

    HTTP/2 200
    date: Tue, 28 Apr 2022 17:48:03 GMT
    content-type: application/json; charset=utf-8
    content-length: 1049
    cf-ray: 69903d250c4966ef-DFW
    cache-control: max-age=0, no-cache, no-store, must-revalidate
    expires: -1
    strict-transport-security: max-age=31536000; includeSubDomains
    cf-cache-status: DYNAMIC
    expect-ct: max-age=604800, report-uri="[uri...]"
    pragma: no-cache
    x-content-type-options: nosniff
    x-request-id: 1fbe2384-6828-4503-ae7d-050426d1b11b
    x-xss-protection: 1; mode=block
    server: cloudflare
    etag: W/xxxyyyzzz123
    
  2. PATCH /volumes/{volume_id} 要求を行います。 ヘッダーの If-Match プロパティーに Etag-hash-string を指定します。 user_tags プロパティでユーザータグを指定します。

    また、「POST /volumes コールを行ってボリュームを作成し、「user_tags プロパティを指定する際にも、タグを追加することができる。

    この例では、ユーザー・タグ env:test および env:prod を指定してボリュームを更新します。 Etag パラメータから取得した値は、呼び出しの「If-Match ヘッダーに指定される。

    curl -X PATCH\
    "$vpc_api_endpoint/v1/volumes/r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34?version=2025-01-21&generation=2"\
       -H "Authorization: Bearer $iam_token"\
       -H "If-Match: <_Etag-hash-string_>"\
       -d `{
          "user_tags": [
             "env:test",
             "env:prod"
          ]
       }'
    

    この応答には、ボリュームに追加されたタグが表示されています:

    {
     "active": false,
     "attachment_state": "unattached",
     "bandwidth": 393,
     "busy": false,
     "capacity": 100,
     "created_at": "2025-01-22T00:54:01.000Z",
     "crn": "crn:v1:bluemix:public:is:us-south-2:a/a1234567::volume:r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34",
     "encryption": "provider_managed",
     "health_reasons": [],
     "health_state": "",
     "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34",
     "id": "r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34",
     "iops": 3000,
     "name": "my-data-volume",
     "profile": {
         "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose",
         "name": "general-purpose"
     },
     "resource_group": {
         "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/6edefe513d934fdd872e78ee6a8e73ef",
         "id": "6edefe513d934fdd872e78ee6a8e73ef",
         "name": "defaults"
     },
     "source_snapshot": {
         "crn": "crn:v1:bluemix:public:is:us-south:a/a1234567::snapshot:r006-8428038a-a399-4894-8c84-c8d7a4a75fae",
         "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-8428038a-a399-4894-8c84-c8d7a4a75fae",
         "id": "r006-8428038a-a399-4894-8c84-c8d7a4a75fae",
         "name": "wdc-fst-rstore-c6a092f34118-4505",
         "resource_type": "snapshot"
     },
     "status": "available",
     "status_reasons": [],
     "adjustable_capacity_states": [
         "attached"
     ],
     "storage_generation": 1,
     "user_tags": [
         "env:test",
         "env:prod"
     ],
     "volume_attachments": [],
     "zone": {
         "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
         "name": "us-south-2"
     }
    }
    

API を使用したボリュームアタッチメントの更新

PATCH /instances/$instance_id/volume_attachments/$volume_attachment_id 呼び出しを行い、インスタンスとボリュームアタッチメントの ID を指定します。 リクエスト・ボディで、添付ファイルの新しい名前か、 delete_volume_on_instance_delete プロパティの新しい値を指定する。 delete_volume_on_instance_delete プロパティが true に設定されている場合、インスタンスが削除されると、アタッチされたボ リュームも削除されます。 インスタンスの削除後もボリュームを維持したい場合は、 delete_volume_on_instance_delete プロパティに false という値を指定してください。

curl -X PATCH "$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments/$volume_attachment_id?version=2022-04-22&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
      "delete_volume_on_instance_delete": false,
      "name": "my-volume-attachment-data-5iops-updated"
    }'

正常な応答は、次の例のようになります。

{
  "created_at": "2022-04-22T16:35:47.000Z",
  "delete_volume_on_instance_delete": false,
  "href": "https://us-south.iaas.cloud.ibm.com/v1/instances/8f06378c-ed0e-481e-b98c-9a6dfbee1ed5/volume_attachments/9f2a645e-19c1-4f8f-b062-46b9e0671999",
  "id": "9f2a645e-19c1-4f8f-b062-46b9e0671999",
  "name": "my-volume-attachment-data-5iops-updated",
  "status": "attached",
  "type": "data",
  "volume": {
    "crn": "crn:[...]",
    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/d8b26921-1409-4c2f-9b46-39b5b6e0b945",
    "id": "d8b26921-1409-4c2f-9b46-39b5b6e0b945",
    "name": "my-volume-data-5iops"
  }
}

API を使用したボリュームの切り離し

DELETE /instances/{instance_id}/volume_attachments/{id} リクエストを実行し、ボリュームアタッチメントIDを指定して、ボリュームアタッチメントを削除します。 ボリューム接続を削除すると、インスタンスからボリュームが切り離されます。

curl -X DELETE "$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments/$volume_attachment_id?version=2022-04-22&generation=2" \
-H "Authorization: Bearer $iam_token"

インスタンスが存在する間は、ブート・ボリュームをインスタンスから切り離すことはできません。 インスタンスが削除された後もブート・ボリュームを保持したい場合は、ボリュームのアタッチメントの delete_volume_on_instance_delete プロパティが false に設定されていることを確認してください。

GET /instances/{instance_id} 呼び出しを実行して、 ボリュームがインスタンスから切り離されたことを確認します。

TerraformでBlock Storage for VPCを管理する

Terraformでブロックストレージをコードとして管理しよう。 テラフォームを使えば、こんなことができる:

  • ブロックストレージボリュームの名前を変更します。
  • ブロック・ストレージ・ボリュームにユーザー・タグを追加する。
  • データボリュームのIOPSを調整する。 詳細については、IOPSの調整 を参照してください。
  • ボリュームの容量を増やす。 詳細については、 Block Storage for VPC ボリューム容量の拡張を 参照してください。
  • sdp 、スループット制限を調整する。 詳しくは、 スループット制限の調整を 参照してください。
  • 第1世代のボリュームを移行し、第2世代のボリュームプロファイルを使用するようにします。 詳細については、 Block Storage ボリュームの移行を 参照してください。
  • ブロックストレージのデータボリュームを削除します。

Terraformを使うには、Terraform CLIをダウンロードし、 IBM Cloud Providerプラグインを設定する。 詳しくは Terraformを始める を参照。

VPCインフラ・サービスは、デフォルトで「us-south」をターゲットとする特定の地域エンドポイントを使用する。 VPCが他のリージョンに作成されている場合は、'provider.tf ファイル内のプロバイダ・ブロックで適切なリージョンをターゲットにしていることを確認してください。

デフォルトの'us-south 以外の地域をターゲットにする次の例を参照。

provider "ibm" {
  region = "eu-de"
}

ボリュームの作成と管理には「ibm_is_volume リソースを使用する。 ボリュームの様々な属性、例えば名前、タグ、容量、IOPSを変更することができます。 しかし、いくつかの変更は、新しいリソースの作成を余儀なくされる。 このような変更とは、ゾーン、リソースグループ、リソースコントローラ、 暗号化キーの属性に影響を与えるものである。 引数と属性の詳細については、ibm_is_volume を参照のこと。

Terraform を使用したボリューム名の更新

ボリューム名を変更するには、「ibm_is_volume リソースを使用する。 次の例では、ボリューム「r010-bdb8fc70-8afb-4622-826a-d65a9fc477a4 指定し、その新しい名前を「my-new-name-volume」とします。 適用されると、ボリュームの名前が変更されます。

resource "ibm_is_volume" "example" {
  name    = "my-new-name-volume"
  id      = "r010-bdb8fc70-8afb-4622-826a-d65a9fc477a4"
  profile = "10iops-tier"
  zone    = "us-south-1"
}

Terraformでボリュームにタグを適用する

ユーザータグをボリュームに適用するには、「ibm_is_volume リソースを使用する。 次の例では、ボリューム「my-new-volume」と、ボリュームに添付するタグ「dev:test」を指定する。 適用されると、タグがボリュームに追加されます。

resource "ibm_is_volume" "example" {
  name    = "my-new-volume"
  profile = "10iops-tier"
  zone    = "us-south-1"
  tags    = ["dev:test"]
}

Block Storage for VPC ボリュームへのアクセス管理タグの適用

アクセス管理タグは、ブロック・ストレージに追加できるメタデータで、アクセス制御リソースの関係を整理するのに役立ちます。 最初にタグを作成してから、それを新規ボリュームまたは既存のボリュームに適用します。 同じアクセス管理タグを複数のブロック・ストレージ・ボリュームに適用できます。 次に、IAM でタグへのアクセス権限を割り当てます。 オプションで、IAM アクセス・グループを作成し、ユーザーを管理することができます。

アクセス管理タグは、バックアップ・スナップショットを作成するために バックアップ・ポリシー では使用されません。 バックアップ・スナップショットは、ユーザー・タグがターゲット・リソースのバックアップ・ポリシー・タグとボリューム・ユーザー・タグを突き合わせるときに作成されます。

各リソースは、最大 1000 個のユーザー・タグを持つことができ、250 個を超えるアクセス・タグを持つことはできません。 ただし、同じ操作で接続または切り離すことができるタグは 100 個のみです。

ステップ 1 - コンソールで IAM アクセス管理タグを作成する

コンソールで、以下の手順を実行してください。

  1. 「管理」 > 「 アカウント」 にアクセスし、「 タグ 」を選択してください。
  2. 「アクセス管理タグ」 タブをクリックします。 フィールドにタグ名を追加します。 アクセス管理タグには key:value 形式が必要です。
  3. 「タグの作成」 をクリックします。

ステップ 1 - CLI から IAM アクセス管理タグを作成する

コマンドラインから「 ibmcloud resource tag-create 」コマンドを入力して、 アカウントにアクセス管理タグを作成します。 次の例では、 project:myproject という名前のタグを作成します:

ibmcloud resource tag-create --tag-names project:myproject

詳しくは、ibmcloud resource コマンドのリファレンスを参照してください。

ステップ 1-API を使用した IAM アクセス管理タグの作成

グローバル検索およびタグ付け API を使用して、 アクセス管理タグを作成 するための POST/ tags 呼び出しを行います。 tag_names プロパティーでタグを指定します。 例については、 API を使用したアクセス管理タグの作成 を参照してください。

ステップ1 - TerraformでIAMアクセス管理タグを作成する

main.tf ファイルに引数を作成する。 次の例では、リソース ID が ibm_is_volume.example.crnibm リソースに追加される、アクセス管理タグ「 ibm_tag 」を作成します。

resource "ibm_resource" "ibm" {
   resource_id = ibm_is_volume.example.crn
   tags        = ["ibm_tag"]
   }

ステップ 2-ボリュームへのアクセス管理タグの追加

アクセス管理タグを既存のボリュームに追加するか、 ボリュームを作成 するときに追加します。 既存のボリュームにアクセス管理タグを追加するには、以下の手順を実行します。

  1. ブロックストレージボリュームの一覧に移動します。 IBM Cloud コンソールでNavigation メニューアイコンメニューアイコン > Infrastructure VPC アイコン > Storage > Block Storage ボリュームをクリックします。
  2. リストからそのボリュームを探してください。
  3. 「タグ」 列で、 「タグの追加」 をクリックします。
  4. アクセス管理タグフィールドにアクセス管理タグを入力します。 作成したタグは、入力時に表示されます。
  5. 保存 をクリックします。

ステップ 3-アクセス権限およびユーザーの割り当て

アクセス管理タグを作成してボリュームに適用した後、以下のステップを実行してアクセス権限を割り当て、ユーザーを追加します。

  1. アクセス・グループを作成します。 アクセス・グループには、そのグループのメンバーに役割と許可を付与するポリシーが割り当てられます。 ブロック・ストレージ・サービスの特定のアクセス管理タグにアクセスを割り当てる。 アクセス・グループについて詳しくは、アクセス・グループのセットアップを参照してください。

  2. アクセス・ポリシーをグループに割り当てます

  3. アクセス・グループにユーザーを追加します

VPCインフラストラクチャの特定のリソースを見て、リソースタイプとしてブロックストレージを指定すると、ブロックストレージサービスのアクセス管理タグを見ることができます。

Block Storage for VPC ボリュームの削除とデータの除去

ブロック・ストレージ・ボリュームを削除すると、そのデータは直ちにアクセス不能になります。 その物理ディスク上のデータを指すポインターはすべて削除されます。 後で同じアカウントまたはアカウントにボリュームを作成した場合、新しいポインタのセットが割り当てられます。 物理ボリューム上に過去に存在していたデータにそのアカウントでアクセスしようとしても、それらのポインターは削除されているため、アクセスできません。 新しいデータがディスクに書き込まれると、削除済みのボリュームのアクセス不能なデータは上書きされます。

ボリュームを削除する前にデータを消去する

ブロック・ストレージ・ボリュームを削除したら、その物理ディスク上のデータがアクセス不能になり、最終的に完全に消去されることを IBM が保証します。 NIST 800-88 Guidelines for Media Sanitization などの追加のコンプライアンス要件がある場合は、ボリュームを削除する前にお客様がデータ・サニタイズ手順を実行する必要があります。 詳細については、 NIST 800-88「メディアの消去に関するガイドライン 」を参照してください。

削除前にボリュームを消去することで、たとえ物理メディアが IBM の管理外で入手された場合でも、物理ディスク上の残留データが発見されたり復元されたりすることがないよう保証されます。

コンソールでBlock Storage for VPCデータボリュームを削除する

ブロック・ストレージ・ボリュームを削除すると、そのデータも完全に削除されます。 ボリュームは復元できません。

アクティブなブロック・ストレージ・ボリュームを削除することはできません。 ボリュームを削除するには、まず仮想サーバー・インスタンスからボリュームを切り離します。 ボリュームのスナップショットを取得した場合は、すべてのスナップショットがstable状態でなければなりません。

ボリュームを削除するには、以下の手順を実行してください。

  1. すべてのブロック・ストレージ・ボリュームのリストに移動します。 IBM Cloud コンソールでNavigation メニューアイコンメニューアイコン > Infrastructure VPC アイコン > Storage > Block Storage ボリュームをクリックします。
  2. 削除したいボリュームを選択し、 [アクション]アイコン [アクション]アイコン をクリックして、オプションの一覧を表示します。
  3. オプション・メニューから、**「削除」**をクリックします。
  4. 削除を確認します。

CLI からの Block Storage for VPC ボリュームの削除

volume-delete コマンドを使用して、ボリューム ID を指定してブロック・ストレージ・ボリュームを削除します。

アクティブなブロック・ストレージ・ボリュームを削除することはできません。 まず、仮想サーバーから切り離す必要があります。

ibmcloud is volume-delete (VOLUME_NAME | VOLUME_ID) [-f, --force]

以下の例を参照してください。

ibmcloud is volume-delete demovolume1
This will delete volume demovolume1 and cannot be undone. Continue [y/N] ?> y
Deleting volume demovolume1 under account Test Account as user test.user@ibm.com...
OK
Volume demovolume1 is deleted.

API を使用した Block Storage for VPC ボリュームの削除

DELETE /volumes/{id} 呼び出しを行います。

curl -X DELETE "$vpc_api_endpoint/v1/volumes/$volume_id?version=2022-04-22&generation=2" \
-H "Authorization: Bearer $iam_token"

ボリュームが削除されたことを確認するには、GET /volumes 呼び出しを実行してボリュームをリストします。

TerraformでBlock Storage for VPCボリュームを削除する

terraform destroy コマンドを使用すると、ブロックボリュームなどのリモートオブジェクトを簡単に削除できます。 次の例は、ボリュームを削除する構文を示しています。 ibm_is_volume.example.id にボリュームの実際のIDを代入する。

terraform destroy --target ibm_is_volume.example.id

詳しくは テラフォーム破壊を参照のこと。

次のステップ

さらにボリュームを作成 したり、ボリュームの健全性状態、ボリュームのステータス、メトリクスを監視 したりできます。

既存のブロック・ストレージ・ボリュームに関する問題は、ユーザー自身がトラブルシューティングして解決できる場合があります。 詳しくは、Block Storage for VPC のトラブルシューティングを参照してください。