メンテナンスの時間枠の構成

このページでは、Cloud Data Fusion インスタンスのメンテナンスの時間枠を定義する方法について説明します。

メンテナンス ウィンドウは、バージョン 6.8.0 以降の Cloud Data Fusion インスタンスでサポートされています。

メンテナンスの時間枠について

Cloud Data Fusion のメンテナンスの時間枠とは、メンテナンス オペレーションを実行できる期間です。この期間を設定することで、使用率がピークになる時間帯にサービスの中断が発生するリスクを軽減できます。メンテナンスの時間枠をオフピークの時間帯やアクティビティが少ない時間帯にスケジュールすると、Cloud Data Fusion インスタンスとパイプラインの実行への影響を最小限に抑えることができます。

メンテナンスの時間枠を構成すると、インスタンスでメンテナンス オペレーションをいつ行うかを制御できます。

  • メンテナンスの時間枠が定義されている場合、Cloud Data Fusion は定義された期間内にメンテナンス オペレーションを実行します。
  • メンテナンスの時間枠が定義されていない場合、メンテナンスはいつでも実行できます。

メンテナンス オペレーションについて

システムのセキュリティとコンプライアンスを確保するため、Cloud Data Fusion は定期的にメンテナンス オペレーションを実施します。これらのオペレーションには、脆弱性を軽減し、ユーザーデータを保護するための重要なアップデートとセキュリティ パッチの適用が含まれます。スケジュールされたメンテナンス時間枠により、アップデートが効率的に適用され、システムの完全性が維持され、インスタンスとパイプラインの実行への停止が最小限に抑えられます。

  • メンテナンスの時間枠を構成する場合は、メンテナンス オペレーションに 1 週間に 12 時間以上割り当てる必要があります。各ウィンドウは 4 ~ 12 時間にする必要があります。
  • メンテナンスの時間枠中は、特定のオペレーションに影響が及ぶ可能性があります。使用頻度の低い時間帯にメンテナンスの時間枠を設定することをおすすめします。メンテナンス オペレーションは、Cloud Data Fusion に次の影響を与える可能性があります。

    • Cloud Data Fusion Studio インターフェースが一時的に使用できなくなることがあります。
    • パイプラインの実行に影響が生じ、失敗することがあります。
    • Cloud Data Fusion サービスが一時的に停止し、API 呼び出しが失敗することがあります。
    • メンテナンスの時間枠中は、インスタンスが完全に機能しなくなることがあります。パイプラインが実行されていないか、実行がスケジュールされていないときにメンテナンス ウィンドウを設定することをおすすめします。

インスタンスの作成時にメンテナンスの時間枠を指定する

コンソール

インスタンスの作成時にメンテナンスの時間枠を設定するには、次の手順を行います。

  1. Cloud Data Fusion の [インスタンス] ページに移動し、[インスタンスを作成] をクリックします。

    インスタンスを作成する

  2. [インスタンス名] と [エディション] を入力します。各フィールドの詳細については、インスタンスの作成をご覧ください。
  3. [詳細オプション] セクションを開きます。
  4. [メンテナンス] セクションを開き、次の手順を行います。
    1. [メンテナンスの時間枠を有効化] チェックボックスをオンにします。
    2. [開始時間] フィールドに、サポートされている形式で時刻を入力します。
    3. [タイムゾーン] リストで、タイムゾーンを選択します。
    4. [曜日] リストと [期間] リストで、曜日と期間を選択します。これらの設定の詳細については、メンテナンス オペレーションについてをご覧ください。
    5. [作成] をクリックします。

詳細については、メンテナンスの時間枠の開始時刻と間隔の構成(RRULE)をご覧ください。

REST API

  1. instance.create API を使用して Instance 構成を設定します。
{
  "name": string,
  "description": string,
  
  
  "maintenancePolicy": {
    "maintenanceWindow": {
      "recurringTimeWindow": {
        "window": {
            "startTime": "START_TIME",
            "endTime": "END_TIME"
        },
        "recurrence": "MAINTENANCE_RECURRENCE"
      }
    },
  }
}

以下を置き換えます。

  • START_TIME: 時間枠の開始時間(RFC 3339 形式)。
  • END_TIME: タイム ウィンドウの終了時間(RFC 3339 形式)。
  • MAINTENANCE_RECURRENCE: メンテナンス時間枠の繰り返しの RRULE。Cloud Data Fusion でサポートされている形式は次のとおりです。

    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA または BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLYこれは、選択した曜日に startTime から開始し、指定した期間で毎週時間枠を繰り返すことを指定します。

詳細については、メンテナンスの時間枠の開始時刻と間隔の構成(RRULE)をご覧ください。

次の例では、毎週土曜日と日曜日の午前 10 時~午後 4 時(UTC)の 6 時間のメンテナンスの時間枠でインスタンスを作成します。詳細については、インスタンス API ドキュメントをご覧ください。

