アプリケーションインスタンスのIP割り当て

アプリケーションインスタンスのIP割り当て

現在、プライマリサーバーを指しているIPとは異なるIPを使用して購入した静的IPアドレスを、サーバーのアプリケーションインスタンスにポイントする方法がわかります。

これは私を完全に混乱させました。私は2つの関連コマンドを知っていますが、IPが自分のローカルホストの特定のポートを指すように強制する方法がわかりません。私はそれがARPとルーティングだと思います。私は完全に間違っている可能性があります。

私が望むのは、異なるIPアドレスを別のJavaインスタンスに割り当てることです。

私もCentOS 5.9を使用しています。

ベストアンサー1

IPアドレスはポートやアプリケーションを指しません。これは(仮想)マシン、コンテナ、またはコンテキストを指します。

アプリケーションは、転送されたポートに応じてbindコンピュータのすべてのIPアドレスをリッスンできるポートでリッスンすることも、単一のIPアドレスでリッスンすることもできます。したがって、最善の方法は、アプリケーションに正しいIPを使用してバインディングを呼び出すことです。例えば、異なるIPアドレスを受信する限り、ポート80で受信する2つの異なるプログラムを有することができる。多くのプログラムでは、リッスンするIPを指定することができ、時には10.0.0.1:123410.0.0.1がIPで、1234がポートである構文を使用します。 IPを省略すると、デフォルトはコンピュータのすべてのアドレスである0.0.0.0です。

アプリケーションがこれを実行できない場合(Goldilocksが暗示したように)、NATを使用して問題を解決できます。デフォルトでは、各アプリケーションは8080や8081などの異なるポートでリッスンします。次に、ポート80をリダイレクトするようにNATルールを設定します。

iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 8080
iptables -t nat -A PREROUTING -d 10.0.0.2 -p tcp --dport 80 -j DNAT --to-destination 8081

もちろん、追加のファイアウォールルールを追加することで、ポート8080と8081への直接アクセスをブロックできます。

ipvsを使用してこれを行うこともできます。またはプロキシサーバー。他にもいくつかの方法があります。

おすすめ記事