Was ist eine Floating IP?

Das Internet besteht – schlicht gesagt – aus einem Haufen Computer, die über Leitungen, Fiberoptik-Kabel und drahtlose Empfangsgeräte verbunden sind, und die auf Grundlage einer gemeinsamen „Sprache“ Daten austauschen. Dieser grundlegende gemeinsame Standard – also die Sprache – ist das Internet Protocol (IP). Die Daten werden dabei so angeordnet, dass alle Rechner, die das gemeinsame Protokoll verstehen, sie interpretieren können.

Erst eine sogenannte IP-Adresse, nachfolgend auch „die IP“ genannt, macht digitale Geräte in einem Netzwerk auffindbar. Sie ist eine entscheidende Voraussetzung, um elektronische Datenpakete zuverlässig zuzustellen. Auf dieser Basis kommunizieren die Geräte miteinander – zum Beispiel über das Internet. Die IP-Adresse sorgt dafür, dass die Daten vom Absender zum richtigen Empfänger gelangen – beispielsweise von einem Webbrowser zu einem Webserver oder umgekehrt. Eine IP-Adresse kann sowohl einem einzelnen als auch mehreren Geräten gleichzeitig zugeordnet sein. Ebenso kann ein einzelnes Gerät zur gleichen Zeit mehrere IP-Adressen haben.

Um nun allerdings verstehen zu können, was genau eine Floating IP ist, muss man zunächst die Unterschiede dynamischer und statischer IP-Adressen kennen.

Dynamische IP

Wenn sich ein Rechner mit dem Internet verbindet, wird ihm in den meisten Fällen vom Internet Service Provider (ISP) eine dynamische IP zugewiesen. Dynamische IP-Adressen sind der kostengünstige Standard für Nutzer und Anbieter. Sie sind dadurch gekennzeichnet, dass sie ein und demselben Gerät nur temporär zugewiesen werden und sich in bestimmten Zeitabständen ändern, die entweder fest definiert (z. B. alle 24 Stunden) oder unregelmäßig sind. Der Nutzer erhält dann vom jeweiligen Internet Service Provider eine neue dynamische IP für seinen Rechner, während die vorherige IP gegebenenfalls einem anderen Nutzer zugewiesen wird.

Statische IP

Eine statische IP gleicht dagegen einer festen Postanschrift oder Telefonnummer. Sie ist dauerhaft einem Gerät zugeordnet. Statische IP-Adressen sind vor allem im Web-Server- oder E-Mail-Server-Bereich anzutreffen – bzw. überall dort, wo Angebote oder (Webseiten-)Inhalte über eine feste URL erreichbar sein müssen, damit Nutzer oder Prozesse sie ohne Probleme (wieder)finden. Auch Computer in einem Netzwerk oder Peripheriegeräte wie Drucker besitzen feste IPs, damit die einzelnen Geräte innerhalb des Netzwerkes problemlos miteinander kommunizieren können.

Damit sich Nutzer keine komplexen Zahlenpakete einprägen müssen, ist es möglich, einer statischen IP einen Domain-Namen zuzuweisen, z. B. www.example.org. Die numerische IP, die „Anschlussnummer“ eines Gerätes im Netz, wird also in einen möglichst einprägsamen Namen übersetzt. Das ist generell nur statischen IPs vorbehalten. Bei dynamischen IPs ist dies kaum sinnvoll, da sie häufig den Nutzer wechseln.

Floating IP – Definition

Eine Floating IP ist üblicherweise eine öffentliche, routbare IP-Adresse, die nicht automatisch einer Instanz zugewiesen wird. Stattdessen ordnet ein Projekt-Eigentümer sie bei Bedarf selbst temporär einer oder mehreren Instanzen zu. Die jeweilige Instanz verfügt dann sowohl über eine automatisch vergebene, statische IP für die Kommunikation zwischen den Instanzen im privaten, nicht-routbaren Netzwerkbereich, als auch über eine manuell zugewiesene Floating IP. Dies macht die Dienste der Instanz für Nutzer außerhalb einer Cloud bzw. eines Netzwerks erkennbar und damit erreichbar.

In entsprechend konfigurierten Failover-Szenarien „floatet“ (Englisch: floating = gleitend, schwebend) eine solche IP auch dynamisch zu einer anderen aktiven Einheit im Netzwerk, damit diese beispielsweise die Funktion einer nicht mehr aktiven Instanz ohne Zeitverzug übernimmt und an deren Stelle die eingehenden Anfragen beantwortet.

Wie wird eine Floating IP generiert?

