予約の作成のトラブルシューティング


このページでは、Compute Engine ゾーンリソースの予約の使用に関する問題の解決方法について説明します。

このページのエラーに加えて、予約の作成は Compute Engine リソースの作成時に発生する問題が原因で失敗する場合もあります。問題がこのページにリストされていない場合は、予約する必要があるリソースを使用して VM を作成することを試み、VM 作成のトラブルシューティングのページを確認するとエラーを発見できることがあります。

予約の作成エラー

予約を作成できない場合は、このセクションで説明するエラーのいずれかが原因となっている可能性があります。共有予約を作成できない場合は、共有予約の作成エラーもご覧ください。

割り当て不足

割り当てエラーは、リソース リクエストが割り当てを超過した場合に発生します。

エラー メッセージ:

RESOURCE_NAME creation failed:
Quota QUOTA_NAME exceeded. Limit: QUOTA_LIMIT in region REGION
RESOURCE_NAME creation failed:
Quota QUOTA_NAME exceeded. Limit: QUOTA_LIMIT in zone ZONE
Resource exhausted (HTTP 429): QUOTA_EXCEEDED

解決策: 割り当て上限の引き上げをリクエストします。詳細については、割り当て増加のリクエストをご覧ください。

リソースの可用性

予約を作成するには、予約で指定したすべてのリソースが、指定されたリソースで使用できる必要があります。

以下に、新しい Compute Engine リソースをリクエストするとき、または新しい予約を作成するときに発生する可能性のある一般的なリソースエラーの例を示します。

ZONE_RESOURCE_POOL_EXHAUSTED
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
The zone 'projects/PROJECT_ID/zones/ZONE' does not have enough resources available to fulfill the request.
Try a different zone, or try again later.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is currently unavailable in the ZONE zone.

Capacity changes frequently, so try your request in a different zone, with a different VM hardware
configuration, or at a later time. For more options, see troubleshooting documentation.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is currently unavailable in the ZONE zone, because of  REASON.

Consider trying your request in the ZONE zone(s), which currently has capacity to accommodate your request.

If you cannot move your VM to ZONE, review the REASON failure resolution instructions available in troubleshooting documentation, then try your request again.
If your workload can't accommodate the suggested resolution, try your request with a different VM hardware configuration or at a later time.

リソースエラーを解決する方法については、リソースの可用性に関するエラーのトラブルシューティングをご覧ください。

使用できるゾーン

新しいリソースのリクエストに対して notFound エラーまたは does not exist in zone エラーが発生した場合、それはリクエストしたゾーンがそのリソースまたはマシンタイプを提供していないことを意味します。

エラー メッセージ:

notFound

does not exist in zone

解決策: 各ゾーンで利用可能な機能を確認するには、リージョンとゾーンをご覧ください。

リソース名

リソースを作成しようとしたときに resource already exists エラーが発生した場合は、指定したロケーションとプロジェクトの一意の名前がリソースに指定されていないため、作成リクエストが失敗しています。

エラー メッセージ:

The resource 'projects/PROJECT_NAME/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME' already exists"

The resource 'projects/PROJECT_NAME/regions/REGION/RESOURCE_TYPE/RESOURCE_NAME' already exists"

解決策: 一意のリソース名を指定して作成リクエストを再試行します。

VM の最大数超過

1,000 個を超える VM の予約を作成しようとすると、次のエラーが発生します。

エラー メッセージ:

Invalid value for field 'resource.specificReservation.count': VM_COUNT. Must be less than or equal to 1000
ここで、VM_COUNT は予約内の VM の数です。

解決策: この予約と同じゾーン、プロジェクト、VM プロパティで複数の予約を作成する際に、予約する VM の数を予約ごとに最大 1,000 個の VM に減らします。

共有予約の作成エラー

共有予約を作成できない場合は、このセクションまたは予約作成エラーにあるエラーのいずれかが原因となっている可能性があります。

