同じ参照を持つ 2 つの IP の DNS 解決

同じ参照を持つ 2 つの IP の DNS 解決

次のような状況があります: サーバー上で、同じ 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 データベース コネクタで可能です。

関連情報