Block Storage for VPC ボリュームのマウント

コンソール、CLI、API、またはTerraformを使用して、 IBM Cloud のブロックストレージデータボリュームを仮想サーバーインスタンスにアタッチし、ストレージ容量を拡張します。

ボリューム接続の制限

仮想サーバーインスタンスには、一度に1つの Block Storage for VPC ブートボリュームのみをアタッチできますが、1つのインスタンスには最大12個の Block Storage for VPC データボリュームをアタッチできます。

IBM Cloud® Virtual Private Cloud インスタンス用に Hyper Protect Virtual Servers を作成する場合、現時点ではデータボリュームを1つしか追加できません。 さらに多くのボリュームを接続しても、それらのボリュームはインスタンスによって使用されません。

UI を使用して、 Block Storage for VPC ボリュームを IBM Cloud® Kubernetes Service クラスタのワーカーノードにマウントすることはできません。 CLI を使用してクラスタノードにボリュームをアタッチする方法の詳細については、「 Block Storage for VPC へのデータ保存 」を参照してください。

Block Storage for VPC ボリュームを仮想サーバーインスタンスにマウントする

Block Storage ボリュームのリスト、ボリューム詳細ページ、またはインスタンス詳細ページから、ボリュームを仮想サーバー・インスタンスに接続できます。

ボリュームのリストからインスタンスへのボリュームの接続

「 Block Storage for VPC 」の全ボリュームの一覧から、以下の手順に従ってください。

  1. IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン ストレージ > Block Storage ボリューム をクリックします。
  2. ボリュームのリストで、使用可能な未接続のボリュームを識別し、行の末尾にある 「アクション」 アイコン 「アクション」アイコン をクリックします。
  3. **「インスタンスに接続」**を選択します。
  4. 利用可能なインスタンスの一覧から仮想サーバーインスタンスを選択し、「 保存 」をクリックします。 リストに仮想サーバー・インスタンスが表示されていない場合は、 「サーバーの作成」 をクリックして 「インスタンス・プロビジョニング」 ページに移動します。
  5. ボリュームをイメージに接続していることを示すメッセージが、ボリューム詳細ページに表示されます。 完了すると、イメージ名が**「接続済みインスタンス」**の下に表示されます。

Hyper Protect Virtual Servers インスタンスを作成し、その契約書にボリュームに関する記載がある場合、インスタンスの作成後15分以内にデータボリュームをアタッチする必要があります。 そうしないと、インスタンスは 15 分の時間枠の後でシャットダウン状態になります。

ボリューム詳細ページからのインスタンスへのボリュームの接続

「ボリュームの詳細」ページで、以下の手順を実行します。

  1. Block Storage ボリュームのリスト から未接続のボリュームを選択します。
  2. ボリュームの詳細ページの 「仮想サーバー・インスタンス」 タイルで、 「接続」 をクリックします。
  3. サイド・パネルで、仮想サーバー・インスタンスを選択し、 「保存」 をクリックします。 リストに仮想サーバー・インスタンスが表示されていない場合は、 「サーバーの作成」 をクリックして 「インスタンス・プロビジョニング」 ページに移動します。 ブート・ボリュームまたはデータ・ボリュームは、インスタンス・プロビジョニング・ページのそれぞれのフィールドに表示されます。
  4. ボリュームがイメージに接続されていることを示すメッセージが表示されます。 完了すると、イメージ名が**「接続済みインスタンス」**の下に表示されます。

インスタンスの詳細ページからのインスタンスへのボリュームの接続

仮想サーバー・インスタンスの詳細ページから Block Storage for VPC ボリュームを接続します。

  1. IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > 仮想サーバーインスタンス をクリックします。
  2. すべての仮想サーバー・インスタンスのリストからインスタンスを選択します。 Block Storage for VPC ボリュームが接続されている場合、それらのボリュームは 「ストレージ・ボリューム」 の下にリストされます。
  3. **「ボリュームの接続」**を選択します。
  4. 使用可能なリソースのリストからボリュームを選択して、**「接続」**をクリックします。 ボリュームを接続していることを示すメッセージが、インスタンスの詳細ページに表示されます。 処理が完了すると、「 ストレージボリューム 」リストが更新され、新しいボリュームが追加されます。

