LoginSignup
10
8

More than 5 years have passed since last update.

Heroku Redis / Heroku Postgres メンテンナンスの仕組み

Last updated at Posted at 2016-11-02

Herokuで Redis / Postgres を運用していると、定期的にメンテナンスを求められることがあるのでそのあたりのメモ。

メンテナンスの影響について

メンテナンスは大抵元と変わりなく動作することが多いが、メンテナンスの前後で以下のような現象が生じることがある。

  • DB/Redis の接続情報が変わることがある?
  • DBについてはバックアップのスケジューラ設定が飛ぶことがある?

まれに…というレベルのものなので、障害なのか、どうなのかわからないが、接続情報に関しては変わった瞬間障害になるレベルなので、しっかり環境変数からパースするようにしておきたい。

スケジューラの設定について

Premium以上のプランでは、メンテナンスを指定の曜日・時間で行うよう設定することが可能なので、コレを利用しておくと休日にメンテが走って…といったトラブルを未然に防ぐことが出来る模様。

Heroku Postgres の設定

メンテナンス情報を参照する

$ heroku pg:info
Plan:           Standard 4
Status:         Available
Data Size:      26.1 MB
...
Maintenance:    required by 2014-02-01 00:00:00 +0000

メンテナンス時間を設定する。

$ heroku pg:maintenance:window DATABASE "Sunday 14:30"

メンテナンスコマンドについて

$ heroku pg:maintenance -h
Usage: heroku pg:maintenance <info|run|window> <DATABASE>

 manage maintenance for <DATABASE>
 info               # show current maintenance information
 run                # start maintenance
   -f, --force      #   run pg:maintenance without entering application maintenance mode
 window="<window>"  # set weekly UTC maintenance window for DATABASE
                     # eg: `heroku pg:maintenance window="Sunday 14:30"`

DATABASE の項目にはDATABASE名が入る。デフォルトはDATABASE

Config に入ってくる xxxxx_URLxxxxxの部分がDATABASE名になるので、

例えば HEROKU_POSTGRESQL_GREEN_URL などの Config が入っている場合には

$ heroku pg:info HEROKU_POSTGRESQL_GREEN

としてやれば良い

Heroku Redis の設定

メンテナンス情報を参照する。

$ heroku redis:info
=== redis-softly-4514 (REDIS_URL)
Plan:               Premium 7
Status:             available
...
Maintenance:        required by 2016-02-01 00:00:00 +0000

メンテナンス時間を設定する。

$ heroku redis:maintenance --window="Sunday 14:30"

ドキュメントでは plugin のインストールが必要と書かれているが、現在はcoreに組み込まれている様なので不要っぽい。

postgres と違って windowがoptionとなっており--が必要。

ナゼこういう仕様なのかはわからないが、合わせて作業していると詰んだりするので注意。

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8