組織のないプロジェクト

組織に属していないプロジェクトで共有予約を作成しようとすると、次のエラーが発生します。

エラー メッセージ:

Cannot create Shared Reservations in a project that does not belong to an organization.

解決策: 次のいずれかを行います。

制約違反

共有予約オーナー プロジェクトcompute.sharedReservationsOwnerProjects)組織ポリシーの制約で、プロジェクトに対して共有予約の作成および変更が許可されない場合、次のエラーが発生します。

エラー メッセージ:

Constraint constraints/compute.sharedReservationsOwnerProjects violated for project projects/PROJECT_NUMBER
Shared reservation can not be created in this project for your organization.

解決策: 次のいずれかを行います。

  • 共有予約の作成と変更が許可されているプロジェクトを使用します。組織内のどのプロジェクトにこの権限が付与されているかを確認するには、共有予約の組織のポリシーの制約を表示します。
  • 共有予約組織ポリシーの制約を編集して、共有予約を作成および変更する権限をプロジェクトに付与します。編集後もこのエラーが引き続き表示される場合は、編集が反映されるまで数分待たなければならない場合があります。

無効なコンシューマ プロジェクト

このセクションでは、共有予約に無効なコンシューマ プロジェクトを指定した場合に発生するエラーについて説明します。

この組織でプロジェクトが見つからない

指定したコンシューマ プロジェクトが、現在使用しているプロジェクトと同じ組織に見つからないと、次のエラーが発生します。

エラー メッセージ:

Project PROJECT_ID doesn't exist or doesn't belong to the same organization of the current project.

ここで、PROJECT_ID は、コンシューマ プロジェクトとして指定したプロジェクト ID です。

解決策: 次の操作を行います。

  1. 組織内のすべてのプロジェクトを表示して、指定したコンシューマ プロジェクトがこの組織に存在することを確認します。
  2. プロジェクトを表示して、プロジェクト ID PROJECT_ID が正しく指定されていることを確認します。

オーナー プロジェクトをコンシューマ プロジェクトとして指定

共有予約のオーナー プロジェクト(共有予約の作成に使用したプロジェクト)をコンシューマ プロジェクトとして指定しようとすると、次のエラーが発生します。

エラー メッセージ:

Project PROJECT_ID which is the owner project of this reservation is always included in the share projects, please do not add it.

解決策: コンシューマ プロジェクトのリストからオーナー プロジェクトを削除します。共有予約は、オーナー プロジェクトの VM で常に使用できるため、コンシューマ プロジェクトのリストに含めることはできません。

コンシューマ プロジェクトなし

共有予約にコンシューマ プロジェクトがない場合、次のエラーが発生します。

エラー メッセージ:

Have to share with at least 1 project.

解決策: 次のいずれかを行います。

コンシューマ プロジェクトの最大数超過

共有予約に 100 を超えるコンシューマ プロジェクトがある場合、次のエラーが発生します。

エラー メッセージ:

Can only share with at most 100 projects.

解決策: 次の操作を行います。

  1. 共有予約のコンシューマ プロジェクトの数を、最大で 100 に減らします。
  2. 引き続き、省略したプロジェクト用に容量を予約する必要がある場合は、それらのプロジェクトと共有する別の共有予約を作成します。

共有予約の最大数超過

組織に同じ VM プロパティを持つ共有予約がすでに 100 個ある場合、次のエラーが発生します。

エラー メッセージ:

Cannot support more than 100 shared reservations of the same shape under an organization.

解決策: ベスト プラクティスに従い、次の手順で操作して、組織内で同一の VM プロパティを持つ共有予約の数を最小限に抑えます。

  • 既存の予約のサイズを変更して、VM の数を増やします。最大 VM 数を超えない似たような共有予約が複数ある場合、それらを同じ合計 VM 数を持つ共有予約に編成し直して、共有予約の数を減らすことをおすすめします。
  • 共有予約のコンシューマ プロジェクトを変更して、さらにプロジェクトを追加します。たとえば、同じ VM プロパティとゾーンを持つ複数の共有予約があり、オーナー プロジェクトとコンシューマ プロジェクトが類似している場合、これらを 1 つの共有予約に結合し、すべてのプロジェクトで使用することをおすすめします。
  • 不要になった共有予約を削除します。