// POST https://datafusion.googleapis.com/v1/projects/example-project/locations/us-central1/instances?instanceID=example-instance

{
  "maintenancePolicy": {
      "maintenanceWindow": {
          "recurringTimeWindow": {
              "window": {
                  "startTime": "2024-01-01T10:00:00Z",
                  "endTime": "2024-01-01T16:00:00Z",
              },
              "recurrence": "FREQ=WEEKLY;BYDAY=SA,SU"
          }
      },
  }
}

gcloud

gcloud beta data-fusion instances create コマンドを使用してインスタンスを作成するときに、メンテナンスの時間枠を指定できます。

メンテナンスの時間枠には、次のパラメータを定義する必要があります。

  • --maintenance-window-start は、時間枠の開始時間を設定します。
  • --maintenance-window-end は、時間枠の終了時間を設定します。
  • --maintenance-window-recurrence は、メンテナンスの時間枠の繰り返しの RRULE を設定します。
gcloud beta data-fusion instances create INSTANCE_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --maintenance-window-start=START_TIME \
    --maintenance-window-end=END_TIME \
    --maintenance-window-recurrence=MAINTENANCE_RECURRENCE

以下を置き換えます。

  • INSTANCE_NAME: インスタンスの名前。
  • PROJECT_NAME: プロジェクトの名前。
  • LOCATION: インスタンスのリージョンの名前。
  • START_TIME: 日付 / 時刻の入力形式の時間枠の開始時間。指定した時刻のみが使用され、指定された日付は無視されます。
  • END_TIME: 日付 / 時刻の入力形式の時間枠の終了時間。指定した時刻のみが使用され、指定した日付は無視されます。指定する日付と時刻は開始日より後にする必要があります。
  • MAINTENANCE_RECURRENCE: メンテナンス時間枠の繰り返しの RRULE。Cloud Data Fusion でサポートされている形式は次のとおりです。

    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA または BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLYこれは、選択した曜日に --maintenance-window-start 時刻から開始し、指定した期間で毎週時間枠を繰り返すことを指定します。

詳細については、メンテナンスの時間枠の開始時刻と間隔(RRULE)の構成をご覧ください。

次のコマンドは、毎週土曜日と日曜日の午後 12 時~午後 6 時(UTC)の 6 時間のメンテナンスの時間枠でインスタンスを作成します。

gcloud beta data-fusion instances create example-instance \
    --project='example-project' \
    --location='us-east1' \
    --maintenance-window-start='2024-01-01T12:00:00Z' \
    --maintenance-window-end='2024-01-01T18:00:00Z' \
    --maintenance-window-recurrence='FREQ=WEEKLY;BYDAY=SA,SU'

インスタンスのメンテナンス時間枠を更新する

コンソール

Google Cloud コンソールで既存のインスタンスのメンテナンスの時間枠を更新する手順は次のとおりです。

  1. Cloud Data Fusion の [インスタンス] ページに移動します。

    [インスタンス] に移動

  2. インスタンス名をクリックして、インスタンスの詳細を表示します。

  3. [インスタンスの詳細] ページで、[メンテナンスの時間枠] フィールドに移動し、[編集] をクリックします。

  4. メンテナンスの時間枠フィールドが編集モードで開きます。必要に応じて値を更新します。

    1. [メンテナンスの時間枠を有効化] チェックボックスをオンにします。
    2. [開始時間] フィールドに、サポートされている形式で時刻を入力します。
    3. [タイムゾーン] リストで、タイムゾーンを選択します。
    4. [曜日] リストと [期間] リストで、曜日と期間を選択します。これらの設定の詳細については、メンテナンス オペレーションについてをご覧ください。
  5. [保存] をクリックします。

詳細については、メンテナンスの時間枠の開始時刻と間隔(RRULE)の構成をご覧ください。

REST API

既存のインスタンスの場合は、instances.patch API リクエストを使用してメンテナンスの時間枠を更新します。既存のメンテナンスの時間枠の構成(存在する場合)はオーバーライドされます。それ以外の場合は、リクエスト本文で説明されているように、新しい構成が設定されます。

次のように API リクエストを作成します。

  1. updateMask パラメータで、maintenance_policy マスクを指定します。
  2. リクエスト本文で、メンテナンス ポリシーの構成にメンテナンスの時間枠を指定します。
{
  "maintenancePolicy": {
    "maintenanceWindow": {
        "recurringTimeWindow": {
          "window": {
              "startTime": "START_TIME",
              "endTime": "END_TIME"
          },
          "recurrence": "MAINTENANCE_RECURRENCE"
        }
    },
  }
}

詳細については、メンテナンスの時間枠の開始時刻と間隔(RRULE)の構成をご覧ください。

次の例は、毎週金曜日、土曜日、日曜日の午前 11 時~午後 3 時(UTC)の 4 時間のメンテナンスの時間枠で、インスタンスのメンテナンス ポリシー構成を更新します。

