新しいホスティングプロバイダーの新しいインスタンスへの移行

AWS でカスタムドメイン(LetsEncrypt による SSL 付き)で動作しているフォーラムを、ダウンタイムを最小限に抑えて Digital Ocean へ移行したいと考えています。推奨されるベストプラクティスをご存知でしょうか?私はこれまで様々な問題に直面しました。

まず、新しいインスタンスをセットアップして LetsEncrypt を有効化しようとしましたが、これにより SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE のような様々なエラーが発生しました。これは、既存のライブサイトと同じドメイン名を新しいインスタンスの構成で使用しようとしたことが原因だと推測されます。

次に、SSL を無効にした状態でインスタンスをセットアップし(ただし、インスタンスは同じドメイン名で構成)、ライブサイトからバックアップをリストアしようとしました。しかし、今度はドメイン名に関する問題と思われる理由でリストア処理が失敗しました。

新しいドメインでインスタンスをセットアップするのは非常に簡単です(ありがとうございます!:folded_hands:)。しかし、DNS の切り替えだけで移行できる新しいインスタンスを作成しようとするのは、非常に困難なようです。もちろん、私が単にやり方を間違えているだけかもしれませんが。

ご助力いただけますと幸いです。

I’m not making any promises, but if the current site is a standard install, you can copy over your the letsencrypt and ssl directories and those certs should get copied over and it’ll rebuild just fine. It can be a bit tricky, though.

Worst case, you’ll need to rebuild the site after the DNS switch.

INSTALL-cloud.md の手順を以下のように修正して、新しいターゲットホストで実行することは可能でしょうか?

sudo -s
git clone GitHub - discourse/discourse_docker: A Docker image for Discourse · GitHub /var/discourse
cd /var/discourse
[現在稼働中のインスタンスから letsencrypt、ssl ディレクトリおよび containers/app.yml をコピー]
./discourse-setup

その後、Web UI を使ってバックアップから復元し、DNS を切り替えるという流れで問題ありませんか?

DNS 切り替え前に実施すべきテストについて、何か推奨事項はありますか?

有益なご指摘をいただき、誠にありがとうございます!

discourse-setup は不要です。./launcher rebuild app を実行するだけで構いません。ローカルの DNS を変更して新しいサーバーを指すように設定すれば、問題なく動作するはずです。

素晴らしい、アドバイスありがとう!