インスタンス テンプレートからの予約作成エラー

インスタンス テンプレートを指定して予約を作成できない場合は、このセクションで説明するエラーのいずれかが原因となっている可能性があります。

プロジェクトを相互参照できない

別のプロジェクトのインスタンス テンプレートを指定して予約を作成しようとすると、次のエラーが発生します。

エラー メッセージ:

Cross project referencing is not allowed for this resource.

解決策: 次の操作を行います。

  1. 予約で指定したプロジェクト ID とインスタンス テンプレートの名前が正しいことを確認します。インスタンス テンプレートが存在することを確認するには、テンプレートについての情報を入手するか、テンプレートを一覧表示します。

  2. インスタンス テンプレートにはプロジェクト固有の設定が含まれているため、アクセスして使用できるのは同じプロジェクト内のインスタンス テンプレートに限られます。代わりに、次のいずれかを行います。

    • インスタンス テンプレートを指定して予約を作成するには、次のようにします。

      1. プロジェクト内に新しいインスタンス テンプレートを作成します。

      2. 単一プロジェクトまたは共有予約を作成するときに、新しく作成されたインスタンス テンプレートを指定します。

    • インスタンス テンプレートを指定せずに予約を作成するには、VM プロパティを直接指定して、単一プロジェクトまたは共有予約を作成します。

インスタンス テンプレートが見つからない

存在しないインスタンス テンプレートを指定して予約を作成しようとすると、次のエラーが発生します。

エラー メッセージ:

Source resource reference provided invalid.

解決策: 指定したインスタンス テンプレートの名前が正しいことを確認します。インスタンス テンプレートを一覧表示してテンプレートが存在しないことを確認した後、プロジェクトに使用したい別のテンプレートがない場合にのみ、新しいインスタンス テンプレートを作成できます。

インスタンス テンプレートのゾーンが無効

インスタンス テンプレートを指定して予約を作成しようとしたときに、インスタンス テンプレートに無効な場所を指定すると、次のエラーが発生します。

エラー メッセージ:

Reservation cannot be created outside the zone/region of source resource.

解決策: 次のいずれかを行います。

  • インスタンス テンプレート内のリソースと同じリージョンとゾーンに予約を作成します。インスタンス テンプレートで指定されているリージョン リソースゾーンリソース(マシンタイプやディスクなど)によって、テンプレートの使用はそれらのリソースが存在するロケーションに限定されます。たとえば、インスタンス テンプレートで us-central1-a ゾーンに既存のディスクが指定されている場合は、同じゾーンに予約を作成する必要があります。そうしないと、予約または予約を使用できる VM の作成が失敗します。

    既存のテンプレートに、特定のリージョンまたはゾーンにテンプレートをバインドするリソースが指定されているかどうかを確認するには、テンプレートについての情報を取得し、その中のリージョン リソースまたはゾーンリソースへの参照を探します。

  • 特定のリージョンまたはゾーンに限定されていないインスタンス テンプレートを使用します。インスタンス テンプレートは更新できないため、次の操作を行います。

    1. 更新されたプロパティを使用して、既存のテンプレートに基づいて新しいインスタンス テンプレートを作成します。

    2. 新しく作成したインスタンス テンプレートを指定して、単一プロジェクトまたは共有予約を作成します。

    3. 省略可: 古いインスタンス テンプレートを削除します。

インスタンス テンプレートのプロパティがオーバーライドされる

インスタンス テンプレートを指定して予約を作成しようとしたときに、予約の作成時にインスタンス テンプレートと VM プロパティの両方を指定すると、次のエラーが発生します。

