状況は次のとおりです。サーバーで同じFQDNを参照する2つのIPを設定する必要があります。サーバーで実行されているアプリケーションでFQDNを構成しています。 1つのIP(FQDNベース)にアクセスできない場合、サーバーは同じFQDNに割り当てられた2番目のIPを使用します。
例:
/etc/hosts
以下を含めます
1.1.1.1 server1.google.com
1.1.2.1 server1.google.com
1.1.1.1 にアクセスできない場合、サーバーは server1.google.com を 1.1.2.1 として使用します。
このようなものを使用できますか?他のオプションがありますか?
答え1
/etc/hostsは繰り返されません。見つかった最初の一致のみを返します。
ラウンドロビンを確認したい場合は、これを行うには完全なDNSサーバーが必要です。
さらに、ラウンドロビンDNSは必要に応じて非常に良いロードバランシングツールではありません。便利なようですが、名前解決は目的のタスクを実行する階層ではありません。
答え2
アプリケーションを変更したくない場合や変更できない場合は、アプリケーションが実行されているサーバーと接続する2つのサーバーの間にロードバランシング層を配置する必要があります。これにより、以下が可能になります。
- 同じDNS名と同じIPアドレスを引き続き使用します(ロードバランサーは仮想IPを生成します)。
- すべてのサーバーに順次直接接続
- 問題が発生した場合は、消えるサーバーに接続しないでください。
- 必要に応じて、同じ宛先で認証セッションを維持できるようにする
ロードバランシングソリューションについては、以下を確認してください。Linux LVSプロジェクト。
サポートされている場合は、接続文字列に両方のIPを提供するようにアプリケーションを変更することもできます。最初のIPが使用され、応答がない場合は2番目のIPが使用されます。ただし、これはアプリケーションの構築に使用される言語によって大きく異なります。たとえば、Javaデータベースコネクタを介してこれを実行できます。