このドキュメントでは、Compute Engine インスタンスによる予約の使用を防ぐ方法について説明します。予約の詳細については、Compute Engine ゾーンリソースの予約をご覧ください。
自動的に使用される予約では、予約に一致するプロパティを持つインスタンスが予約を自動的に使用します。インスタンスが予約を使用しないようにするには、次のいずれかを行います。
このドキュメントの説明に従って、予約を使用しないインスタンスを構成します。
予約と一致しないプロパティを持つインスタンスを作成または更新します。
テスト、デバッグ、分離されたデプロイなどのタスクでインスタンスを使用する場合は、予約の使用を防ぐことができます。
制限事項
予約を使用しないように既存のインスタンスを更新できるのは、インスタンスが一致する予約を自動的に使用するように構成されている場合のみです。
始める前に
-
まだ設定していない場合は、認証を設定します。認証では、 Cloud de Confiance by S3NS サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Cloud de Confiance console to access Cloud de Confiance by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Google Cloud CLI をインストールし、連携 ID を使用して gcloud CLI にログインします。 ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init - Set a default region and zone.
Go
ローカル開発環境でこのページの Go サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールし、連携 ID を使用して gcloud CLI にログインします。
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
Java
ローカル開発環境でこのページの Java サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールし、連携 ID を使用して gcloud CLI にログインします。
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
Node.js
ローカル開発環境でこのページの Node.js サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールし、連携 ID を使用して gcloud CLI にログインします。
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
Python
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールし、連携 ID を使用して gcloud CLI にログインします。
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールし、連携 ID を使用して gcloud CLI にログインします。
詳細については、 Cloud de Confiance 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
コンピューティング インスタンスが予約を使用しないようにするために必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1)IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、コンピューティング インスタンスが予約を使用しないようにするために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
コンピューティング インスタンスが予約を使用しないようにするには、次の権限が必要です。
-
予約を作成する権限: プロジェクトに対する
compute.reservations.create -
インスタンスを作成する:
- プロジェクトに対する
compute.instances.create - カスタム イメージを使用して VM を作成する: イメージに対する
compute.images.useReadOnly - スナップショットを使用して VM を作成する: スナップショットに対する
compute.snapshots.useReadOnly - インスタンス テンプレートを使用して VM を作成する: インスタンス テンプレートに対する
compute.instanceTemplates.useReadOnly - 以前のネットワークを VM に割り当てる: プロジェクトに対する
compute.networks.use - VM の静的 IP アドレスを指定する: プロジェクトに対する
compute.addresses.use - 以前のネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトに対する
compute.networks.useExternalIp - VM のサブネットを指定する: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.use - VPC ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.useExternalIp - VM の VM インスタンス メタデータを設定する: プロジェクトに対する
compute.instances.setMetadata - VM にタグを設定する: VM に対する
compute.instances.setTags - VM にラベルを設定する: VM に対する
compute.instances.setLabels - VM が使用するサービス アカウントを設定する: VM に対する
compute.instances.setServiceAccount - VM に新しいディスクを作成する: プロジェクトに対する
compute.disks.create - 既存のディスクを読み取り専用モードまたは読み取り / 書き込みモードでアタッチする: ディスクに対する
compute.disks.use - 既存のディスクを読み取り専用モードでアタッチする: ディスクに対する
compute.disks.useReadOnly
- プロジェクトに対する
-
インスタンス テンプレートを作成する: プロジェクトに対する
compute.instanceTemplates.create
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
予約の使用を防ぐ
コンピューティング インスタンスが予約を使用しないようにするには、予約アフィニティ(
reservationAffinity)プロパティで予約を使用しないように設定します。このプロパティは、インスタンスが一致する予約を使用するのか、特定の予約を使用するのか、または予約をまったく使用できないかどうかを制御します。1 つ以上のインスタンスが予約を使用しないようにするには、次のいずれかの方法を使用します。
既存のインスタンスでの使用を防ぐ
実行中のインスタンスを更新して、予約が自動的に使用されないようにすることができます。変更を有効にするには、このセクションで説明するようにインスタンスを再起動する必要があります。
既存のインスタンスが予約を使用しないようにするには、次のいずれかのオプションを選択します。
gcloud
空の YAML ファイルを作成します。
作成したばかりの YAML ファイルにインスタンスのプロパティをエクスポートするには、
gcloud compute instances exportコマンドを使用します。gcloud compute instances export INSTANCE_NAME \ --destination=YAML_FILE \ --zone=ZONE次のように置き換えます。
INSTANCE_NAME: インスタンスの名前。YAML_FILE: 前の手順で作成した空の YAML ファイルのパス。ZONE: インスタンスが存在するゾーン。
YAML 構成ファイルで、
consumeReservationTypeをNO_RESERVATIONに設定します。reservationAffinity: consumeReservationType: NO_RESERVATIONインスタンスを更新して再起動するには、
--most-disruptive-allowed-actionフラグをRESTARTに設定してgcloud compute instances update-from-fileコマンドを使用します。gcloud compute instances update-from-file INSTANCE_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONE次のように置き換えます。
INSTANCE_NAME: インスタンスの名前。YAML_FILE: 前の手順で変更した構成データを含む YAML ファイルのパス。ZONE: インスタンスが存在するゾーン。
REST
既存のインスタンスのプロパティを表示するには、
instances.getメソッドにGETリクエストを送信します。GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME次のように置き換えます。
PROJECT_ID: インスタンスが作成されたプロジェクトの ID。ZONE: インスタンスが存在するゾーン。INSTANCE_NAME: インスタンスの名前。
GETリクエストの出力をファイルまたはテキスト エディタに保存します。コピーした出力を変更して、consumeReservationTypeフィールドをNO_RESERVATIONに変更します。{ ... "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, ... }インスタンスを更新して再起動するには、
instances.updateメソッドにPUTリクエストを送信します。リクエストで、次の操作を行います。リクエスト URL に、
RESTARTに設定されたmostDisruptiveAllowedActionクエリ パラメータを含めます。リクエスト本文には、前の手順で編集した
GETリクエストの出力を使用します。
リクエストは次のようになります。
PUT https://compute.s3nsapis.fr/compute/v1/projects/example-project/zones/us-central-1/instances/instance-01?mostDisruptiveAllowedAction=RESTART { ... "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, ... }
インスタンスの更新の詳細については、インスタンス プロパティを更新するをご覧ください。
インスタンスの作成中の使用を防ぐ
予約を使用できないコンピューティング インスタンスを作成するには、次のいずれかのオプションを選択します。
コンソール
Cloud de Confiance コンソールで [インスタンスの作成] ページに移動します。
[名前] フィールドに、インスタンスの名前を入力します。
[リージョン] リストと [ゾーン] リストで、インスタンスを作成するリージョンとゾーンを選択します。
インスタンスに使用するマシンタイプを指定します。
ナビゲーション メニューで、[詳細設定] をクリックします。
[予約] セクションで、[予約を使用しない] を選択します。
[作成] をクリックします。
gcloud
予約を使用できないインスタンスを作成するには、
--reservation-affinityフラグをnoneに設定してgcloud compute instances createコマンドを使用します。gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --reservation-affinity=none \ --zone=ZONE次のように置き換えます。
INSTANCE_NAME: インスタンスの名前。MACHINE_TYPE: インスタンスに使用するマシンタイプ。ZONE: インスタンスを作成するゾーン。
Go
予約を使用できないインスタンスを作成するには、次のコードサンプルを使用します。
Java
予約を使用できないインスタンスを作成するには、次のコードサンプルを使用します。
Node.js
予約を使用できないインスタンスを作成するには、次のコードサンプルを使用します。
Python
予約を使用できないインスタンスを作成するには、次のコードサンプルを使用します。
REST
予約を使用できないインスタンスを作成するには、
instances.insertメソッドにPOSTリクエストを送信します。リクエストの本文に、NO_RESERVATIONに設定されたconsumeReservationTypeフィールドを含めます。POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } }次のように置き換えます。
PROJECT_ID: インスタンスを作成するプロジェクトの ID。ZONE: インスタンスを作成するゾーン。INSTANCE_NAME: インスタンスの名前。MACHINE_TYPE: インスタンスに使用するマシンタイプ。IMAGE_PROJECT: OS イメージを含むイメージ プロジェクト(例:debian-cloud)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617イメージ ファミリー。
family/IMAGE_FAMILYの形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
インスタンスの作成の詳細については、Compute Engine インスタンスの作成と開始をご覧ください。
インスタンス テンプレートの作成中の使用を防ぐ
予約を使用しないようにインスタンスを構成するインスタンス テンプレートを作成すると、そのテンプレートを使用して次のことができます。
次の操作を行うときに、マネージド インスタンス グループ(MIG)のコンピューティング インスタンスが予約を使用しないようにします。
予約を使用しないインスタンスを構成するインスタンス テンプレートを作成するには、次のいずれかのオプションを選択します。
コンソール
Cloud de Confiance コンソールで、[インスタンス テンプレートの作成] ページに移動します。
[名前] フィールドに、インスタンス テンプレートの名前を入力します。
[ロケーション] セクションで、リージョン(デフォルト)またはグローバルのインスタンス テンプレートを作成するかどうかを指定します。
[マシンの構成] セクションで、テンプレートを使用して作成するインスタンスに使用するマシンタイプを指定します。
[詳細オプション] セクションを開き、次の操作を行います。
[管理] セクションを開きます。
[予約] セクションで、[予約を使用しない] を選択します。
[作成] をクリックします。
gcloud
予約を使用しないようにインスタンスを構成するインスタンス テンプレートを作成するには、
--reservation-affinityフラグをnoneに設定してgcloud compute instances-templates createコマンドを使用します。予約を使用しないようにインスタンスを構成するリージョン インスタンス テンプレートを作成するには、次のコマンドを実行します。グローバル インスタンス テンプレートを作成する場合は、
--instance-template-regionフラグを使用せずに同じコマンドを使用します。gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --reservation-affinity=none次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。REGION: インスタンス テンプレートを作成するリージョン。MACHINE_TYPE: インスタンス テンプレートを使用して作成されたインスタンスに使用するマシンタイプ。
Go
予約を使用しないインスタンスを構成するインスタンス テンプレートを作成するには、次のコードサンプルを使用します。
Java
予約を使用しないインスタンスを構成するインスタンス テンプレートを作成するには、次のコードサンプルを使用します。
Node.js
予約を使用しないインスタンスを構成するインスタンス テンプレートを作成するには、次のコードサンプルを使用します。
Python
予約を使用しないインスタンスを構成するインスタンス テンプレートを作成するには、次のコードサンプルを使用します。
REST
予約を使用しないインスタンスを構成するインスタンス テンプレートを作成するには、次のいずれかのメソッドに
POSTリクエストを送信します。グローバル インスタンス テンプレートを作成するには:
instanceTemplates.insertメソッド。リージョン インスタンス テンプレートを作成するには:
regionInstanceTemplates.insertメソッド。
リクエスト本文に
consumeReservationTypeフィールドを追加し、値をNO_RESERVATIONに設定します。たとえば、リージョン インスタンス テンプレートを作成し、予約を使用しないように指定するには、次のようにリクエストを送信します。
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/InstanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } } }次のように置き換えます。
PROJECT_ID: インスタンス テンプレートを作成するプロジェクトの ID。INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: インスタンス テンプレートを使用して作成されたインスタンスに使用するマシンタイプ。IMAGE_PROJECT: OS イメージを含むイメージ プロジェクト(例:debian-cloud)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617イメージ ファミリー。
family/IMAGE_FAMILYの形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
インスタンス テンプレート作成の詳細については、インスタンス テンプレートを作成するをご覧ください。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-12-18 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-12-18 UTC。"],[],[]] -