エラー メッセージ:

Reservation cannot override properties populated by source resource.

解決策: 次のいずれかを行います。

  • インスタンス テンプレートを指定して予約を作成するには、VM プロパティを指定するフィールドをすべて削除します。

  • VM プロパティが異なるインスタンス テンプレートを指定して予約を作成するには、次の操作を行います。

    1. 既存のインスタンス テンプレートを更新することはできません。代わりに、既存のテンプレートに基づいて新しいインスタンス テンプレートを作成します。

    2. 単一プロジェクトまたは共有予約を作成するときに、新しく作成されたインスタンス テンプレートを指定します。

    3. 省略可: 古いインスタンス テンプレートを削除します。

  • インスタンス テンプレートを指定せずに予約を作成するには、代わりに VM プロパティを直接指定して、単一プロジェクトまたは共有予約を作成します。

コンパクト プレースメント ポリシーを指定した予約の作成エラー

コンパクト プレースメント ポリシーを指定して予約を作成できない場合は、このセクションで説明するエラーのいずれかが原因となっている可能性があります。

コンパクト プレースメント ポリシーが別の予約ですでに指定されている

コンパクト プレースメント ポリシーを指定して予約を作成しようとしたときに、コンパクト プレースメント ポリシーがすでに別の予約で指定されていると、次のエラーが発生します。

エラー メッセージ:

Placement policy has been used by another reservation.

解決策: 1 つの予約につき 1 つのコンパクト プレースメント ポリシーのみを使用します。コンパクト プレースメント ポリシーは予約間で共有できません。別の予約に同様のコンパクト プレースメント ポリシーを使用する場合は、次のいずれかの方法を選択します。

自動的に使用される予約を作成しようとする

自動的に使用される予約を作成し、コンパクト プレースメント ポリシーを指定しようとすると、次のエラーが発生します。

Placement policy only supports specific reservations.

解決策: コンパクト プレースメント ポリシーは、明示的なターゲット予約を作成するときにのみ指定します。

共有予約を作成しようとする

コンパクト プレースメント ポリシーを指定して共有予約を作成しようとすると、次のエラーが発生します。

エラー メッセージ:

Creating shared reservations with placement policy is not supported.

解決策: コンパクト プレースメント ポリシーを、単一プロジェクトの予約に対してのみ指定します。共有予約を最初に共有するプロジェクトごとに新しい予約と新しいコンパクト プレースメント ポリシーを作成します。

max-distance の値が 1 のコンパクト プレースメント ポリシーを指定しようとする

単一プロジェクト予約で max-distance の値が 1 のコンパクト プレースメント ポリシーを指定しようとすると、次のエラーが発生します。

エラー メッセージ:

Resource policies with max-distance less than 2 are not supported.

解決策: 単一プロジェクト予約を作成するときに、max-distance の値が 1 のコンパクト プレースメント ポリシーを指定できません。代わりに、次のようにします。

  1. max-distance の値を 1 と指定していない新しいコンパクト プレースメント ポリシーを作成します。

  2. 次のいずれかを行います。

また、古いコンパクト プレースメント ポリシーが不要な場合は、プレースメント ポリシーを削除する方法をご覧ください。

スプレッド プレースメント ポリシーを指定しようとする

予約でスプレッド プレースメント ポリシーを指定しようとすると、次のエラーが発生します。

エラー メッセージ:

Only compact placement policy is allowed with reservation.

解決策: コンパクト プレースメント ポリシーを、予約を作成するときにのみ指定します。スプレッド プレースメント ポリシーはサポートされていません。

リソース ポリシーのタイプが無効

別のタイプのリソース ポリシーを指定して予約を作成しようとすると、次のエラーが発生します。

エラー メッセージ:

Reservation can only be supported by placement policy.

解決策: コンパクト プレースメント ポリシーを、予約を作成するときにのみ指定します。インスタンス スケジュールやスナップショット スケジュールなど、他のタイプのリソース ポリシーはサポートされていません。