CLI から仮想サーバーインスタンスに「 Block Storage for VPC 」ボリュームをマウントする

CLI を使用して、 Block Storage for VPC ボリュームを仮想サーバーインスタンスにアタッチするには、以下の手順に従ってください。 各インスタンスには複数のボリューム接続があってもかまいませんが、単一のボリューム接続では 1 つのボリュームが 1 つのインスタンスに接続されます。

開始前に

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

IBM Cloud にログインします。

ibmcloud login --sso -a cloud.ibm.com

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

CLI から「 Block Storage for VPC 」ボリュームをマウントする

現在のリソース・グループ内の仮想サーバー・インスタンスにボリュームを接続するには、以下のコマンドを実行します。

ibmcloud is instance-volume-attachment-add NAME INSTANCE_ID VOLUME_ID [--auto-delete true | false] [--json]

NAME はボリューム接続に指定する名前で、INSTANCE_ID は仮想サーバー・インスタンスの ID です。 VOLUME_ID は、接続しようとしているボリュームを指定します。 仮想サーバー・インスタンスの削除時にボリュームを自動的に削除する場合は、 --auto-delete true を指定します。

利用可能な仮想サーバーインスタンスの一覧を表示するには、 ibmcloud is instances コマンドを実行してください。 次の例をご覧ください。

ibmcloud is instances
Listing instances in all resource groups and region us-east under account Test Account as user test.user@ibm.com...
ID                                          Name                 Status    Reserved IP   Floating IP      Profile    Image                                VPC                              Zone        Resource group
0757_506a787d-0672-4209-854b-3e280ec50b44    my-rhel-instance    running   10.241.0.4    169.63.96.188    bx2-2x8    ibm-redhat-9-0-minimal-amd64-2       test-pbalak1                     us-east-1   defaults
0757_4fc00b09-c967-46bf-9203-d17a08078d1d    my-rhel-instance2   running   10.241.0.5    150.239.86.22    bx2-2x8    ibm-redhat-9-0-minimal-amd64-2       test-pbalak1                     us-east-1   defaults
0757_11f5db7f-35a1-4678-bcbd-c85204e09507    my-test-ro          stopped   10.241.0.5    -                bx2d-2x8   ibm-ubuntu-18-04-5-minimal-amd64-1   test-vpc-blu-wdc                 us-east-1   defaults
0767_7ac6da13-c16a-4f58-9981-612d6e33ec53    my-ubuntu-vsi       running   10.241.64.4   -                bx2-2x8    ibm-centos-7-9-minimal-amd64-3       test-vpc-blu-wdc                 us-east-2   defaults
0757_ff64452f-7e81-4a48-b938-7fc601597dcd    my-new-ubuntu-vsi   running   10.241.14.4   52.116.121.167   mx2-2x16   ibm-ubuntu-20-04-6-minimal-amd64-1   test-vpc-do-not-delete-default   us-east-1   Default
0757_337977c1-f1f0-42ad-9de4-16fe0cda2ba9    my-virtual-server   running   10.241.4.4    52.116.124.193   mx2-2x16   ibm-ubuntu-20-04-6-minimal-amd64-1   test-vpc-do-not-delete-default   us-east-1   Default

次に、接続したいボリュームと同じゾーン内にある仮想サーバー・インスタンスを選択します。

ibmcloud is instance-volume-attachment-add otp1 0757_11f5db7f-35a1-4678-bcbd-c85204e09507 demo-volume-update --auto-delete true
Creating volume attachment otp1 for instance my-test-ro under account Test Account as user test.user@ibm.com...
ID                0757-6757e676-0bf5-4b79-9a5b-29c24e17420c
Name              otp1
Volume            ID                                          Name
                  r014-dee9736d-08ee-4992-ba8d-3b64a4f0baac   demo-volume-update
Status            attaching
Bandwidth(Mbps)   393
Type              data
Device            -
Auto delete       true
Created           2023-06-29T18:14:57+00:00

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

