ディスクは、コンピューティング インスタンスでオペレーティング システムの起動と実行に使用するブートディスクか、データ ストレージにのみ使用する非ブートディスクのどちらかです。
スナップショットを使用してディスクデータのバックアップと復元を行う方法は次のとおりです。
ブートディスクまたは非ブートディスクのスナップショットを作成した後、そのスナップショットに基づいて新しいディスクを作成する。
ブートディスクのスナップショットを作成した後、ブートディスクのスナップショットに基づいて新しいインスタンスを作成します。
非ブートディスクのスナップショットを作成した後、そのスナップショットに基づいて、新しい非ブートディスクを含む新しいインスタンスを作成する。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
スナップショットからディスクを作成するには:
-
プロジェクトに対する
compute.disks.create
-
インスタンスに対する
compute.instances.attachDisk
-
アタッチするディスクに対する
compute.disks.use
-
プロジェクトに対する
compute.snapshots.useReadOnly
、compute.snapshots.create
、またはcompute.disks.createSnapshot
-
プロジェクトに対する
-
ブートディスクと非ブートディスクのスナップショットからインスタンスを作成するには、少なくとも次の権限が必要です。
-
プロジェクトに対する
compute.instances.create
-
スナップショットに対する
compute.snapshots.useReadOnly
-
プロジェクトに対する
compute.disks.create
-
ディスクに対する
compute.disks.use
-
インスタンスの
compute.instances.attachDisk
-
プロジェクトに対する
新しいディスクは、少なくともスナップショットの元のソースディスクと同じサイズである必要があります。スナップショットの元のソースディスクよりも大きいディスクを作成する場合は、そのディスクでファイル システムのサイズを変更して、追加のディスク スペースを含める必要があります。オペレーティング システムおよびファイル システムの種類によっては、異なるファイル システム サイズ変更ツールの使用が必要になることがあります。詳細については、オペレーティング システムのドキュメントをご覧ください。
特定のスナップショットから新しいゾーンディスクまたはリージョン ディスクを作成できます。最大で 10 分ごとに 1 回です。ディスクのスナップショット リクエストを大量に発行する場合、60 分で最大 6 件のリクエストを発行できます。この上限は、スナップショットからリージョン ディスクを作成する場合には適用されません。詳細については、スナップショットの頻度の制限をご覧ください。
Google Cloud コンソールで、[スナップショット] ページに移動します。
復元するスナップショットの名前を探します。
[ディスク] ページに移動します。
[新しいディスクの作成] をクリックします。
次の構成パラメータを指定します。
- ディスクの名前。
- ディスクの種類。
- 必要に応じて、デフォルトのリージョンとゾーンの選択をオーバーライドできます。ソース スナップショットのストレージ ロケーションに関係なく、任意のリージョンとゾーンを選択できます。
[ソースタイプ] で、[スナップショット] をクリックします。
復元するスナップショットの名前を選択します。
新しいディスクのサイズ(ギガバイト単位)を選択します。この数は、スナップショットの元のソースディスク以上である必要があります。
[作成] をクリックしてディスクを作成します。
gcloud compute snapshots list
コマンドを使用して、復元するスナップショットの名前を確認します。gcloud compute snapshots list
gcloud compute snapshots describe
コマンドを使用して、復元するスナップショットのサイズを確認します。gcloud compute snapshots describe SNAPSHOT_NAME
SNAPSHOT_NAME は、復元するスナップショットの名前に置き換えます。
gcloud compute disks create
コマンドを使用して、スナップショットから新しいリージョン ディスクまたはゾーンディスクを作成します。--type
フラグを指定して、作成するディスクのタイプを指定できます。ゾーンディスクを作成する場合:
gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE
リージョン ディスクを作成する場合:
gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE \ --region=REGION \ --replica-zones=ZONE1,ZONE2
次のように置き換えます。
- DISK_NAME: 新しいディスクの名前
- DISK_SIZE: 新しいディスクのサイズ(ギビバイト単位)。この数は、スナップショットの元のソースディスク以上である必要があります。
- SNAPSHOT_NAME: 復元するスナップショットの名前
- DISK_TYPE: ディスクのタイプ(、
pd-ssd
、 、hyperdisk-throughput
、hyperdisk-balanced-high-availability
など)。 - REGION: リージョン ディスクを配置するリージョン(例:
europe-west1
) - ZONE1,ZONE2: 2 つのディスク レプリカが配置されるリージョン内のゾーン(例:
europe-west1-b
、europe-west1-c
)
省略可:
gcloud compute instances attach-disk
コマンドを使用して、新しいディスクを既存のインスタンスにアタッチします。gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
次のように置き換えます。
- INSTANCE_NAME: インスタンスの名前
- DISK_NAME: スナップショットから作成されたディスクの名前
snapshots.list
へのGET
リクエストを作成して、プロジェクト内のスナップショットを一覧表示します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots
PROJECT_ID を実際のプロジェクト ID に置き換えます。
それぞれの
disks.insert
メソッドを使用して、ゾーンディスクまたはリージョン ディスクを作成するPOST
リクエストを作成します。- ゾーンディスクの場合:
disks.insert
- リージョン ディスクの場合:
regionDisks.insert
name
、sizeGb
、type
プロパティを含めます。スナップショットを使用してディスクを復元するには、sourceSnapshot
プロパティを含める必要があります。ゾーンディスクを作成する場合:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sourceSnapshot": "SNAPSHOT_NAME", "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/DISK_TYPE" }
リージョン ディスクを作成する場合:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks { "name": "DISK_NAME", "sourceSnapshot": "SNAPSHOT_NAME", "region": "projects/PROJECT_ID/regions/REGION", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE1", "projects/PROJECT_ID/zones/ZONE2" ], "sizeGb": "DISK_SIZE", "type": "zones/ZONE/diskTypes/DISK_TYPE" }
次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- ZONE: インスタンスと新しいディスクが配置されるゾーン
- DISK_NAME: 新しいディスクの名前
- SNAPSHOT_NAME: 復元するディスクのソース スナップショット
- REGION: リージョン ディスクを配置するリージョン(例:
europe-west1
) - ZONE1、ZONE2: 新しいディスクのレプリカが配置されるゾーン。
- DISK_SIZE: 新しいディスクのサイズ(ギビバイト単位)。この数は、スナップショットの元のソースディスク以上である必要があります。
- DISK_TYPE: ディスクのタイプの完全な URL または部分的な URL(、
PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
、、PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
、PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced-high-availability
など)。
- ゾーンディスクの場合:
省略可。新しいディスクを既存のインスタンスにアタッチします。
instances.attachDisk
メソッドに対するPOST
リクエストを作成し、スナップショットから作成したディスクの URL を含めます。ゾーンディスクの場合:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" }
リージョン ディスクの場合:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME" }
次のように置き換えます。
- PROJECT_ID: プロジェクト ID
- ZONE: インスタンスと新しいディスクが配置されるゾーン
- REGION: リージョン ディスクが配置されているリージョン。これは、コンピューティング インスタンスが配置されているリージョンと同じリージョンにする必要があります。
- INSTANCE_NAME: 新しいディスクを追加するインスタンスの名前
- DISK_NAME: 新しいディスクの名前
Google Cloud コンソールの [VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
[名前] でインスタンスの名前を指定します。詳しくは、リソースの命名規則をご覧ください。
(省略可)このインスタンスのゾーンを変更します。[任意] を選択すると、マシンタイプと可用性に基づいてゾーンが自動的に選択されます。
VM のマシン構成を選択します。
[ブートディスク] セクションで [変更] をクリックし、次の操作を行います。
- [スナップショット] タブをクリックします。
- [スナップショット] リストで、スナップショットをクリックします。
- ブートディスクのタイプとサイズを指定します。
- (省略可)詳細な構成オプションについては、[詳細設定を表示] をクリックします。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
[ファイアウォール] セクションで、インスタンスへの HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択します。
Google Cloud コンソールによってネットワーク タグがインスタンスに追加されます。また、対応する上り(内向き)ファイアウォール ルールが作成され、
tcp:80
(HTTP)またはtcp:443
(HTTPS)で受信するすべてのトラフィックが許可されます。このネットワーク タグでファイアウォール ルールがインスタンスに関連付けられます。詳細については、Virtual Private Cloud のドキュメントでファイアウォール ルールの概要をご覧ください。インスタンスを作成して起動するには、[作成] をクリックします。
INSTANCE_NAME
: 新しいインスタンスの名前BOOT_SNAPSHOT_NAME
: 新しいインスタンスのブートディスクに復元するブートディスク スナップショットの名前BOOT_DISK_SIZE
: 省略可。新しいブートディスクのサイズ(GiB)サイズは、スナップショットが作成されたソースディスクのサイズ以上である必要があります。
BOOT_DISK_TYPE
: 省略可。ブートディスクのタイプ( 、PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
、 、PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
など)。BOOT_DISK_NAME
: このインスタンスの新しいブートディスクの名前INSTANCE_NAME
: 新しいインスタンスの名前ZONE
: インスタンスを作成するゾーンDISK_NAME
: 省略可。ディスクの名前BOOT_SNAPSHOT_NAME
: 新しいインスタンスのブートディスクに復元するブートディスク スナップショットの名前。BOOT_DISK_TYPE
: 省略可。ブートディスクのタイプ(例: 、pd-ssd
、 、hyperdisk-balanced-high-availability
)。REMOTE_ZONE
: ブートディスクが複製されるリージョン。replica-zones
プロパティには、カンマで区切られた 2 つのゾーンが必要で、そのうち 1 つのゾーンがインスタンスのゾーンと同じである必要があります。- ブートディスクとして使用できるディスクは 1 つのみです。
- ブートディスクを、そのインスタンスの最初のディスクとして接続する必要があります。
source
プロパティを指定する場合、initializeParams
プロパティを同時に指定することはできません。source
はブートディスクがすでに存在することを示すのに対し、initializeParams
プロパティは Compute Engine によって新しいブートディスクを作成する必要があることを示します。PROJECT_ID
: プロジェクト IDZONE
: 新しいインスタンスを作成するゾーンINSTANCE_NAME
: スナップショットを復元するインスタンスの名前MACHINE_TYPE
: インスタンスのマシンタイプBOOT_SNAPSHOT_NAME
: 新しいインスタンスのブートディスクの作成に使用するスナップショットの名前BOOT_DISK_SIZE
: 省略可。新しいブートディスクのサイズ(ギビバイト(GiB)単位)サイズは、スナップショットが作成されたソースディスクのサイズ以上にする必要があります。
BOOT_DISK_TYPE
: 省略可。ブートディスクのタイプ( 、PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
、 、PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
など)。PROJECT_ID
: プロジェクト IDZONE
: インスタンスを作成するゾーンの名前INSTANCE_NAME
`: インスタンスの名前BOOT_SNAPSHOT_NAME
: ブートディスク スナップショットの名前REMOTE_ZONE
: リージョン ディスクのリモートゾーンBOOT_DISK_TYPE
: 省略可。ブートディスクのタイプ( 、PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
、 、PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced-high-availability
など)。新しいディスクに各非ブート スナップショットを復元します。
Google Cloud コンソールで、[ディスク] ページに移動します。
[ディスクを作成] をクリックします。
[名前] でディスクの名前を指定します。詳しくは、リソースの命名規則をご覧ください。
このディスクの [リージョン] と [ゾーン] を選択します。ディスクとインスタンスは、ゾーンディスクの場合は同じゾーンに、リージョン ディスクの場合は同じリージョンに存在する必要があります。
ディスクの [タイプ] を選択します。
[ソースの種類] で、[スナップショット] を選択します。
新しい [ソース スナップショット] フィールドで、新しいディスクに復元する非ブート スナップショットを選択します。
ディスクを作成するには、[作成] をクリックします。
この手順を繰り返して、復元する各スナップショットからディスクを作成します。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
[名前] でインスタンスの名前を指定します。詳しくは、リソースの命名規則をご覧ください。
このインスタンスの [リージョン] と [ゾーン] を選択します。ディスクとインスタンスは、ゾーンディスクの場合は同じゾーンに、リージョン ディスクの場合は同じリージョンに存在する必要があります。
[マシンタイプ] で、このインスタンスのマシンタイプを選択します。
外部からのトラフィックの受信を許可する場合は、インスタンスのファイアウォール ルールを変更します。
ディスクをインスタンスにアタッチするには、[詳細オプション] セクションを開いて次の操作を行います。
- [ディスク] セクションを開きます。
- [既存のディスクを接続] をクリックします。
- [ディスク] リストで、このインスタンスに接続するディスクを選択します。
- [アタッチメントの設定] セクションで、ディスクのアタッチメントの [モード] と [削除ルール] を選択します。新しいディスクの追加の詳細については、 Persistent Disk を追加するまたは Hyperdisk を追加するをご覧ください。
- [保存] をクリックします。
アタッチするディスクごとに、この手順を繰り返します。
インスタンスを作成して起動するには、[作成] をクリックします。
INSTANCE_NAME
: 新しいインスタンスの名前SNAPSHOT_1_NAME
、SNAPSHOT_2_NAME
: 復元する非ブートディスク スナップショットの名前DISK_1_NAME
、DISK_2_NAME
: このインスタンスに作成する新しい非ブートディスクの名前DISK_1_SIZE
、DISK_2_SIZE
: 省略可。新しいブートディスクのサイズ(ギガバイト単位)サイズは、スナップショットが作成されたソースディスクのサイズ以上にする必要があります。
DISK_1_TYPE
、DISK_2_TYPE
: 省略可。作成するディスクのタイプ(pd-ssd
やhyperdisk-balanced
など)。- ブートディスクとして使用できるディスクは 1 つだけです。
- ブートディスクを、そのインスタンスの最初のディスクとして接続する必要があります。
source
プロパティを指定する場合は、initializeParams
プロパティを同時に指定することはできません。source
はブートディスクがすでに存在することを示すのに対し、initializeParams
プロパティは Compute Engine によって新しいブートディスクを作成する必要があることを示します。PROJECT_ID
: プロジェクト IDZONE
: インスタンスを作成するゾーンINSTANCE_NAME
: 新しいインスタンスの名前MACHINE_TYPE
: インスタンスのマシンタイプDISK_SIZE
: 省略可。対応するディスクのサイズ(ギビバイト(GiB)単位)指定する場合、このプロパティは、スナップショットが作成されたソースディスクのサイズ以上にする必要があります。
DISK_TYPE
: 省略可。対応するディスクのタイプの完全な URL または部分的な URL(例:PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced
)。IMAGE_PROJECT
: イメージを含むプロジェクト。例:debian-cloud
。IMAGE_FAMILY
: イメージ ファミリー。これにより、そのファミリー内の非推奨ではない最新の OS イメージからインスタンスが作成されます。たとえば、"sourceImage": "projects/debian-cloud/global/images/family/debian-11"
を指定すると、Compute Engine は Debian 11 イメージ ファミリーの OS イメージの最新バージョンを使用してインスタンスを作成します。DEVICE_NAME
: 省略可。インスタンスのゲスト OS に表示されるデバイス名SNAPSHOT_NAME
: インスタンスの新しいディスクに復元する、対応するブートディスク以外のスナップショットの名前
Go
ローカル開発環境でこのページの Go サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Java
ローカル開発環境でこのページの Java サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Node.js
ローカル開発環境でこのページの Node.js サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Python
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
スナップショットからの復元に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、スナップショットからの復元に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
スナップショットから復元するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
制限事項
スナップショットからディスクを作成し、必要に応じてインスタンスにアタッチする
スナップショットを使用してブートディスクや非ブートディスクをバックアップした場合は、スナップショットに基づいて新しいディスクを作成できます。
コンソール
必要に応じて、ブートディスク以外のディスクをインスタンスにアタッチできます。
gcloud
Go
Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Java
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Node.js
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST
新しいディスクを作成してインスタンスにアタッチしたら、ディスクをマウントする必要があります。こうすることで、オペレーティング システムが保存容量を使用できるようになります。
既存のディスクからインスタンスを作成する
スナップショットからブートディスクとデータディスクを作成し、これらのディスクを新しいコンピューティング インスタンスにアタッチできます。
Go
Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Java
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Node.js
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
ブートディスク スナップショットからインスタンスを作成する
コンピューティング インスタンスのブートディスクのスナップショットを作成した場合は、そのスナップショットを使用して新しいインスタンスを作成できます。
スナップショットから作成されたリージョン ブートディスクを使用するコンピューティング インスタンスを作成するには、Google Cloud CLI または REST を使用します。
コンソール
gcloud
ゾーン ブートディスク
gcloud compute instances create
コマンドを使用して、--source-snapshot
フラグを含めます。gcloud compute instances create INSTANCE_NAME
--source-snapshot=BOOT_SNAPSHOT_NAME
--boot-disk-size=BOOT_DISK_SIZE
--boot-disk-type=BOOT_DISK_TYPE
--boot-disk-device-name=BOOT_DISK_NAME次のように置き換えます。
リージョン ブートディスク
gcloud compute instances create
コマンドを使用し、source-snapshot
、replica-zones
、boot
の各プロパティを指定して--create-disk
フラグを含めます。gcloud compute instances create INSTANCE_NAME
--zone=ZONE
--create-disk=^:^name=DISK_NAME:source-snapshot=BOOT_SNAPSHOT_NAME:boot=true:type=BOOT_DISK_TYPE:replica-zones=ZONE,REMOTE_ZONE文字
^:^
は、各ディスク プロパティの区切りとしてコロン:
を使用することを指定します。これは、replica-zones
のゾーンを指定するときにカンマ,
を使用できるようにするために必要です。次のように置き換えます。
Go
Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Java
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Node.js
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST
API を使用してスナップショットからインスタンスを作成する場合、次の制限が適用されます。
ゾーン ブートディスク
ブートディスク スナップショットからインスタンスを作成するには、instances.insert
メソッドを使用し、disks
プロパティでsourceSnapshot
フィールドを指定します。必要に応じて、新しいブートディスクのdiskSizeGb
プロパティとdiskType
プロパティを指定できます。 次のように置き換えます。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "machineTypes/MACHINE_TYPE", "disks": [{ "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "diskSizeGb": "BOOT_DISK_SIZE", "diskType": "BOOT_DISK_TYPE" } }], "networkInterfaces": [ { "nicType": "GVNIC" } ] }
リージョン ブートディスク
ブートディスク スナップショットをソースとして使用してリージョン ブートディスクを使用するコンピューティング インスタンスを作成するには、instances.insert
メソッドを使用し、disks
プロパティのsourceSnapshot
フィールドとreplicaZones
フィールドを指定します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "disks": [ { "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE" ], "diskType": "BOOT_DISK_TYPE" } } ], "networkInterfaces": [ { "nicType": "GVNIC" } ] }
次のように置き換えます。
非ブートディスクのスナップショットからコンピューティング インスタンスを作成する
スナップショットを使用して非ブートディスクをバックアップした場合は、そのスナップショットに基づいて追加の非ブートディスクを含むインスタンスを作成できます。
コンソール
Console で、新しいインスタンスに非ブート スナップショットを復元する場合は、まず各スナップショットからディスクを作成します。次に、インスタンスを作成するときに新しいディスクをアタッチします。
gcloud
gcloud compute instances create
コマンドを使用してインスタンスを作成します。復元する非ブート スナップショットごとに、--create-disk
フラグを含めsource-snapshot
を指定します。たとえば、非ブートディスクの 2 つのスナップショットを新しいインスタンスに復元するには、次のコマンドを使用します。
gcloud compute instances create INSTANCE_NAME \ --create-disk source-snapshot=SNAPSHOT_1_NAME,name=DISK_1_NAME,size=DISK_1_SIZE,type=DISK_1_TYPE \ --create-disk source-snapshot=SNAPSHOT_2_NAME,name=DISK_2_NAME,size=DISK_2_SIZE,type=DISK_2_TYPE
次のように置き換えます。
REST
REST を使用して非ブート スナップショットを新しいインスタンスに復元する場合は、次の制限が適用されます。
instances.insert
メソッドにPOST
リクエストを作成し、initializeParams
プロパティでsourceSnapshot
フィールドを指定します。作成する非ブートディスクごとにinitializeParams
プロパティを繰り返して、複数の非ブートディスクを追加できます。必要に応じて、作成するディスクのdiskSizeGb
プロパティとdiskType
プロパティを指定できます。たとえば、2 つの非ブートディスク スナップショットを新しいインスタンスに復元するには、次のリクエストを作成します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "machineTypes/MACHINE_TYPE", "networkInterfaces": [ { "nicType": "GVNIC" } ], "disks": [ { "autoDelete": "true", "boot": "true", "diskSizeGb": "BOOT_DISK_SIZE", "diskType": "BOOT_DISK_TYPE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "deviceName": "DEVICE_1_NAME", "initializeParams": { "sourceSnapshot": "global/snapshots/SNAPSHOT_1_NAME", "diskSizeGb": "DISK_1_SIZE", "diskType": "DISK_1_TYPE" } }, { "deviceName": "DEVICE_2_NAME", "initializeParams": { "sourceSnapshot": "global/snapshots/SNAPSHOT_2_NAME", "diskSizeGb": "DISK_2_SIZE", "diskType": "DISK_2_TYPE" } } ] }
次のように置き換えます。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-05 UTC。
-