Gemeinsame Nutzung statischer IPs zwischen virtuellen Maschinen

Gemeinsame Nutzung statischer IPs zwischen virtuellen Maschinen

Seitdem verwende ich die Vhost-Funktion von Apache2, um mehrere Domänen an eine öffentliche und statische IP zu binden.

Jetzt richte ich einen XEN-Host mit 4 IPs und mehreren VMs ein, zwei davon sind reine Webserver. Ist es möglich, dass sich diese beiden VMs eine öffentliche IP teilen? Jede von ihnen hätte einen Satz virtueller Hosts auf derselben öffentlichen IP.

Alt-Text

Bearbeiten: Okay, was ist mit einer Host-basierten Umleitung? Alt-Text

Antwort1

Wenn Sie nur http bereitstellen möchten, möchten Sie höchstwahrscheinlich einen Software-Load Balancer / Reverse-Proxy installieren wiePfundDie Konfiguration auf dem Xen-Host würde (wiederum - höchstwahrscheinlich) so aussehen

ListenHTTP
            Address xx.xx.xx.xx
            Port    80

            Service
                BackEnd
                    Address ip.of.webserver.1
                    Port    80
                End
                BackEnd
                    Address ip.of.webserver.2
                    Port    80
                End
            End
End

Sie müssen auf dem Xen-Host auch Weiterleitungs- und Iptables-Regeln einrichten; möglicherweise ist dieser bereits dafür eingerichtet.

Antwort2

Ich glaube nicht, dass Sie die an beide Server gesendeten Anfragen aufteilen können, wenn sie dieselbe IP-Adresse haben.

Warum müssen Sie sie auf dieselbe IP einstellen?

schönes Diagramm aber

Antwort3

Wie Radius und die anderen sagen, glaube ich nicht, dass es möglich ist, dies zu erreichen, indem man den Servern einfach dieselbe IP gibt (sie werden sich über doppelte Adressen beschweren und einer von ihnen wird am Ende ohne IP dastehen) oder dieselbe sekundäre IP (wie oben, aber schwieriger zu beheben).

Eine bessere Option wäre entweder Round-Robin-DNS, bei dem Sie die IPs aller Webserver zum selben „A“-Eintrag hinzufügen können und eine Abfrage für diesen „A“-Eintrag jedes Mal entweder eine andere Adresse oder eine Liste von Adressen zurückgibt, aus denen Ihre Clients auswählen können. Eine andere Möglichkeit wäre, eine Art Lastenausgleichs-App vor den beiden Webservern hinzuzufügen, um den Datenverkehr gleichmäßig an beide zu leiten (oder nur an einen, wobei der andere als Failover fungiert). Sie können dies mit einer anderen Instanz von Apache tun, auf der mod_proxy installiert ist.

Welche davon Sie verwenden möchten, hängt von Ihrem Verwendungszweck ab – sprechen wir über eine Art Hochverfügbarkeits-/Clustering-Lösung?

Antwort4

Gemäß Ihrer Bearbeitung können Sie einen Reverse-Proxy verwenden. Apache kann das. Pound ist eine weitere bereits erwähnte Lösung.

verwandte Informationen