DNSは同じ参照で2つのIPを確認します。

DNSは同じ参照で2つのIPを確認します。

状況は次のとおりです。サーバーで同じ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データベースコネクタを介してこれを実行できます。

関連情報