// PATCH https://datafusion.googleapis.com/v1/projects/example-project/locations/us-central1/instances/example-instance?updateMask=maintenance_policy

{
"maintenancePolicy": {
  "maintenanceWindow": {
    "recurringTimeWindow": {
      "window": {
          "startTime": "2024-01-01T11:00:00Z",
          "endTime": "2024-01-01T15:00:00Z",
        },
      "recurrence": "FREQ=WEEKLY;BYDAY=FR,SA,SU"
    }
  },
}
}

gcloud

インスタンスのメンテナンスの時間枠は、gcloud beta data-fusion instances update コマンドを使用して更新できます。

メンテナンスの時間枠には、次のパラメータを定義する必要があります。

  • --maintenance-window-start は、時間枠の開始時間を設定します。
  • --maintenance-window-end は、時間枠の終了時間を設定します。
  • --maintenance-window-recurrence は、メンテナンスの時間枠の繰り返しの RRULE を設定します。
gcloud beta data-fusion instances update INSTANCE_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --maintenance-window-start=START_TIME \
    --maintenance-window-end=END_TIME \
    --maintenance-window-recurrence=MAINTENANCE_RECURRENCE

以下を置き換えます。

  • INSTANCE_NAME: インスタンスの名前。
  • PROJECT_NAME: プロジェクトの名前。
  • LOCATION: インスタンスのリージョンの名前。
  • START_TIME: 日付 / 時刻の入力形式の時間枠の開始時間。指定した時刻のみが使用され、指定された日付は無視されます。
  • END_TIME: 日付 / 時刻の入力形式の時間枠の終了時間。指定した時刻のみが使用され、指定した日付は無視されます。指定する日付と時刻は開始日より後にする必要があります。
  • MAINTENANCE_RECURRENCE: メンテナンス時間枠の繰り返しの RRULE。Cloud Data Fusion でサポートされている形式は次のとおりです。

    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA または BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLYこれは、選択した曜日に --maintenance-window-start 時刻から開始し、指定した期間で毎週時間枠を繰り返すことを指定します。

次のコマンドは、毎週土曜日と日曜日の午後 12 時~午後 6 時(UTC)の 6 時間のメンテナンスの時間枠でインスタンス example-instance を更新します。

gcloud beta data-fusion instances update example-instance \
    --project='example-project' \
    --location='us-east1' \
    --maintenance-window-start='2024-01-01T12:00:00Z' \
    --maintenance-window-end='2024-01-01T18:00:00Z' \
    --maintenance-window-recurrence='FREQ=WEEKLY;BYDAY=SA,SU'

メンテナンスの時間枠の時刻と繰り返し(RRULE)を構成する

メンテナンスの時間枠の開始時間と終了時間を構成すると、指定されたタイムスタンプの日付コンポーネントは無視されます。考慮されるのは、時刻と開始時間から終了時間までの所要時間のみです。時刻は UTC で保存されますが、REST API または gcloud CLI を使用してメンテナンスの時間枠をスケジュール設定する場合は、UTC またはタイムゾーン オフセットを使用できます。

繰り返しを構成する際は、RRULE は UTC の日付に従うため、タイムゾーンが異なる場合は適宜調整してください。たとえば、自分のタイムゾーンが PDT(UTC-7)で、メンテナンスの時間枠を自分のタイムゾーンで水曜日の 21:00(木曜日の UTC 4:00 に相当)から開始する場合は、RRULE の BYDAY オプションで WE ではなく TH を指定します。

インスタンスのメンテナンスの時間枠を削除する

コンソール

Google Cloud コンソールで既存のインスタンスのメンテナンスの時間枠を削除する手順は次のとおりです。

  1. Cloud Data Fusion の [インスタンス] ページに移動します。

    [インスタンス] に移動

  2. インスタンス名をクリックして、インスタンスの詳細を表示します。

  3. [インスタンスの詳細] ページで、[メンテナンスの時間枠] フィールドに移動し、[編集] をクリックします。

  4. インスタンスからメンテナンスの時間枠を削除するには、[メンテナンスの時間枠を有効化] チェックボックスをオフにします。

  5. [保存] をクリックします。

REST API

インスタンスからメンテナンスの時間枠を削除するには、リクエスト本文に空のメンテナンス ポリシー オブジェクトを渡します。

// PATCH https://datafusion.googleapis.com/v1/projects/example-project/locations/us-central1/instances/example-instance?updateMask=maintenance_policy

{
    "maintenancePolicy": {}
}

gcloud

インスタンスからメンテナンスの時間枠を削除するには、--clear-maintenance-window フラグを指定して gcloud beta data-fusion instances update コマンドを使用します。

gcloud beta data-fusion instances update INSTANCE_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --clear-maintenance-window

以下を置き換えます。

  • INSTANCE_NAME: インスタンスの名前。
  • PROJECT_NAME: プロジェクトの名前。
  • LOCATION: インスタンスのリージョンの名前。

次のステップ