DigitalOcean の仮想サーバーをダウングレードするにはどうすればよいですか?
最も良い方法は、管理ダッシュボードから Discourse インスタンスをバックアップし、古い Droplet を削除して新しい Droplet を起動し、その後復元することです。
または、現在の Droplet のスナップショットを作成し、それを削除してからスナップショットからディスクを作成し、そのディスクをダウングレードした新しい Droplet にアタッチする方法もあります。
忘れずに、app.yml 内の shared_buffers と unicorns の設定も合わせてダウングレードしてください。
こんにちは、
これを行う方法は他にもあります。
DigitalOcean の Droplet パネルでこれを行うことができます。「Resize」タブをご覧ください。
新しいパラメータを設定した後、app.yml ファイルを以下のように変更してください ![]()
もう一つの方法は、新しい Droplet を作成することです。これは、場所を変更したい場合や、ディスク容量をダウングレードしたい場合に便利です。
古い Droplet をすぐに削除するのはお勧めしません。新しい Droplet が正常に動作するまで、古い Droplet はそのままにしておいてください。
- 古い Droplet からスナップショットを作成します。
- 古い Droplet をオフにします。
- 新しい Droplet を作成します。
- ドメインの DNS を新しい Droplet の IP アドレスに変更します。
- スナップショットを新しい Droplet に復元します。
- ドメインの DNS が新しい Droplet の IP アドレスに切り替わるまで待ちます。
- 上記のように app.yml を変更します。
- アプリを再構築します。
- サイトをテストします。
- すべてが正常に動作すれば、古い Droplet を削除します。
フローティングIPを使用すれば、ドロプレットを切り替える際にダウンタイムを発生させることなく移行できます。
それが私の行う方法です。そうすれば、DNS の切り替えを待つ必要がなくなるからです。
Discourse インスタンスを別のサーバーに移行するをご覧ください。レテス・エンクリプトの証明書を引き継ぐことで、ダウンタイムをゼロにできます。
新しいサーバーを設定した後、古いサーバーをリードオンリーモードにし、バックアップを取得して新しいサーバーに復元し、IP アドレスを新しいものに変更してください。
rsync を使用してアセットを移動し、データベースのみをバックアップすることで時間を節約できます。また、S3 へバックアップを行う場合、バックアップファイルの移動ステップを省略することも可能です。Spaces はバックアップ先として全く問題ありません。