データメンテナンス CLI プラグインコマンド
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2023年12月05日(火)
これらのコマンドは、基本の Heroku CLI の一部ではありません。詳細は、「インストール」を参照してください。
概要
プラグインの CLI コマンドは、Heroku データアドオンの計画的なメンテナンスを管理するユーザーを支援します。これらのメンテナンス関連コマンドの使用はオプションです。Heroku では、Heroku データアドオンのメンテナンスを人手を介さず自動的にスケジュールして実行します。
Heroku では、Essential Heroku Postgres データベースおよび Mini Heroku Data for Redis インスタンスのメンテナンスは必要に応じて予告なく実行されます。以下のコマンドは、Heroku Postgres の Standard、Premium、Private、Shield プランと Heroku Data for Redis の Premium、Private、Shield プランのアドオンにのみ関連します。
メンテナンスプロセスをよりいっそう制御する必要がある場合、これらのコマンドを使用して、計画的なメンテナンスが実行される時期と方法を制御します。
Heroku Postgres と Heroku Data for Redis の場合は、これらのコマンドにより次のことが可能になります。
- メンテナンスウィンドウをレビューする
- メンテナンスウィンドウを変更する
- メンテナンスイベントの実行をスケジュールする
- 既存のメンテナンスイベントを再スケジュールする
- メンテナンスイベントをトリガーする
- 計画的なメンテナンスイベントの詳細を表示する
- 計画的なメンテナンスイベントの履歴をレビューする
- トリガーされたメンテナンスイベントが完了するのを待機する
- ステージングアプリへのメンテナンスの影響をテストする
メンテナンスプロセスについての詳細は、「Heroku Data for Redis Maintenance Windows」(Heroku Data for Redis のメンテナンスウィンドウ) および「Heroku Postgres Maintenance Windows」(Heroku Postgres のメンテナンスウィンドウ) を参照してください。CLI のプラグイン全般については、「CLI プラグインの使用」を参照してください。
これらのコマンドは、以前の pg:maintenance
および redis:maintenance
コマンドの機能を含み、それらを拡張しています。Heroku では、今後それらのコマンドを非推奨とし、このプラグインのコマンドを推奨することを計画しています。
データメンテナンス CLI プラグインと Apache Kafka for Heroku
Apache Kafka for Heroku の場合、CLI プラグインでは、クラスターでの進行中および履歴のメンテナンスについての詳細を表示するための限定的なサポートが提供されています。data:maintenances:info および data:maintenances:history コマンドのみを、Kafka アドオンに利用できます。
インストール
データメンテナンス CLI プラグインを追加する前に、Heroku CLI をインストールする必要があります。
Heroku CLI をインストールしたら、次のようにしてプラグインをインストールします。
# Install the plugin
heroku plugins:install @heroku-cli/plugin-data-maintenance
# List arguments and sub-commands
heroku help data:maintenances
コマンド
heroku data:maintenances
アプリの各 Heroku データアドオンのための最新のメンテナンスイベントが一覧表示されます。このイベントは、保留中のメンテナンスが存在する場合は pending maintenance
であり、存在しない場合は最近の完了した (completed
) メンテナンスイベントです。pending maintenance
イベントには、required by
(必須時期) および scheduled for
(予定時期) のタイムスタンプが含まれています。
USAGE
$ heroku data:maintenances
OPTIONS
-a, --app=app (required) app to list add-on maintenances for
-j, --json output result in json
-r, --remote=remote git remote of app to use
-x, --extended show extra columns
--columns=columns only show provided columns (comma-separated)
--csv output is csv format
--filter=filter filter property by partial string matching, ex: name=foo
--no-header hide table header from output
--no-truncate do not truncate output to fit screen
--sort=sort property to sort by (prepend '-' for descending)
EXAMPLES
$ heroku data:maintenances --app example-app
$ heroku data:maintenances --app example-app --json
heroku data:maintenances:info
単一の Heroku データアドオンについての最近のメンテナンスイベントの詳細を表示します。このイベントは、保留中のメンテナンスが存在する場合は pending maintenance
であり、存在しない場合は最近の完了した (completed
) メンテナンスイベントです。pending maintenance
イベントには、required by
(必須時期) および scheduled for
(予定時期) のタイムスタンプが含まれています。
USAGE
$ heroku data:maintenances:info ADDON
ARGUMENTS
ADDON data add-on to show maintenance for
OPTIONS
-a, --app=app app to list addon maintenances for
-j, --json output result in json
-r, --remote=remote git remote of app to use
EXAMPLES
$ heroku data:maintenances:info postgresql-sinuous-83720
$ heroku data:maintenances:info postgresql-sinuous-83720 --json
$ heroku data:maintenances:info DATABASE --app example-app
heroku data:maintenances:window
単一の Heroku データアドオンについての設定済みのメンテナンスウィンドウを表示します。メンテナンスウィンドウは、メンテナンスイベントが自動的にトリガーされる曜日と時間帯 (UTC) です。この値は data:maintenances:window:update
コマンドで変更できます。data:maintenances:run
コマンドを使用して、スケジュールされた時刻よりも前にメンテナンスをトリガーすることもできます。
USAGE
$ heroku data:maintenances:window ADDON
ARGUMENTS
ADDON add-on to show window for
OPTIONS
-a, --app=app app to run command against
-j, --json output result in json
-r, --remote=remote git remote of app to use
EXAMPLES
$ heroku data:maintenances:window postgresql-sinuous-92834
$ heroku data:maintenances:window DATABASE --app example-app
heroku data:maintenances:window:update
単一の Heroku データアドオンについての設定済みメンテナンスウィンドウを変更します。
アドオンの pending maintenance
イベントがスケジュールされている場合、メンテナンスウィンドウを変更すると、そのアドオンの scheduled for
メンテナンス時間が変更されます。
メンテナンスウィンドウの引数はUTCです。たとえば、メンテナンスイベントを米国太平洋時間で月曜日の午前 10 時に実行する場合、ウィンドウを “Monday 18:00” に設定します。
USAGE
$ heroku data:maintenances:window:update ADDON DAY_OF_WEEK TIME_OF_DAY
ARGUMENTS
ADDON add-on to change window for
DAY_OF_WEEK UTC maintenance window day of the week
TIME_OF_DAY UTC maintenance window time of day
OPTIONS
-a, --app=app app to run command against
-j, --json output result in json
-r, --remote=remote git remote of app to use
EXAMPLES
$ heroku data:maintenances:window:update postgresql-sinuous-92834 sunday 13:30
$ heroku data:maintenances:window:update postgresql-sinuous-92834 sunday 1:30PM
$ heroku data:maintenances:window:update DATABASE sunday 1:30PM --app example-app
heroku data:maintenances:wait
pending maintenance
がトリガーされた場合、このコマンドは、メンテナンスイベントが完了するまでブロックされます。
USAGE
$ heroku data:maintenances:wait ADDON
ARGUMENTS
ADDON data add-on
OPTIONS
-a, --app=app app to run command against
-r, --remote=remote git remote of app to use
EXAMPLES
$ heroku data:maintenances:wait postgresql-sinuous-83720
$ heroku data:maintenances:wait DATABASE --app example-app
heroku data:maintenances:schedule
新しい pending maintenance
イベントを作成するか、既存の pending maintenance
イベントの scheduled for
メンテナンス時間を更新します。scheduled for
メンテナンス時間は常に、設定されたメンテナンスウィンドウ内にあります。
USAGE
$ heroku data:maintenances:schedule ADDON
ARGUMENTS
ADDON addon to schedule or re-schedule maintenance for
OPTIONS
-a, --app=app app to run command against
-r, --remote=remote git remote of app to use
--weeks=weeks [default: 2] the number of weeks to delay maintenance for
EXAMPLES
$ heroku data:maintenances:schedule postgresql-sinuous-83910
$ heroku data:maintenances:schedule postgresql-sinuous-83910 --weeks 3
$ heroku data:maintenances:schedule postgresql-sinuous-83910 --weeks -2
$ heroku data:maintenances:schedule HEROKU_POSTGRESQL_RED --app example-app
メンテナンス時間は、設定されているウィンドウ内でのみ再スケジュールできます。期限よりも後の日時や現在よりも前の日付に再スケジュールすることはできません。
note
--weeks
を使用する場合、正の数は、指定した週数だけスケジュール済みのメンテナンス時間を遅らせます。負の数は、指定した週数だけ、スケジュール済みのメンテナンス時間を進ませます。たとえば、--weeks 3
はスケジュール済みのメンテナンス時間を 3 週間延期します。--weeks -2
はスケジュール済みのメンテナンス時間を 2 週間前倒しします。
heroku data:maintenances:run
単一の Heroku データアドオンについての pending maintenance
イベントをトリガーします。
USAGE
$ heroku data:maintenances:run ADDON
ARGUMENTS
ADDON data add-on
OPTIONS
-a, --app=app app to run command against
-c, --confirm app-name confirms running maintenance on the app without entering application maintenance mode
-r, --remote=remote git remote of app to use
-w, --wait wait for maintenance to complete before exiting
EXAMPLES
$ heroku data:maintenances:run postgresql-sinuous-92834
$ heroku data:maintenances:run postgresql-sinuous-92834 --confirm example-app
$ heroku data:maintenances:run postgresql-sinuous-92834 --wait
$ heroku data:maintenances:run DATABASE --app example-app
heroku data:maintenances:history
単一の Heroku データアドオンについての最近のメンテナンスイベントの詳細を表示します。
USAGE
$ heroku data:maintenances:history ADDON
ARGUMENTS
ADDON data add-on
OPTIONS
-a, --app=app app to run command against
-j, --json show result formatted in json
-n, --num=num [default: 5] number of maintenances to show (maximum is 20)
-r, --remote=remote git remote of app to use
-x, --extended show extra columns
--columns=columns only show provided columns (comma-separated)
--csv output is csv format
--filter=filter filter property by partial string matching, ex: name=foo
--no-header hide table header from output
--no-truncate do not truncate output to fit screen
--sort=sort property to sort by (prepend '-' for descending)
EXAMPLES
$ heroku data:maintenances:history postgresql-sinuous-92834
$ heroku data:maintenances:history postgresql-sinuous-92834 --num 10
$ heroku data:maintenances:history postgresql-sinuous-92834 --json
$ heroku data:maintenances:history DATABASE --app example-app