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

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

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

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

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

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

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

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

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

  • メンテナンスの時間枠を構成する場合は、メンテナンス オペレーションに週あたり 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. [Days] リストと [Length] リストで、曜日と時間枠の長さを選択します。これらの設定の詳細については、メンテナンス オペレーションについてをご覧ください。
    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"
          }
      },
  }
}

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

コンソール

Google Cloud コンソールで既存のインスタンスのメンテナンスの時間枠を更新するには、次の手順を行います。

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

    [インスタンス] に移動

  2. インスタンス名をクリックして、インスタンスの詳細を表示します。
  3. [インスタンスの詳細] ページで、[メンテナンスの時間枠] フィールドに移動し、[編集] をクリックします。
  4. メンテナンスの時間枠フィールドが編集モードで開きます。必要に応じて値を更新します。
    1. [メンテナンスの時間枠を有効化] チェックボックスをオンにします。
    2. [開始時間] フィールドに、サポートされている形式で時間を入力します。
    3. [タイムゾーン] リストで、タイムゾーンを選択します。
    4. [Days] リストと [Length] リストで、曜日と期間を選択します。これらの設定の詳細については、メンテナンス オペレーションについてをご覧ください。
  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"
    }
  },
}
}

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

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

繰り返しを構成する際は、RRULE が UTC 日付に従うことに注意してください。タイムゾーンが異なる場合は、それに応じて調整してください。たとえば、タイムゾーンが PDT(UTC-7)で、メンテナンスの時間枠をそのタイムゾーンの水曜日の 21:00(木曜日の 4:00 UTC に相当)から開始する場合は、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": {}
}

次のステップ