web-dev-qa-db-ja.com

クラウド(AWS外)の自動修復サーバーのベストプラクティスは?

現在、EC2の自動スケーリング機能を使用して可用性の高いシステムセットアップを行っているAWSから移行中です。ただし、これを使用してリソースの使用状況に基づいてプールのサイズを変更するのではなく、インスタンスの1つに障害が発生したり応答しなくなったりしたときに、新しいインスタンスを起動するために使用しているだけです。

他のクラウドプロバイダーでこの自動スケーリング機能がない場合(特にDigitalOceanを検討していますが、どこにでも適用できるはずです)、このセットアップを実現するためのいくつかのオプションは何ですか?私が最初に考えたのは、他のサーバーを監視するインスタンスを作成することでしたが、そのサーバーが単一障害点になります。自動化されているか、単一障害点を作成せずにAPIにスクリプトを記述しているかにかかわらず、これを実現するためのサービスまたは確立されたパターンはありますか?

1
James Simpson

最終的に、EC2の動作をいくらか模倣する独自のソリューションを作成しました。これをhealthcare.jsと呼び、 https://github.com/goldfire/healthcare.js でオープンソース化しました。基本的に、検出にDigitalOcean APIとタグを使用し、次に democracy.js を使用して実行中のサーバーを監視します。これにより、渡されたサーバー構成に基づいてサーバーを強制終了/再構築する完全分散型の自己修復システムが可能になります。

1
James Simpson