このドキュメントでは、Compute Engine ゾーンリソースの将来の予約リクエストを作成または変更する際の問題を解決する方法について説明します。
一般的な将来の予約リクエスト エラー
このセクションでは、将来の予約リクエストの作成または変更を妨げる可能性のあるエラーについて説明します。
将来の予約へのアクセスと閲覧ができない
gcloud CLI または Compute Engine API で将来の予約にアクセスして使用できない場合、現時点で将来の予約にアクセスして使用できる対象ユーザーではない可能性があります。その場合は、テクニカル アカウント マネージャーまたはセールスチームにお問い合わせください。
コンシューマー プロジェクトの最大数を超過している
共有の将来の予約リクエストに対して 100 件を超えるコンシューマー プロジェクトを指定すると、次のエラーが発生します。
エラー メッセージ:
Can only share with at most 100 projects.
解決策: 共有の将来の予約リクエストには、最大 100 件のコンシューマー プロジェクトを指定できます。これ以上指定する場合は、共有の将来の予約リクエストを複数作成します。詳しくは、共有のオンデマンド予約のベスト プラクティスをご覧ください。
自動作成された予約の削除時間が無効
次のエラーは、将来の予約リクエストに対して自動作成された予約に無効な削除時刻が指定されている場合に発生します。
エラー メッセージ:
Auto-created reservations cannot be deleted before future reservation end time.
解決策: 将来の予約に対して自動作成された予約は、予約期間が終了した後にのみ削除できます。自動作成された予約を削除できる日付と時刻を表示するには、予約の詳細を表示して deleteAtTime
フィールドの値を確認します。
終了時間が無効
将来の予約リクエストの予約期間に無効な期間を指定すると、次のエラーが発生します。
エラー メッセージ:
Future reservation end time must be at least 24 hours later than start time.
解決策: 予約期間の終了時間は、予約期間の開始時間より 24 時間以上後にする必要があります。さらに、将来の予約リクエストが Google Cloud で承認される可能性を高めるために、必ず予約期間の推奨値のいずれかを指定します。
開始時間が無効
次のエラーは、将来の予約リクエストの予約期間に無効な開始時間を指定した場合に発生します。
エラー メッセージ:
Future reservation start time is either in the past or too early.
解決策: 将来の予約リクエストを作成または変更する場合は、審査を受けるために将来の予約リクエストを送信した日時よりも 1 時間以上後の日時を将来の予約の開始時間として指定してください。ただし、将来の予約リクエストが Google Cloud で承認される可能性を高めるために、開始時間の推奨値を指定することをおすすめします。
コンシューマー プロジェクトが重複している
次のエラーは、現在のプロジェクト、または将来の予約リクエストを共有するプロジェクトに、次のどちらかまたは両方が含まれている場合に発生します。
作成する将来の予約リクエストで指定されていないコンシューマー プロジェクトを指定した、VM プロパティとゾーンが一致する共有予約。
作成する将来の予約リクエストで指定されていないオーナー プロジェクトまたはコンシューマー プロジェクトを指定した、VM プロパティとゾーンが一致する将来の予約リクエスト。
エラー メッセージ:
Future reservation with conflicting projects and matching instance properties with existing and overlapping shared projects is not allowed.
解決策: 将来の予約リクエストを作成する場合は、将来の予約リクエストの作成に関する制限に沿って操作してください。
自動作成された予約、オンデマンド予約、将来の予約リクエストを削除または変更して、作成できる将来の予約リクエストの種類を制限しないようにするには、次の 1 つ以上の操作を行います。
既存の下書きまたは承認済みの共有の将来の予約リクエストを変更して、コンシューマー プロジェクトまたは共有タイプを変更します。
既存のオンデマンド予約または自動作成された予約を変更して、コンシューマー プロジェクトを変更します。自動作成された予約は、予約期間が終了した後にのみ変更できます。
予約期間の開始時間より前または終了時間より後に、既存の将来の予約リクエストを削除します。
既存のオンデマンド予約または自動作成された予約を削除します。自動作成された予約は、予約期間が終了した後にのみ削除できます。
予約期間が重複している
将来の予約リクエストの予約期間が、VM プロパティとゾーンが一致する既存の将来の予約リクエストの予約期間と重複している場合、次のエラーが発生します。
既存の将来の予約リクエストは、予約リクエストと同じプロジェクト、または将来の予約リクエストを共有するプロジェクトに配置できます。
エラー メッセージ:
Future reservation with overlapping time window for same instance properties and overlapping shared projects is not allowed.
解決策: 次のいずれかを試します。
作成する将来の予約リクエストの予約期間を変更します。
既存の下書きまたは承認済みの将来の予約リクエストの予約期間を変更します。
既存の将来の予約リクエストを削除し、作成する将来の予約リクエストの予約期間が制限されないようにします。
組織のないプロジェクト
組織に属していないプロジェクトを指定すると、次のエラーが発生します。
エラー メッセージ:
Cannot create Shared Future Reservations in a project that does not belong to an organization.
解決策: 次のいずれかを試します。
現在のプロジェクトを組織に移行してから、共有の将来の予約リクエストを作成します。
将来の予約リクエストを作成する組織に属するプロジェクトに、共有の将来の予約リクエストを作成します。
インスタンス テンプレートからの将来の予約リクエストのエラー
このセクションでは、インスタンス テンプレートを指定して将来の予約リクエストを作成できない原因となるエラーについて説明します。
プロジェクトを相互参照できない
別のプロジェクトのインスタンス テンプレートを指定して将来の予約リクエストを作成しようとすると、次のエラーが発生します。
エラー メッセージ:
Cross project referencing is not allowed for this resource.
解決策: 次の操作を行います。
将来の予約リクエストで指定したプロジェクト ID とインスタンス テンプレートの名前が正しいことを確認します。インスタンス テンプレートが存在することを確認するには、テンプレートについての情報を取得します。
インスタンス テンプレートにはプロジェクト固有の設定が含まれているため、アクセスして使用できるのは同じプロジェクト内のインスタンス テンプレートに限られます。代わりに、次のいずれかを行います。
インスタンス テンプレートを指定して将来の予約リクエストを作成するには:
プロジェクト内に新しいインスタンス テンプレートを作成します。
単一プロジェクトまたは共有の将来の予約リクエストを作成するときに、新しく作成したインスタンス テンプレートを指定します。
インスタンス テンプレートを指定せずに将来の予約リクエストを作成するには、代わりに VM プロパティを直接指定して単一プロジェクトまたは共有の予約リクエストを作成します。
ローカル SSD ディスクサイズが無効
ローカル SSD ディスクを含むインスタンス テンプレートを指定して将来の予約リクエストを作成しようとしたときに、テンプレートでローカル SSD ディスクのサイズが指定されていないと、次のエラーが発生します。
エラー メッセージ:
Disk LOCAL_SSD_NAME provided in the instance template has invalid size: 0 GB.
解決策: インスタンス テンプレートは更新できません。代わりに、次のようにします。
新しいインスタンス テンプレートを作成し、テンプレートに含めるローカル SSD ディスクのディスクサイズを指定します。
新しく作成したインスタンス テンプレートを使用して、単一プロジェクトまたは共有の将来の予約リクエストを作成します。
省略可: 古いインスタンス テンプレートを削除します。
インスタンス テンプレートのゾーンが無効
テンプレートのロケーションが無効なインスタンス テンプレートを指定して将来の予約リクエストを作成しようとすると、次のエラーが発生します。
エラー メッセージ:
Future reservation cannot be created outside the zone/region of source resource.
解決策: 次のいずれかを行います。
インスタンス テンプレート内のリソースと同じリージョンおよびゾーンで将来の予約リクエストを作成します。インスタンス テンプレートで指定されているリージョン リソースやゾーンリソース(マシンタイプ、Persistent Disk など)によって、テンプレートの使用はそれらのリソースが存在するロケーションに限定されます。たとえば、インスタンス テンプレートで
us-central1-a
ゾーンの既存の Persistent Disk が指定されている場合、同じゾーンに将来の予約リクエストを作成する必要があります。そうしなければ、将来の予約リクエストは作成されません。既存のテンプレートに、特定のリージョンまたはゾーンにテンプレートをバインドするリソースが指定されているかどうかを確認するには、テンプレートについての情報を取得し、その中のリージョン リソースまたはゾーンリソースへの参照を探します。
特定のリージョンまたはゾーンに限定されていないインスタンス テンプレートを使用します。インスタンス テンプレートは更新できないため、次の操作を行います。
更新されたプロパティを使用して、既存のテンプレートに基づいて新しいインスタンス テンプレートを作成します。
新しく作成したインスタンス テンプレートを指定して、単一プロジェクトまたは共有の将来の予約リクエストを作成します。
省略可: 古いインスタンス テンプレートを削除します。
インスタンス テンプレートのプロパティがオーバーライドされる
インスタンス テンプレートと VM プロパティの両方を指定して将来の予約リクエストを作成しようとすると、次のエラーが発生します。
エラー メッセージ:
InstanceProperties cannot be specified while an instance template is being provided.
解決策: 次のいずれかを行います。
インスタンス テンプレートを指定して将来の予約リクエストを作成するには、VM プロパティを指定するフィールドをすべて削除します。
VM プロパティが異なるインスタンス テンプレートを指定して将来の予約リクエストを作成するには、次の操作を行います。
既存のインスタンス テンプレートを更新することはできません。代わりに、既存のテンプレートに基づいて新しいインスタンス テンプレートを作成します。
単一プロジェクトまたは共有の将来の予約リクエストを作成するときに、新しく作成したインスタンス テンプレートを指定します。
省略可: 古いインスタンス テンプレートを削除します。
インスタンス テンプレートを指定せずに将来の予約リクエストを作成するには、代わりに VM プロパティを直接指定して単一プロジェクトまたは共有の将来の予約リクエストを作成します。