コンパクト プレースメント ポリシーのゾーンが無効

予約でコンパクト プレースメント ポリシーを指定しようとしたときに、指定されたコンパクト プレースメント ポリシーのリージョン内にないゾーンを指定すると、次のエラーが発生します。

エラー メッセージ:

ZONE does not match placement policy region.

ここで ZONE は、VM を予約しようとしているゾーンです。

解決策: 次のいずれかを試します。

  • 予約または予約のインスタンス テンプレートで指定したコンパクト プレースメント ポリシーと同じリージョンにゾーンがあることを確認します。

  • コンパクト プレースメント ポリシーは更新できません。代わりに、次のようにします。

    1. 更新したプロパティを使用して新しいコンパクト プレースメント ポリシーを作成します。

    2. 次のいずれかの方法を選択します。

      • プロパティを直接指定して新しい予約を作成し、新しく作成したコンパクト プレースメント ポリシーを指定します。

      • 手順は次のとおりです。

        1. 注: インスタンス テンプレートは更新できません。代わりに、新しく作成されたコンパクト プレースメント ポリシーを指定して、新しいインスタンス テンプレートを作成します。

        2. 新しく作成されたインスタンス テンプレートを指定して、新しい予約を作成します。

        3. 省略可: 古いインスタンス テンプレートを削除します。

    3. 省略可: 古いコンパクト プレースメント ポリシーを削除します

コンパクト プレースメント ポリシーの VM の最大数超過

コンパクト プレースメント ポリシーを指定して予約を作成し、150 を超える VM を予約すると、次のエラーが発生します。

エラー メッセージ:

No more than 150 of instances can be created with this policy.

解決策: 次のいずれかを試します。

  • コンパクト プレースメント ポリシーを指定して予約を作成する場合は、予約する VM を 150 個以下にしてください。

  • より多くの VM を予約するには、この予約と同じゾーン、プロジェクト、プロパティを持つ複数の予約を作成する際に、予約する VM の数を、予約ごとに最大 150 個に減らします。コンパクト プレースメント ポリシーは予約間で共有できないため、作成する新しい予約ごとに新しいコンパクト プレースメント ポリシーを作成する必要があります。

予約のコンパクト プレースメント ポリシーがオーバーライドされる

コンパクト プレースメント ポリシーを含むインスタンス テンプレートを指定して予約を作成しようとしたときに、予約の作成時にテンプレートとコンパクト プレースメント ポリシーの両方を指定すると、次のエラーが発生します。

エラー メッセージ:

Setting resource policy in both reservation and instance template is not allowed.

解決策: 次のいずれかを行います。

固定数の VM を持つコンパクト プレースメント ポリシーの指定

固定数の VM を持つコンパクト プレースメント ポリシーを指定して予約を作成しようとすると、次のエラーが発生します。

エラー メッセージ:

Only incremental placement policy is allowed with reservation.

解決策: コンパクト プレースメント ポリシーを作成する場合は、固定数の VM を指定するフィールドを削除してください。

未指定のプレースメント ポリシー

未指定のプレースメント ポリシーを指定して予約を作成しようとすると、次のエラーが発生します。

エラー メッセージ:

Only incremental placement policy is allowed with reservation.

解決策: コンパクト プレースメント ポリシーを、予約を作成するときにのみ指定します。

コンパクト プレースメント ポリシーに対応していないマシンタイプ

コンパクト プレースメント ポリシーに無効なマシンタイプを指定して予約を作成しようとすると、次のエラーが発生します。

エラー メッセージ:

Placement policy with reservation is not applicable to machine type MACHINE_TYPE.

ここで、MACHINE_TYPE は予約の作成時に指定しようとしたマシンタイプです。

解決策: コンパクト プレースメント ポリシーを指定する予約を作成する場合は、コンパクト プレースメント ポリシーに対応しているマシンタイプを指定してください。