Die Nutzer beziehen Floating IPs für ihre Projekte aus verschiedenen Pools, die der System-Administrator konfiguriert und als Server-Ressourcen zur Verfügung stellt. Sobald ein Nutzer eine Floating IP bezieht, wird er zu deren „Eigentümer“. Er kann sie jederzeit einer Instanz zuordnen, wieder von ihr lösen und einer anderen zuordnen. Auch wenn eine Instanz beendet wird, „verliert“ der Nutzer die zugeordnete Floating IP nicht. Sie verbleibt als seine Ressource und kann weiterhin jederzeit wieder einer anderen Instanz zugeordnet werden.

Ein wesentlicher Grund für die Nutzung mehrerer paralleler Floating-IP-Pools ist der, dass jeder Pool von einem anderen Internet Service Provider betrieben oder auch von anderen externen Netzen zugeordnet werden kann. Auf diese Weise wird sichergestellt, dass sich die Verbindungsfähigkeit bzw. Erreichbarkeit aufrechterhalten lässt, selbst wenn ein Internet Service Provider aufgrund einer Betriebsstörung ausfallen sollte.

Wann werden Floating IPs eingesetzt?

Die höchstmögliche Verfügbarkeit zählt zu den Schlüsselfaktoren jeder Produktionsumgebung. Im Kommunikationsnetz kann aber schon eine einzelne Schwachstelle zum Ausfall von Anwendungen führen. Natürlich schlafen Entwickler ruhiger mit dem Wissen, dass ihre Anwendungen so konzipiert sind, dass sie denkbaren Fehler-Szenarien widerstehen. Das Ziel ist also, eine hochverfügbare Infrastruktur mit minimaler Downtime (Ausfallzeit) bereitzustellen.

Eine Floating IP kann beispielsweise als flexible Load-Balancing-Adresse (Lastverteilungsadresse) dienen und dabei helfen, Spitzenlasten auszugleichen, indem eingehender Netzwerk-Traffic auf verschiedene Netzwerkknoten verteilt wird. Netzwerkknoten sind Geräte, die zwei (oder mehr) Übertragungswege eines Telekommunikationsnetzes miteinander verbinden. Wie bei einem Rechner, der Arbeitsprozesse auf mehrere Prozessoren verteilt, werden auch per Load Balancing größere Mengen zeitgleicher Anfragen oder umfangreichere Berechnungen bewältigt, indem die Last auf mehrere parallele Systeme aufgeteilt wird.

Failover und Switchover

Wenn ein primärer Load Balancer oder ein zentraler Anwendungsserver in einem Cluster einseitig ausfallen, kann eine Floating IP in einem entsprechend konfigurierten System sofort einem redundanten, also einem funktional gleichen (oder vergleichbaren) Anwendungsserver bzw. einem sekundären Load Balancer zugewiesen werden. Die IP „floatet“ zur aktiven Einheit, welche die gewünschten Prozesse umgehend fortführt. Solch ein ungeplanter Wechsel zwischen Netzwerkdiensten wird als „Failover“ (Ausfallsicherung) bezeichnet. Insbesondere für unternehmenswichtige Anwendungen ist ein derartiger Schutz zu empfehlen.

Ein geplanter Wechsel von einem primären auf ein sekundäres System wird stattdessen als „Switchover“ bezeichnet. Die gezielte Übertragung von Diensten wird dabei nicht fehlerbasiert ausgelöst, sondern üblicherweise durch einen System-Administrator gesteuert. Ein klassischer Anlass für einen Switchover ist beispielsweise eine routinemäßige Wartung der Primär- oder Sekundärsysteme, während eine parallele Instanz vorübergehend deren Funktion übernimmt.

Welche Vorteile bietet eine Floating IP?

Die Vorteile einer Floating IP liegen klar in ihrer Flexibilität – der freien und bedarfsgerechten Zuweisbarkeit. Floating IPs eignen sich daher sowohl für den Einsatz in Failover-Szenarien als auch im Switchover-Bereich – zum Beispiel, um reibungslose Upgrades von Anwendungen oder ganzen Websites mit minimaler Downtime durchzuführen: Während ein Upgrade auf einer Instanz eingespielt wird, übernimmt eine andere den Traffic. Ist das Upgrade erfolgreich beendet, wird der Datenverkehr wieder auf die aktualisierte Einheit umgeleitet.

Ein weiterer Vorteil: Auch wenn sich mehrere oder sogar viele verschiedene Instanzen hinter einem angebotenen Dienst verbergen, erscheint die Floating IP für Nutzer, die den Dienst in Anspruch nehmen, nach außen hin als die IP des Servers, der den jeweiligen Dienst bereitstellt.