Heroku Redis のメンテナンスウィンドウ
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2022年12月01日(木)
Table of Contents
メンテナンスタスクを実行するために、Heroku において Redis インスタンスをオフラインにすることが必要な場合があります。典型的なタスクには、インスタンスの基盤となるインフラストラクチャのアップグレード (例: オペレーティングシステムや必要なライブラリへのパッチ適用) や Redis 自体のアップグレードなどがあります。このメンテナンスは Heroku によって自動的に処理されます。
メンテナンスウィンドウは、すべてのプレミアム Redis プランで利用できます。
Redis インスタンスのメンテナンスが必要かどうかの確認
Redis インスタンスのメンテナンスが必要かどうかは、redis:info
コマンドを使用して確認できます。
$ heroku redis:info
=== redis-softly-4514 (REDIS_URL)
Plan: Premium 7
Status: available
...
Maintenance: required by 2016-02-01 00:00:00 +0000
メンテナンスウィンドウの設定
メンテナンスが実行される曜日と時刻 (UTC) をユーザーが指定できます。
$ heroku redis:maintenance --window="Sunday 14:30"
メンテナンスウィンドウを設定することで、アプリケーションとユーザーへの影響を最小化できます。メンテナンスがビジネスに及ぼす影響が最も小さい時間を選択することをお勧めします。メンテナンスウィンドウの長さは、指定した開始時刻から 4 時間です。メンテナンスに必要な実際の時間は処理内容によって異なりますが、通常、Redis インスタンスを数分間のみオフラインにする必要があります。ウィンドウを指定しない場合、無作為に選択されます。
制限
設定可能なメンテナンスウィンドウと手動でのメンテナンス実行は、Premium プランでのみ利用できます。
Heroku では、メンテナンスウィンドウに関するお客様の要望にお応えできるよう最善を尽くしますが、保証はいたしかねます。お客様のデータのセキュリティまたは整合性が脅かされる緊急事態が発生した場合、当社の裁量によって通常のウィンドウ以外の時期にメンテナンスを実行します。
よくある質問
アプリのダウンタイムは発生しますか?
どのようなメンテナンスにも一定のダウンタイムは必要です。HA プラン (Premium/Private 層) をご利用の場合、障害発生時に自らを保護するための手順をお客様が実行済みですので、お客様はすでにこのダウンタイムを認識しています。HA プランをご利用でない場合、お客様のアプリケーションのダウンタイムが最小になるように措置を講じます。HA プランでは、メンテナンス後、新しい HA フォロワーが作成されてキャッチアップするまでの間、HA をご利用いただけない時間が発生します。
メンテナンスがトリガーされると、プライマリ Redis がスタンバイ Redis にフェイルオーバーします。合計ダウンタイムは、フェイルオーバーから回復するアプリケーションの能力に依存します。ほとんどのお客様で、このダウンタイムは数分で収まります。
メンテナンスを実行するために必要な手順はありますか?
メンテナンスには 3 つの実行方法があります。Heroku で自動的にメンテナンスを実行するのが最も一般的な方法です。Heroku では、お客様のデータベースメンテナンスウィンドウを使用して、このメンテナンスを自動的に実行するのに最適な時間を決定します。
以下の 2 つの方法は、お客様によって手動でトリガーされます。
メンテナンスの手動実行を希望する場合、2 つの方法があります。最初の方法では heroku redis:maintenance --run --force
を使用します。この場合、HA スタンバイまたは非表示のスタンバイ (キャッチアップ済みの場合) にすぐにフェイルオーバーします。アプリケーションはすぐに再起動し、新しいプライマリ (以前のスタンバイ) をポイントします。このオプションの影響は、メンテナンスが Heroku によって実行される場合と同様です。
もう 1 つの方法では、フェイルオーバーを実行する前にアプリケーションをメンテナンスモードにします。この方法には、ユーザーのランディングページがクリーンになるなどの利点がありますが、メンテナンスモードの有効化と無効化を手動で行うことから、全体としてはダウンタイムが長くなる可能性があります。メンテナンスモードに関するページに、さらに詳しい情報があります。