IBM Cloud Docs
Block Storage for VPCボリュームをアタッチする

Block Storage for VPCボリュームをアタッチする

仮想サーバー インスタンス用に IBM® Cloud Block Storage for Virtual Private Cloud ボリュームを作成すると、そのボリュームはデフォルトでインスタンスにアタッチされます。 ボリュームを切り離すと、そのボリュームは未接続ボリュームとして存在するので、後で再接続できます。 これらの利用可能なボリュームは、すべてのBlock Storage for VPCボリュームのリストに表示されます。 ボリュームを別のインスタンスにアタッチするには、すべてのBlock Storage for VPC ボリュームのリストから、またはインスタンスの詳細を表示するときに行います。

ボリューム接続の制限

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

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. 利用可能なインスタンスのリストから仮想サーバーインスタンスを選択し、Save をクリックします。 リストに仮想サーバー・インスタンスが表示されていない場合は、 「サーバーの作成」 をクリックして 「インスタンス・プロビジョニング」 ページに移動します。
  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"
            }
        }
    }
]

Block Storage for VPCボリュームをAPIでアタッチする

Block Storage for VPCボリュームをAPIでアタッチする

Block Storage for VPC ボリュームをインスタンスにアタッチするには、REST API を直接呼び出します。

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: $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"
  }
}

次のステップ

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