お客様メンテナンス期間
Gen 2
デプロイメントのメンテナンスを行う日と開始時間を設定してください。 Cloud Databases はメンテナンス期間を管理しており、すべてのメンテナンス作業は、予定された開始時刻から4時間以内に完了するか、中止されます。
可用性
以下の対象について、 お客様メンテナンス期間を設定できます:
- Databases for PostgreSQL
eu-deにて。 - Databases for MongoDB Enterprise Edition
eu-deにて。
今後、順次、より多くのデータベースや地域への対応が追加される予定です。
組織の規定により、メンテナンスを特定の日にのみ実行する必要がある場合を除き、毎日のメンテナンス時間帯を設定してください。 「デイリーウィンドウ」を設定することで、セキュリティや信頼性に関する更新を含む、保留中または未完了のメンテナンス作業を、 翌週まで待つことなく、翌日に再開できるようになります。
メンテナンスの内容
メンテナンスには、デプロイメントに直接影響を与えるあらゆる変更が含まれます。例えば、次のようなものです:
- データベースソフトウェアおよび画像の更新。
- デプロイメントが実行されるワーカーノードへの更新。
- セキュリティ、信頼性、および保守性の向上に関する更新。
これらの変更は、目に見えるサービスへの影響が生じない場合でも、メンテナンス時間帯に実行されます。 デプロイメントのスケーリングなど、ご自身でリクエストした変更は、リクエストした時点で実行されます。
メンテナンス中に、デプロイメントが新しいプライマリにフェイルオーバーする場合があります。 アプリケーションが自動的に再接続できることを確認してください。 詳細については、「 高可用性 」を参照してください。
デフォルトのメンテナンス時間帯
メンテナンスの時間帯を設定する必要はありません。 指定しない場合、 Cloud Databases では、その地域のデフォルト設定(月曜日から金曜日の 23:00 UTC から 10:00 UTC までの開始時間)が適用されます。 正確な開始時刻は表示されていません。
独自のウィンドウ設定を行った後、地域のデフォルト設定に戻すには、 system_assigned を true に設定してください。
メンテナンス期間の要件
- 設定できるのは開始時刻のみです。 期間や終了時刻を設定することはできません。 Cloud Databases がメンテナンスウィンドウの長さを制御します。
- 開始時刻をUTCで指定するには、
hh:mmZという形式を使用してください。 - 週に少なくとも1日のメンテナンス日を選んでください。 毎日のメンテナンス時間を設けることをお勧めします。 詳細については、「 メンテナンスが予定通りに完了しない場合 」を参照してください。
- 適用したいメンテナンス時間帯の少なくとも60分前に開始時間を設定してください。
- メンテナンス時間帯はいつでも変更できます。 変更は、次回の適用可能なメンテナンス期間から有効になります。 その日のメンテナンスがすでに完了している場合、更新されたスケジュールは、次にメンテナンスが実行可能になった時点で有効になります。
- メンテナンスの実行中にメンテナンスウィンドウを更新しても、現在実行中のメンテナンス操作は再開されません。 更新されたスケジュールは、次回の対象となるメンテナンス期間に適用されます。
- メンテナンス通知は、通知が生成された時点で有効なスケジュールに基づいて行われます。 メンテナンス期間の直前に変更が行われた場合、その変更は、すでに生成または送信済みの通知には反映されない可能性があります。
メンテナンスウィンドウの仕組み
メンテナンスの実施期間は、予定開始時刻から4時間であり、すべてのメンテナンス作業はその期間内に完了するか、中止されます。
たとえば、メンテナンスの開始時刻が UTC 02:00 の場合:
| 時刻 (UTC) | どうなるのか |
|---|---|
| 02:00 - 6:00 | メンテナンスが開始され、メンテナンス作業が着手される。 デプロイメントが新しいプライマリに切り替わることがあり、その際、アプリケーションの再接続が必要になる場合があります。 |
| 06:00までに | すべての保守作業が完了、または中止されました。 |
開始時刻を決める際は、開始時刻だけでなく、4時間という時間枠全体を見込んで計画を立ててください。 アプリケーションのトラフィックが最も少なく、運用チームが対応可能な時間帯を選んでください。
バックアップは、メンテナンス時間帯と重なることがありません。 Cloud Databases は、バックアップスケジュールを自動的に調整します。
メンテナンス時間帯を設定する
コンソール、CLI、API、またはTerraformを使用して、メンテナンスの日程と開始時刻を設定できます。
コンソールでメンテナンスウィンドウを設定する
デプロイメントの作成時、またはプロビジョニング後に、メンテナンスウィンドウを設定できます。
- IBM Cloud コンソールで、デプロイメントを作成するか、既存のデプロイメントを開きます。
- 「 メンテナンス」ウィンドウを開き、「 編集 」をクリックします。
- メンテナンスを開始できる曜日を選択してください。 毎日のメンテナンスを行うことをお勧めします。
- メンテナンスの開始時刻を選択してください。 時刻はUTCまたはお住まいの地域のタイムゾーンで表示できます。
- メンテナンススケジュールを確認し、「 保存 」をクリックしてください。
地域のデフォルトのメンテナンス期間に戻すには、「 デフォルトにリセット 」をクリックしてください。
CLI を使用してメンテナンスウィンドウを設定する
次のコマンドを使用すると、特定のメンテナンス時間帯を設定できます:
ibmcloud resource service-instance-create \
<INSTANCE_NAME> \
<SERVICE_NAME> \
<SERVICE_PLAN_NAME> \
<LOCATION> \
-g <RESOURCE_GROUP> \
-p '{
"dataservices": {
"maintenance": {
"window": {
"start_time": "05:00Z",
"days": "Wednesday,Thursday"
}
}
}
}'
以下のコマンドを使用して、 system_assigned のメンテナンスウィンドウを設定できます
ibmcloud resource service-instance-create \
<INSTANCE_NAME> \
<SERVICE_NAME> \
<SERVICE_PLAN_NAME> \
<LOCATION> \
-g <RESOURCE_GROUP> \
-p '{
"dataservices": {
"maintenance": {
"window": {
"system_assigned": true
}
}
}
}'
API を使用してメンテナンス時間帯を設定する
次のリクエストを使用することで、特定のメンテナンス時間帯を設定できます:
curl -X POST \
"https://resource-controller.cloud.ibm.com/v2/resource_instances" \
-H "Authorization: Bearer <IAM_ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "<DATABASE_INSTANCE_NAME>",
"target": "<REGION>",
"resource_group": "<RESOURCE_GROUP_ID>",
"resource_plan_id": "<DATABASE_SERVICE_PLAN_ID>",
"parameters": {
"dataservices": {
"maintenance": {
"window": {
"start_time": "05:00Z",
"days": "Wednesday,Thursday"
}
}
}
}
}'
次のリクエストを使用して、 system_assigned のメンテナンス時間帯を設定できます:
curl -X POST \
"https://resource-controller.cloud.ibm.com/v2/resource_instances" \
-H "Authorization: Bearer <IAM_ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "<DATABASE_INSTANCE_NAME>",
"target": "<REGION>",
"resource_group": "<RESOURCE_GROUP_ID>",
"resource_plan_id": "<DATABASE_SERVICE_PLAN_ID>",
"parameters": {
"dataservices": {
"maintenance": {
"window": {
"system_assigned": true
}
}
}
}
}'
Terraform を使用してメンテナンスウィンドウを設定する
以下のTerraformリクエストを使用することで、特定のメンテナンス時間帯を設定できます:
maintenance_days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
data "ibm_resource_group" "rg" {
name = var.resource_group_name
}
resource "ibm_database" "cmw_test" {
name = "<DATABASE_INSTANCE_NAME>"
resource_group_id = data.ibm_resource_group.rg.id
service = "<DATABASE_SERVICE_NAME>"
plan = "<DATABASE_SERVICE_PLAN_ID>"
location = "<GEN2-REGION>"
service_endpoints = "private"
maintenance {
window {
start_time = "05:00Z"
days = var.maintenance_days
}
}
}
以下のTerraformリクエストを使用して、 system_assigned のメンテナンスウィンドウを設定できます:
data "ibm_resource_group" "rg" {
name = var.resource_group_name
}
resource "ibm_database" "cmw_test" {
name = "<DATABASE_INSTANCE_NAME>"
resource_group_id = data.ibm_resource_group.rg.id
service = "<DATABASE_SERVICE_NAME>"
plan = "<DATABASE_SERVICE_PLAN_ID>"
location = "<GEN2-REGION>"
service_endpoints = "private"
maintenance {
window {
system_assigned = true
}
}
}
保守状況の追跡
デプロイメントのメンテナンスが予定されている場合、メンテナンス作業の開始少なくとも2時間前に「 IBM Cloud Activity Tracker 」イベントが通知されます。
IBM Cloud Activity Tracker また、メンテナンスウィンドウが正常に終了したことに伴うサービスインスタンスの更新の結果として、イベントが発生することもあります。 「Database Activity Tracker 」イベント の全リストをご覧ください。
不十分なメンテナンス
メンテナンスは、メンテナンス期間の終了時刻を過ぎることはありません。 開始時刻から4時間経過してもメンテナンスが実行中の場合、 Cloud Databases がそれを停止します。 残りの作業は、次回のメンテナンス期間中に実行されます。 その間も、デプロイメントは引き続き利用可能です。
毎日のメンテナンス時間帯を設定してください。 毎週1日だけを選択した場合、セキュリティ修正を含む未完了のメンテナンスは、次のメンテナンス期間まで最大1週間待機することになります。 1日単位のメンテナンス期間を設定することで、翌日にはメンテナンスが再開され、お客様のデプロイメントは常に最新の状態を維持し、セキュリティも確保されます。
緊急時保守
例外的な状況下では、予定されたメンテナンス時間帯外において、事前の通知なしに緊急メンテナンスが行われる場合があります。 このような場合、定期メンテナンスのイベントは作成されません。