このドキュメントでは、非ブート ゾーンディスクを VM にアタッチする方法について説明します。
仮想マシン(VM)インスタンス用のディスクを構成する場合、次の方法で非ブートディスクを作成できます。
- VM の作成時にディスクを作成してアタッチする
- ディスクを作成し、VM を作成してから、ディスクを VM にアタッチします。
このページでは、既存のディスクを VM にアタッチする方法について説明します。
各 VM がディスクに同時にアクセスできるようにディスクを複数の VM にアタッチするには、VM 間でディスクを共有するをご覧ください。
ブートディスクの場合、OS イメージまたはディスク スナップショットからブートディスクを作成し、そのディスクを使用して VM を作成できます。詳細については、カスタマイズされたブートディスクを作成するをご覧ください。
必要なロールと権限
VM にディスクをアタッチするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼します。
-
Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
) -
サービス アカウントとして実行できる VM インスタンスに接続する: サービス アカウント ユーザー(v1)(
roles/iam.serviceAccountUser
ロール)
ロールの付与の詳細については、アクセスの管理をご覧ください。
これらの事前定義ロールには、ディスクを VM にアタッチするために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
ディスクを VM にアタッチするには、次の権限が必要です。
-
ディスクを VM にアタッチするには:
-
VM に対する
compute.instances.attachDisk
-
VM に対する
compute.instances.attachDisk
-
VM にアタッチするディスクに対する
compute.disks.use
-
VM に対する
- アタッチされたボリュームをフォーマットしてマウントするには、VM 上の
compute.instances.setMetadata
を使用します。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
制限事項
ディスクを VM にアタッチする場合は、次の制限事項に注意してください。
- VM には、最大 127 個のセカンダリで非ブートのゾーンディスクをアタッチできます。
- VM の最大ディスク容量を超える場合、ディスクを VM にアタッチすることはできません。
VM に非ブートディスクをアタッチする
ブートゾーン以外のディスクを VM にアタッチするには、Google Cloud コンソール、Google Cloud CLI、または REST を使用します。
VM にディスクをアタッチするときに、カスタム デバイス名を指定する必要があります。指定した名前は、ゲスト OS でディスクのシンボリック リンクを生成するために使用されます。これにより、VM 上のディスクの識別と管理が容易になります。
コンソール
[VM インスタンス] ページに移動します。
ディスクを追加する VM の名前をクリックします。
詳細ページで [編集] をクリックします。
[ストレージ] セクションの [追加ディスク] で、[+ 既存のディスクを接続] をクリックします。
ディスク名を選択します。
ディスクのアタッチメント モードと削除ルールを選択します。
オプション: [デバイス名] という見出しで、[カスタム デバイス名を使用する] オプションを選択します。入力した名前は、ディスクのシンボリック リンクを生成するために使用されます。これにより、ディスクを識別しやすくなります。
[保存] をクリックして変更を適用し、ディスクを VM にアタッチします。
gcloud
ディスクを VM にアタッチするには、gcloud compute instances attach-disk
コマンドを使用します。
gcloud compute instances attach-disk VM_NAME \ --disk DISK_NAME --device-name=DEVICE_NAME
次のように置き換えます。
VM_NAME
: 新しいゾーン永続ディスクを追加する VM の名前DISK_NAME
: VM にアタッチする新しいディスクの名前DEVICE_NAME
: オプション。ゲスト OS がディスクの識別に使用する名前
Terraform
ディスクを VM にアタッチするには、google_compute_instance
リソースを使用します。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
REST
ディスクを VM にアタッチするには、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
: プロジェクト IDZONE
: VM とディスクが配置されているゾーンVM_NAME
: ディスクをアタッチする VM の名前DISK_NAME
: アタッチするディスクの名前DEVICE_NAME
: オプション。ゲスト OS がシンボリック リンクの作成に使用する名前。ディスクの識別に役立ちます。
ディスクを VM にアタッチした後、VM のゲスト オペレーティング システムが使用可能な保存容量を使用する前に、ディスクをフォーマットしてマウントする必要があります。
次のステップ
- Linux VM または Windows VM に新しいディスクをフォーマットしてマウントする。
- 予期しないデータ損失を防ぐため、スナップショットを使用してディスクを定期的にバックアップする方法を学習する。
- 2 つのゾーン間の同期レプリケーションに、リージョン永続ディスクを使用する。