概要
Heroku から連絡があり使っている redis-addon のバージョンが古いからバージョンアップしてくれとの連絡が来ました
なのでアップグレードしてみました
環境
- macOS 11.2.3
- heroku 7.51.0
- redis 4.0.14 -> 6.0
現状の確認
まずは現在使っている redis の情報を確認しましょう
Version が 4.0.14 で End of Life になっているのが確認できます
heroku redis:info -a your-app-name
=== redis-silhouetted-79757 (REDIS_URL)
Plan: Hobby Dev
Status: available
Created: 2019-06-28 03:22
Version: 4.0.14 (End of Life)
Timeout: 300
Maxmemory: noeviction
Maintenance: not required
Maintenance window: Mondays 20:30 to Tuesdays 00:30 UTC
Persistence: None
HA Status: Unavailable
Requires TLS: No
Keyspace Notifications: Disabled
REDIS_URL の確認
上記の REDIS_URL を確認します
今回は新しい redis にデータを移行する方式を取ります
heroku config:get REDIS_URL -a your-app-name
ここで表示される URL はメモしておきましょう
既存の redis のデータを元に新規で redis を作成する
先程確認した REDIS_URL を元に新規で redis を作成します
addons:create
の --fork
オプションを使います
heroku addons:create heroku-redis:hobby-dev --fork redis://h:xxxxxxxxx@ec2-xxxxxxxxx:12345 -a your-app-name
Creating heroku-redis:hobby-dev on ⬢ your-app-name... free
Your add-on should be available in a few minutes.
! WARNING: Data stored in hobby plans on Heroku Redis are not persisted.
redis-silhouetted-79757 is being created in the background. The app will restart when complete...
Use heroku addons:info redis-silhouetted-79757 to check creation progress
Use heroku addons:docs heroku-redis to view documentation
作成状況の確認
すぐに新規の redis は払い出されないので状況を逐一確認しましょう
Status: available
になれば新規作成+データの移行が完了しています
fork in progress になっている場合はまだデータの移行中になるので古い redis など削除しないようにしましょう
heroku redis:info redis-silhouetted-79757 -a your-app-name
アプリが使用する redis を変更する
作成が完了したら使用する redis を変更します
redis:promote
を使います
新規で作成された redis を指定しましょう
heroku redis:promote redis-amorphous-58530 -a your-app-name
動作確認
アプリにアクセスして正常に動作する確認しましょう
古い redis を削除する
古いバージョンの redis は削除しましょう
addons:destroy
で古い redis を指定すれば OK です
heroku addons:destroy redis-silhouetted-79757
おまけ: データを移行しないでアップグレードする場合は
いきなり destroy しても良いですが丁寧なのは create -> promote -> destroy かなと思います
heroku addons:create heroku-redis:hobby-dev -a your-app-name2
heroku redis:promote redis-yyyy-12345 -a your-app-name2
heroku addons:destroy redis-xxxxx-12345
0 件のコメント:
コメントを投稿