Heroku で mLab add-on終了による Mongo DB atlas への移行
背景
Heroku の Add-on として提供されていた mLab MongoDB が 2020/11/10 終了する事になりました。先日、 mLab がMongoDB, Inc. に買収されたのでそれに伴う動きなります。errbitなどを Heroku でホストしている場合、対応が必要になります。今回の移行プロセスは既存のデータも移行できるプロセスになっています。
ObjectRocket for MongoDB
Heroku からのメールで移行先としておすすめされているのが ObjectRocket ですが、月額46ドル〜となっています。errbit を使っているのはコスト抑えたいからというのが多いと思うので、これは少し厳しい。
https://elements.heroku.com/addons/ormongo
移行先としての MongoDB Atlas
こちらの PR でまとめられたドキュメントがあります。ただし、新規に Heroku ホストすることを前提としていますので、この部分は別の対応が必要です。
https://github.com/errbit/errbit/blob/master/docs/deployment/heroku.md
そこで、データの移行については下記のドキュメントにまとめられています。
https://docs.mlab.com/shutdown-of-heroku-add-on/
MongoDB Atlas であれば無料の範囲で運用できそうです。
移行方法
基本はドキュメントのとおりです。
アプリケーションを最新バージョンにする
mongodb 4.2系のサポートが必要になるので最新版にしておいてください。
MongoDB Atlasのクラスターを作成する
Database Accessからユーザーを作成する。
パスワード認証で、Read and write to any databaseの権限を付与する。
IPアドレスのフィルターを解除する。
Networwk AccessからAllow Access From Everywhereを選択する。
Heroku側で接続情報を更新する
- 環境変数 MONGODB_URI に上記でコピペした接続情報をコピペする。 とのところは適宜書き換える。注意:環境変数を追加するとダウンタイムが発生します
mongodb+srv://xxx:<password>@xxx.xxx.mongodb.net/<dbname>?retryWrites=true&w=majority
mLabからMongoDB Atlasにデータ移行
完了すると MongoDB Atlas のメニューバーに mLab の項目が出るのでそこから migration を実行できます。
Heroku側での残り作業
Heroku にログインして mLab のアドオンや環境変数を削除してください。これで移行完了です。移行しない場合は、 heroku run rake errbit:bootstrap
を実行すれば DB の初期設定ができるかと思います。
Author And Source
この問題について(Heroku で mLab add-on終了による Mongo DB atlas への移行), 我々は、より多くの情報をここで見つけました https://qiita.com/geeknees/items/b7464db94f63ae7a6949著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .