AlloyDB for PostgreSQL クラスタのメンテナンスの時間枠を管理する

このページでは、AlloyDB for PostgreSQL クラスタのメンテナンスに関連する次の操作を行う方法について説明します。

  • メンテナンスの時間枠を設定、表示、消去する。
  • スケジュールされている今後のメンテナンス イベントを表示する。
  • メンテナンス拒否期間を構成して削除する。

これらのアクションはすべて、プライマリ クラスタとセカンダリ クラスタの両方に適用されます。

AlloyDB クラスタでのメンテナンスの仕組みの概要については、メンテナンスの概要をご覧ください。

クラスタのメンテナンスの時間枠を設定する

コンソール

  1. [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. [リソース名] 列でクラスタをクリックします。

  3. [概要] ページの [メンテナンス] で、[編集] をクリックします。

  4. [メンテナンスの時間枠] で、このメンテナンスの時間枠の曜日を選択します。

    デフォルトのオプションは [おまかせ] です。クラスタを作成すると、このデフォルトのメンテナンスの時間枠がクラスタに割り当てられます。

  5. このメンテナンスの時間枠の時間を選択します。

  6. [更新] をクリックして、変更を保存します。

gcloud

gcloud CLI を使用するには、Google Cloud CLI をインストールして初期化するか、Cloud Shell を使用します。

クラスタにメンテナンスの時間枠を設定するには、--maintenance-window-day フラグと --maintenance-window-hour フラグを使用して gcloud clusters update コマンドを実行します。

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-day DAY_OF_WEEK \
  --maintenance-window-hour HOUR_OF_DAY

次のように置き換えます。

  • CLUSTER_ID: メンテナンスの時間枠を設定するクラスタ。

  • LOCATION_ID: このクラスタが配置されている Google Cloud リージョン。例: us-central1

  • DAY_OF_WEEK: このメンテナンスの時間枠の曜日(協定世界時(UTC)タイムゾーン)。有効な値は MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY です。

    デフォルト値は [おまかせ] です。クラスタを作成すると、このデフォルトのメンテナンスの時間枠がクラスタに割り当てられます。

  • HOUR_OF_DAY: このメンテナンスの時間枠の UTC タイムゾーンでの時刻を表す 023 の整数。

クラスタがすでにメンテナンス中であるかメンテナンス スケジュールが設定されているときに、メンテナンスの時間枠の設定を変更すると、変更は現在のメンテナンスまたはスケジュールされたメンテナンスが完了するまで有効になりません。

メンテナンスの時間枠を消去する

コンソール

  1. [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. [リソース名] 列でクラスタをクリックします。

  3. [概要] ページの [メンテナンス] で、[編集] をクリックします。

  4. [メンテナンスの時間枠] で [おまかせ] を選択します。

  5. [更新] をクリックして、変更を保存します。

gcloud

gcloud CLI を使用するには、Google Cloud CLI をインストールして初期化するか、Cloud Shell を使用します。

クラスタからメンテナンスの時間枠を消去するには、--maintenance-window-any フラグを指定して gcloud clusters update コマンドを実行します。

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-any

次のように置き換えます。

  • CLUSTER_ID: メンテナンスの時間枠を設定するクラスタ。

  • LOCATION_ID: このクラスタが配置されている Google Cloud リージョン。例: us-central1

クラスタのメンテナンスの時間枠を表示する

コンソール

  1. [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. [リソース名] 列でクラスタをクリックします。

  3. [概要] ページの [メンテナンス] で、クラスタのメンテナンスの時間枠の詳細を確認します。

gcloud

gcloud CLI を使用するには、Google Cloud CLI をインストールして初期化するか、Cloud Shell を使用します。

クラスタの現在のメンテナンスの時間枠を確認するには、gcloud alloydb clusters describe コマンドを実行します。

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

次のように置き換えます。

  • CLUSTER_ID: メンテナンスの時間枠を設定するクラスタ。

  • LOCATION_ID: このクラスタが配置されている Google Cloud リージョン。例: us-central1

クラスタにメンテナンスの時間枠が設定されている場合、コマンドの出力には次のような行が含まれます。

maintenanceUpdatePolicy:
  maintenanceWindows:
  - day: TUESDAY
    startTime:
      hours: 23

出力に maintenanceUpdatePolicy セクションが含まれていない場合、クラスタにメンテナンスの時間枠が設定されていません。

クラスタの今後のメンテナンスを確認する

コンソール

  1. [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. クラスタを見つけて、[メンテナンス] 列で今後のメンテナンスの時間枠を確認します。

gcloud

gcloud CLI を使用するには、Google Cloud CLI をインストールして初期化するか、Cloud Shell を使用します。

メンテナンスの時間枠が設定されているクラスタで予定されている今後のメンテナンスを確認するには、gcloud clusters describe コマンドを実行します。

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

次のように置き換えます。

  • CLUSTER_ID: メンテナンスの時間枠を設定するクラスタ。

  • LOCATION_ID: このクラスタが配置されている Google Cloud リージョン。例: us-central1

クラスタに今後予定されているメンテナンス イベントがある場合、コマンドの出力には次のような行が含まれます。

maintenanceSchedule:
  startTime: 2024-07-03T09:46:40Z

UTC 形式のタイムスタンプは、AlloyDB がこのクラスタ内のすべてのノードのシステム ソフトウェアの更新を開始する予定の瞬間を表します。

メンテナンスの通知を有効にする

メンテナンスの通知は、デフォルトでは無効になっています。今後の AlloyDB メンテナンス イベントに関するメール通知を受け取れるよう有効にする場合は、次の点に注意してください。

  • イベントのスケジュールが設定されると、そのイベントに関する通知が自動で届きます。メンテナンス イベントは、少なくとも 1 週間前にスケジュールされます。
  • メンテナンス通知は Google Cloud プロジェクト レベルで有効になります。プロジェクト内のクラスタのサブセットについて通知を受け取るよう選択することはできません。
  • 通知は自分に対してのみ有効にできます。各ユーザーがメンテナンス通知を受け取れるようにするには、ユーザーが個別に有効にする必要があります。

詳細については、メンテナンスの概要をご覧ください。

メンテナンスの時間枠が設定されているクラスタのメンテナンス イベントがスケジュールされたときや、キャンセルされたときに自動メール通知を受け取るには、 Google Cloud コンソールを使用して次の操作を行います。

  1. [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. [リソース名] 列でクラスタをクリックします。

  3. [概要] ページの [メンテナンス] で、Notifications: 行の [編集] をクリックします。

  4. [通知] をクリックします。

  5. [AlloyDB]、[メンテナンスの時間枠] の行で、[メール] 列の切り替えボタンを選択します。

メンテナンス拒否期間を構成する

特定の期間にメンテナンス オペレーションが行われないようにするには、メンテナンス拒否期間を構成します。AlloyDB の最新バージョンを実行しているクラスタで、メンテナンス拒否を設定できます。期間は 1~30 日で設定できます。

メンテナンス拒否期間を設定する

メンテナンス拒否期間を構成するには、開始日、終了日、期間の開始と終了の時間を設定します。

開始日と終了日は、次の形式にする必要があります。

  • YYYY-MM-DD: 特定の日付です。

開始日、終了日、時刻は UTC タイムゾーンです。

gcloud

gcloud CLI を使用するには、Google Cloud CLI をインストールして初期化するか、Cloud Shell を使用します。

AlloyDB クラスタにメンテナンス拒否期間を追加するには、deny-maintenance-period-start-datedeny-maintenance-period-end-datedeny-maintenance-period-time フラグを指定して gcloud alloydb clusters update コマンドを実行します。

gcloud alloydb clusters update CLUSTER_ID \
   --region LOCATION_ID \
   --deny-maintenance-period-start-date START_DATE \
   --deny-maintenance-period-end-date END_DATE \
   --deny-maintenance-period-time TIME

次のように置き換えます。

  • CLUSTER_ID: メンテナンス期間を構成するクラスタ。
  • LOCATION_ID: このクラスタが配置されている Google Cloud リージョン。例: us-central1
  • START_DATE: メンテナンス拒否期間の開始日(YYYY-MM-DD UTC 形式)。
  • END_DATE: メンテナンス拒否期間の終了日(YYYY-MM-DD UTC 形式)。
  • TIME: メンテナンス拒否期間の時刻(HH:MM UTC 形式)。時刻は 24 時間形式で表示されます。値の範囲は 00:0023:59 です(例: 16:45)。

REST v1

この例では、既存のクラスタにメンテナンス拒否期間を追加します。この呼び出しのパラメータの完全なリストについては、メソッド: projects.locations.clusters.instances.patch をご覧ください。

任意のリクエスト データを使用する前に、次のように置き換えます。

  • CLUSTER_ID: メンテナンス期間を構成するクラスタ。
  • PROJECT_ID: クラスタが配置されるプロジェクトの ID。
  • LOCATION_ID: このクラスタが配置されている Google Cloud リージョン。例: us-central1
  • START_YEAR: メンテナンス拒否期間を開始する年(YYYY 形式)。
  • START_MONTH: メンテナンス拒否期間を開始する月(MM 形式)。1 桁の月の場合、先頭のゼロは省略可能です。たとえば、2 月の場合、202 のどちらも有効です。
  • START_DAY: メンテナンス拒否期間の開始日(DD 形式)。1 桁の日の場合、先頭のゼロは省略可能です。たとえば、月の初日の場合、101 のどちらも有効です。
  • END_YEAR: メンテナンス拒否期間を終了する年(YYYY 形式)。
  • END_MONTH: メンテナンス拒否期間を終了する月(MM 形式)。
  • END_DAY: メンテナンス拒否期間の終了日(DD 形式)。
  • HOUR(S): メンテナンス拒否期間の時間を 24 時間形式で指定します(例: 16)。1 桁の時間の場合、先頭のゼロは省略可能です。たとえば、202 はどちらも有効です。
  • MINUTE(S): メンテナンス拒否期間の分。059 の値を指定できます(例: 45)。1 桁の分の場合、先頭のゼロは省略可能です。たとえば、707 はどちらも有効です。

メンテナンス拒否期間を追加するには、次の PATCH リクエストを使用します。

PATCH https://alloydb.googleapis.com/v1/{cluster.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods}

maintenance_update_policy.deny_maintenance_periods クエリ パラメータは、maintenanceUpdatePolicy ブロック内の denyMaintenancePeriods フィールドを更新するよう API に指示します。

リクエストの JSON 本文は次のようになります。

"maintenanceUpdatePolicy": {
 "denyMaintenancePeriods": [
   {
     "startDate": {
       "year": START_YEAR,
       "month": START_MONTH,
       "day": START_DAY
     },
     "endDate": {
       "year": END_YEAR,
       "month": END_MONTH,
       "day": END_DAY
     },
     "time": {
       "hours": TIME
       "minutes": TIME
     }
   }
 ]
},

今後のメンテナンスを拒否する

メンテナンス拒否期間は、予定されたメンテナンスよりも優先されます。タイミングの競合が発生した場合、スケジュールされたメンテナンスの時間枠よりもメンテナンス拒否期間が優先されます。

スケジュールされたメンテナンス イベントと拒否期間が競合しても、メンテナンスがすぐにキャンセルされスケジュールが削除されるわけではありません。AlloyDB では既存の定期メンテナンスが [今後の予定] として表示されますが、スケジュールされた時刻になると定期メンテナンスの時間枠はキャンセルされます。

重要な更新を適用する必要があるため、システム上、拒否期間を設定して複数のメンテナンス イベントをスキップすることは通常はできません。また、構成されたメンテナンス設定以外で緊急メンテナンスが適用されることもまれにあります。

クラスタからメンテナンス拒否期間を削除する

メンテナンス拒否期間はいつでも削除できます。

gcloud

gcloud CLI を使用するには、Google Cloud CLI をインストールして初期化するか、Cloud Shell を使用します。

AlloyDB クラスタからメンテナンス拒否期間を削除するには、remove-deny-maintenance-period フラグを指定して gcloud alloydb clusters update コマンドを実行します。

gcloud alloydb clusters update CLUSTER_ID --region LOCATION_ID  --remove-deny-maintenance-period

次のように置き換えます。

  • CLUSTER_ID: メンテナンス拒否期間を削除するクラスタ。
  • LOCATION_ID: このクラスタが配置されている Google Cloud リージョン。例: us-central1

REST v1

この例では、AlloyDB クラスタからメンテナンス拒否期間を削除します。この呼び出しのパラメータの完全なリストについては、メソッド: projects.locations.clusters.patch をご覧ください。

任意のリクエスト データを使用する前に、次のように置き換えます。

  • CLUSTER_ID: メンテナンス拒否期間を追加するクラスタの ID。
  • PROJECT_ID: クラスタが配置されるプロジェクトの ID。
  • LOCATION_ID: このクラスタが配置されている Google Cloud リージョン。例: us-central1

メンテナンス拒否期間を削除するには、次の PATCH リクエストを使用します。

PATCH https://alloydb.googleapis.com/v1/{cluster.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods}

maintenance_update_policy.deny_maintenance_periods クエリ パラメータは、maintenanceUpdatePolicy ブロック内の denyMaintenancePeriods フィールドを更新するよう API に指示します。

リクエストの JSON 本文は次のようになります。

{}