仮想サーバー・インスタンスに接続しているボリュームの詳細の表示

ボリュームをアタッチした後、 instance-volume-attachment コマンドでインスタンスIDまたはインスタンス名、およびボリュームアタッチメントIDまたはアタッチメント名を指定することで、詳細情報を表示できます。

ibmcloud is instance-volume-attachment INSTANCE VOLUME_ATTACHMENT [--json]
ibmcloud is instance-volume-attachment my-test-ro otp1
Getting volume attachment otp1 of instance my-test-ro under account Test Account as user test.user@ibm.com...
ID                0757-6757e676-0bf5-4b79-9a5b-29c24e17420c
Name              otp1
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       true
Created           2023-06-29T18:14:57+00:00

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

サーバー・インターフェースのボリューム接続すべてのリスト

instance-volume-attachments コマンドを使用し、インスタンスIDまたは名前を指定すると、そのインスタンスにアタッチされているすべてのボリュームを確認できます。

ibmcloud is instance-volume-attachments INSTANCE [--json]

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

ibmcloud is instance-volume-attachments my-test-ro
Listing volume attachments of instance my-test-ro under account Test Account as user test.user@ibm.com...
ID                                          Name                                 Volume                          Status     Type   Device                                            Auto delete
0757-6757e676-0bf5-4b79-9a5b-29c24e17420c   otp1                                 demo-volume-update              attached   data   0757-6757e676-0bf5-4b79-9a5b-29c24e17420c-bxsh7   true
0757-af470ade-9d5c-491e-97b2-f000ed4ee49b   scheming-tipper-shivering-decrease   my-test-ro-boot-1629867631000   attached   boot   0757-af470ade-9d5c-491e-97b2-f000ed4ee49b-fc4tl   true

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

ボリューム接続 JSON の作成

CLI から仮想サーバーインスタンスをプロビジョニングし、その一環として Block Storage for VPC ボリュームを作成する場合、ボリュームのアタッチメントに関する JSON を指定することができます。 コマンドまたはファイルとして指定されるボリュームアタッチメントのJSONには、ボリュームのパラメータが含まれています。

インスタンスを作成 するために使用する CLI コマンドで、 --volume-attach オプションとボリューム JSON ファイルを指定します。 例えば、--volume-attach @/Users/myname/myvolume-attachment_create.jsonなどです。

以下の例は、カスタム・ボリュームを定義し、ユーザー・タグを指定するボリューム接続 JSON ファイルの内容を示しています。

[
    {
        "name": "myvolume-attachment",
        "delete_volume_on_instance_delete": true,
        "volume": {
            "name": "myvolume",
            "capacity": 100,
            "iops": 1000,
            "profile": {
                "name": "custom"
            },
            "user_tags": {
                "env:test"
            }
        }
    }
]

API を使用して、 Block Storage for VPC ボリュームを仮想サーバーインスタンスにマウントする

API を使用して、 Block Storage for VPC ボリュームを仮想サーバーインスタンスにマウントする

REST API を直接呼び出すことで、 Block Storage for VPC のボリュームを仮想サーバーインスタンスにマウントします。

Block Storage for VPC ボリュームをアタッチするために、インスタンスのボリュームアタッチメントを作成します。 POST /instances リクエストを行い、 volume_attachments を指定してください。

POST/instances/{instance_id}/volume_attachments

次の例では、ボリュームのアタッチメントを作成し、ID によってボリュームを指定します。

curl -X POST "$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments?version=2021-04-20&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
      "delete_volume_on_instance_delete": true,
      "name": "my-volume-attachment-data-5iops",
      "volume": {"id": "d8b26921-1409-4c2f-9b46-39b5b6e0b945"}
    }'

成功した場合の応答には、ボリュームが接続されたことが示されています。

{
  "created_at": "2021-04-21T16:35:47.000Z",
  "delete_volume_on_instance_delete": true,
  "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",
  "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"
  }
}

次のステップ

追加ボリュームを作成し、既存のボリュームを管理します。 以下の情報を参照してください。