Netzwerke, Load Balancer, Floating IPs und Sicherheitsgruppen

Netzwerke erstellen, Load Balancer, Floating IPs und Sicherheitsgruppen verwenden

Vernetzung

Um Ihnen die Arbeit zu erleichtern, werden neue Projekte in der pluscloud open mit einem vorkonfigurierten Netzwerk-Setup erstellt, welches ein privates Netzwerk und einen Router enth├Ąlt, der dieses private Netzwerk mit dem Internet verbindet. Die gesamte Netzwerkkonfiguration in Horizon wird ├╝ber das Men├╝ “Netzwerk” vorgenommen.

Screenshot des Netzwerkmen├╝s

Netzwerktopologie” zeigt Ihnen ein Diagramm Ihrer aktuellen Netzwerkumgebung. “Netzwerke” listet alle derzeit konfigurierten Netzwerke in Ihrem Projekt auf und erm├Âglicht es Ihnen, bestehende Netzwerke zu verwalten, zu l├Âschen und neue Netzwerke zu erstellen. “Router” listet alle konfigurierten Router in Ihrem Projekt auf und erm├Âglicht die Verwaltung, Erstellung und L├Âschung von Routern. “Sicherheitsgruppen” sind im Grunde Firewall-Regeln, mit denen Sie den Datenverkehr zu oder von Ihrer Infrastruktur zulassen oder verweigern k├Ânnen. Mit “Load Balancers” k├Ânnen Sie Load Balancer, Member und Pools in Ihrer Umgebung erstellen, l├Âschen und verwalten. Mit “Floating IPs” k├Ânnen Sie ├Âffentliche IP-Adressen f├╝r Ihre Instanzen verwalten, anh├Ąngen, abh├Ąngen und allozieren.

Netzwerktopologie

Im Men├╝punkt “Netzwerktopologie” k├Ânnen Sie sich einen ├ťberblick ├╝ber das Netzwerk-Setup in Ihrem Projekt verschaffen. Das Diagramm zeigt Ihre aktuelle Konfiguration und wird bei jeder ├änderung der Umgebung aktualisiert.

Bildschirmfoto einer Netzwerktopologie

Das obige Diagramm zeigt zwei private Netzwerke, die ├╝ber zwei Router mit einem ├Âffentlichen Netzwerk (“Providernetzwerk” in der OpenStack-Sprache) verbunden sind. Wenn Sie mit der Maus ├╝ber die Elemente des Diagramms fahren, werden weitere Informationen und Verkn├╝pfungen zu anderen Funktionen der Web-GUI angezeigt.

Netzwerke

Unter “Netzwerke” finden Sie die konfigurierten Netzwerke in Ihrer Umgebung und Sie k├Ânnen Netzwerke verwalten, hinzuf├╝gen oder l├Âschen. Screenshot des Netzwerkmen├╝s

Jedes Netzwerk ben├Âtigt ein zugeh├Âriges Subnetz, das ebenfalls bei der Erstellung des Netzwerks eingerichtet wird. Das externe Netzwerk - “ext01” Fall der pluscloud open - wird vom Provider konfiguriert und kann nicht ge├Ąndert werden.

Netzwerke erstellen

Mit einem Klick auf “Netzwerk erstellen” ├Âffnet sich ein Dialog, um ein neues Netzwerk zu definieren.

Bildschirmfoto des Men├╝s “Netzwerk erstellen”

Sie m├╝ssen dem neuen Netzwerk einen Namen geben, entscheiden, ob es Datenverkehr empfangen soll (indem Sie auf “Enable Admin State” klicken) und entscheiden, ob Sie ein neues Subnetz im neuen Netzwerk erstellen oder ein bestehendes verwenden wollen. Die “Availability Zone Hints” beziehen sich derzeit auf die gesamte pluscloud-open-Umgebung, da es nur eine Availability Zone pro pluscloud-open-Umgebung gibt.

Wenn Sie “Subnetz erstellen” gew├Ąhlt haben, m├╝ssen Sie im n├Ąchsten Schritt das Subnetz definieren.

Screenshot der Registerkarte “Subnetz”

Hier erstellen Sie ein Subnetz, das mit dem neuen Netzwerk verbunden ist. Sie ben├Âtigen eine g├╝ltige “Netzwerkadresse” eines RFC1918-Netzwerks in CIDR-Notation. Wenn Sie keine “Gateway-IP” angeben, wird die erste IP-Adresse des Teilnetzes automatisch zur Gateway-IP-Adresse. Wenn Sie kein Gateway in Ihrem Netzwerk haben wollen, klicken Sie auf “Gateway deaktivieren”.

Eine detaillierte Konfiguration des Subnetzes finden Sie im Men├╝ “Subnetzdetails”.

Screenshot des Subnetz-Details-Men├╝s

Hier k├Ânnen Sie festlegen, ob DHCP im Subnetz verf├╝gbar sein soll. Wenn Sie m├Âchten, k├Ânnen Sie au├čerdem den Subnetzpool angeben, aus dem DHCP-Adressen zugewiesen werden sollen. Zuteilungspools sollten mindestens mit der Adresse .5 beginnen, da auf diesen ersten Adressen des Netzes bereits andere Netzwerkdienste laufen k├Ânnten. Wenn Sie bestimmte Nameserver f├╝r Ihr Netzwerk verwenden m├Âchten, k├Ânnen Sie diese im Feld “DNS-Nameserver” definieren. Spezifische Host-Routen zu bestimmten Netzwerken k├Ânnen Sie im Feld “Host-Routen” einstellen, wo Sie das Zielnetzwerk in CIDR-Notation definieren, gefolgt von der Gateway-IP-Adresse, ├╝ber die Sie das Zielnetzwerk erreichen k├Ânnen. Klicken Sie auf “Erstellen”, damit OpenStack das neue Netzwerk und Subnetz bereitstellt.

Router

Netzwerke m├╝ssen durch Router verbunden werden, um kommunizieren zu k├Ânnen. Dies gilt sowohl f├╝r externe Netzwerke als auch f├╝r interne Netzwerke. Das Men├╝ “Router” listet alle konfigurierten Router auf, erlaubt die Verwaltung und das L├Âschen dieser Router sowie das Anlegen neuer Router. Screenshot des Router-Men├╝s

Router erstellen

Um einen neuen Router zu erstellen, klicken Sie auf “Create Router”, geben Sie ihm einen Namen, erlauben Sie ihm, Pakete zu routen, indem Sie auf “Enable Admin State” klicken und w├Ąhlen Sie ein “External Network” aus der Liste. Bildschirmfoto des Men├╝s “Router erstellen”

Schnittstelle hinzuf├╝gen

Wenn Sie auf den Namen eines bereits vorhandenen Routers klicken, sehen Sie die aktuellen Schnittstellen und deren Konfiguration

Bildschirmfoto des Schnittstellenmen├╝s

Wenn Sie auf “Schnittstelle hinzuf├╝gen” klicken, k├Ânnen Sie ausw├Ąhlen, mit welchem Subnetz die Route verbunden werden soll und welche IP-Adresse die neue Router-Schnittstelle erhalten soll.

Bildschirmfoto des Men├╝s “Schnittstelle hinzuf├╝gen”

Statische Route hinzuf├╝gen

Mit einem Klick auf den Reiter “Statische Routen” k├Ânnen Sie Ihrem Router statische Routen hinzuf├╝gen

Bildschirmfoto des Men├╝s “Statische Route hinzuf├╝gen”

F├╝gen Sie das Zielnetz in CIDR-Notation hinzu und definieren Sie eine erreichbare IP-Adresse f├╝r den Router, um eine Verbindung zum Zielnetz herzustellen.

Sicherheitsgruppen

Ein sehr wichtiger Teil der Netzwerkumgebung Ihres Projekts sind die Sicherheitsgruppen, die wie Firewall-Regels├Ątze funktionieren, um den Datenverkehr zu Ihren Instanzen zuzulassen oder zu verbieten. Nur erw├╝nschter Datenverkehr sollte Ihre Instanzen erreichen k├Ânnen.

Standardm├Ą├čig ist eine “Standard-Sicherheitsgruppe” f├╝r Instanzen aktiv, denen keine anderen Sicherheitsgruppen zugewiesen sind. Diese Gruppe enth├Ąlt eine Reihe von Regeln f├╝r ein- und ausgehenden Datenverkehr. Diese Gruppe wird normalerweise neuen Instanzen zugewiesen, um SSH-Anmeldungen zu erm├Âglichen.

Screenshot des Standard-Men├╝s f├╝r Sicherheitsgruppen

“Egress” ist f├╝r ausgehenden Traffic. Jeder Traffic (einschlie├člich ICMP) ist f├╝r IPv4 und IPv6 erlaubt. “Ingress” oder eingehender Traffic ist f├╝r ICMP sowie SSH (Port 22) erlaubt. Regeln, die die “Remote Security Group” “default” definiert haben, werden verwendet, um sicherzustellen, dass jede Quellinstanz jede andere Zielinstanz in dieser “default” Gruppe ├╝ber IPv4 und IPv6 erreichen kann. Denken Sie daran, dass die Sicherheitsgruppen jeder Instanz einzeln zugewiesen werden m├╝ssen. Diese gelten nicht f├╝r Ihre gesamte Umgebung.

Sicherheitsgruppe erstellen

Wenn Sie auf “+Sicherheitsgruppe erstellen” klicken, wird eine neue Sicherheitsgruppe erstellt und Sie gelangen zu einem neuen Men├╝, in dem Sie neue Sicherheitsregeln zu Ihrer neuen Sicherheitsgruppe hinzuf├╝gen k├Ânnen. Es gibt eine Reihe von vordefinierten Regeln f├╝r verschiedene Protokolle. Sie k├Ânnen “Custom TCP/UDP/ICMP”-Regeln f├╝r einzelne Ports definieren. Sie sollten das Beschreibungsfeld verwenden, um einen einfachen ├ťberblick dar├╝ber zu erhalten, was jede Regel tun soll. Definieren Sie au├čerdem die Richtung des Datenverkehrs (Ausgang/Eingang) sowie den Netzwerkport, f├╝r den die Regel gelten soll. Sie k├Ânnen einen einzelnen Port, mehrere Ports oder einen Portbereich definieren. F├╝r ICMP-Traffic legen Sie ICMP-Typ und -Code fest.

Bildschirmfoto des Men├╝s “Regel hinzuf├╝gen”

“Remote” beschreibt Quelle oder Ziel - je nachdem, ob es eine Ingress- oder eine Egress-Regel werden soll. Sie k├Ânnen hier eine IP-Adresse (in CIDR-Notation) oder eine andere Sicherheitsgruppe definieren.

Load Balancer

Das Men├╝ “Load Balancers” erm├Âglicht es Ihnen, Load-Balancing-Dienste zu definieren. Ein Klick auf “Load Balancers” zeigt eine Seite mit allen bereits definierten Load Balancern. Diese k├Ânnen hier verwaltet oder gel├Âscht werden. Und Sie k├Ânnen neue hinzuf├╝gen, indem Sie auf “+Loadbalancer erstellen” klicken. Um einen neuen Loadbalancer zu erstellen, m├╝ssen Sie verschiedene Parameter festlegen. Sie werden durch einige Men├╝s gef├╝hrt und sobald Sie gen├╝gend Informationen eingegeben haben, wird die Schaltfl├Ąche “Load Balancer erstellen” aktiviert und Sie k├Ânnen den Erstellungsprozess starten. Sternchen kennzeichnen Felder, die ausgef├╝llt werden m├╝ssen, um einen Load Balancer zu erstellen.

Screenshot des Men├╝s “Loadbalancer erstellen”

Name” und “IP-Adresse” sind die ersten beiden Informationen, die Sie eingeben m├╝ssen. W├Ąhlen Sie eine IP-Adresse aus Ihrem Subnetz. Wenn Sie dieses Feld leer lassen, wird eine IP-Adresse aus dem von Ihnen gew├Ąhlten Subnetz zugewiesen (sofern DHCP dort aktiv ist).

Beschreibung” ist optional, sollte aber verwendet werden, um Informationen ├╝ber das “Warum” und “Was” dieser speziellen Load-Balancer-Instanz zu speichern. Sie k├Ânnen keinen “Flavor” w├Ąhlen. Die pluscloud open verwendet hier das Amphora Flavor. Wie bereits erw├Ąhnt, m├╝ssen Sie ein “Subnet” ausw├Ąhlen, mit dem der Load Balancer verbunden werden soll. Mit “Admin State Up” kann man den Load-Balancer ausgeschaltet anlegen. Er muss auf “Admin State Up” geschaltet werden, um den Datenverkehr auszugleichen.

Das n├Ąchste Men├╝ “Listener Details” definiert den Listener f├╝r den neuen Load Balancer:

Bildschirmfoto des Listener-Men├╝s

Jeder einzelne Port des neuen Load Balancers, der Datenverkehr empfangen soll, wird separat konfiguriert und dem Load Balancer zugewiesen. Sie k├Ânnen mehrere Listener pro Load Balancer definieren, solange jeder einen anderen Port verwendet.

Protokoll” definiert das Protokoll, das auf dem “Port” erwartet werden soll. Sie k├Ânnen “TERMINATED_HTTPS” nur dann als Protokoll w├Ąhlen, wenn Sie den Schl├╝sselmanagerdienst (Barbican) aktiviert und konfiguriert haben. Die “Port"-Nummer sollte zwischen 1 und 65535 liegen.

Mit dem “Client Date Timeout” konfigurieren Sie, wie lange TCP-Verbindungen zu Clients aufrechterhalten werden d├╝rfen, wenn der Client inaktiv ist. “TCP Inspect Timeout” ist die Zeit in Millisekunden, die der Load Balancer auf zus├Ątzliche Inhalte wartet. Zeit├╝berschreitungen zu den Load-Balancer-Membern werden im Feld “Member Connect Timeout” konfiguriert. Im Feld “Connection Limit” k├Ânnen Sie die Anzahl der erlaubten Verbindungen auf den jeweiligen Listener begrenzen: “-1” bedeutet unbegrenzt. Wenn Sie HTTP-Header einf├╝gen m├Âchten, k├Ânnen Sie unter “Header einf├╝gen” eine oder beide der unterst├╝tzten Optionen ausw├Ąhlen.

Als n├Ąchsten Schritt m├╝ssen Sie die “Pool Details” f├╝r den neuen Load Balancer definieren. Ein “Pool” ist eine Gruppe von Member-Instanzen, die den Verkehr ├╝ber den Load Balancer erhalten sollen.

Screenshot des Pool-Details-Men├╝s

Zuerst definieren Sie den Load-Balancing-”Algorithmus":

* LEAST_CONNECTIONS: sendet die n├Ąchste Anfrage an die Instanz mit der geringsten Anzahl von Verbindungen im Pool
* ROUND_ROBIN: sendet Anfragen nach dem Zufallsprinzip an die n├Ąchste verf├╝gbare Instanz des Pools
* SOURCE_IP: sendet Anfragen von der gleichen Quell-IP-Adresse immer an die gleiche Instanz im Pool

Wenn Ihre Anwendung “Session Persistence” ben├Âtigt, k├Ânnen Sie die Methode hier ausw├Ąhlen:

* SOURCE_IP: Die Quell-IP-Adresse wird als Persistenzmerkmal verwendet
* HTTP_COOKIE: HTTP-Cookies, die von der Compute-Instanz im Pool gesetzt werden, werden als Persistenzmerkmal verwendet
* APP_COOKIE: Ihre Anwendung verwendet/erzeugt ein benutzerdefiniertes Cookie, das Sie in das Feld "**Cookie Name**" eintragen m├╝ssen.

Die “Pool Members” f├╝r den neuen Load-Balancer-Pool werden im n├Ąchsten Men├╝ definiert. Sie k├Ânnen aus den Instanzen in der Liste w├Ąhlen:

Screenshot aus dem Men├╝ “Pool Members”

Die Liste “Verf├╝gbare Instanzen” enth├Ąlt die f├╝r Ihren Pool in Frage kommenden Instanzen. Klicken Sie auf “Hinzuf├╝gen”, um sie dem Pool hinzuzuf├╝gen. Klicken Sie auf “Externe Member hinzuf├╝gen”, um Member hinzuzuf├╝gen, die nicht in der Liste angezeigt werden.

Die “IP-Adresse” ist die IP-Adresse der Netzwerkschnittstelle der Instanz, die den Verkehr vom Load Balancer empfangen soll. IPv4- und IPv6-Adressen sind erlaubt. Das “Subnetz” sollte das Subnetz sein, das die IP-Adresse des Members enth├Ąlt. Der “Port” sollte der TCP-Port sein, auf dem der Member den Verkehr vom Load Balancer empfangen soll. Das “Gewicht” definiert die relative Anzahl der Anfragen, die das jeweilige Member im Verh├Ąltnis zu den anderen Membern erhalten soll. Erlaubte Werte liegen zwischen 1 und 256. Wenn Sie auf den Pfeil klicken, k├Ânnen Sie noch weitere Pool-Details wie “├ťberwachungsadresse” und “├ťberwachungsport” definieren - wenn Sie eine ├ťberwachungsadresse definieren m├Âchten, die vom Dienst (IP-Adresse und Port) auf Ihrer Instanz getrennt ist. Lassen Sie sie unver├Ąndert, um die IP-Adresse und den Port des Members f├╝r die ├ťberwachung zu verwenden. Wenn Sie ein “Backup” oder Failover-Member in Ihrem neuen Pool definieren wollen, das nur verwendet wird, wenn alle anderen Member nicht erreichbar sind, klicken Sie hier auf “Ja”.

Der letzte Schritt ist das Men├╝ “Monitor Details”. Die ├ťberwachung dient dazu, den Zustand der Pool-Member zu ermitteln. Sogenannte “Health Checks” werden f├╝r alle Member des Pools durchgef├╝hrt und bestimmen, ob der gepr├╝fte Member Traffic vom Load Balancer erh├Ąlt. Schl├Ągt der Health Check fehl, erh├Ąlt der Member keinen Datenverkehr. Jeder Pool kann seinen eigenen Health Check haben, der f├╝r alle Member des Pools verwendet wird.

Screenshot des Monitor-Detail-Men├╝s

Sie k├Ânnen einen Monitor-"Typ" aus der Liste von HTTP, HTTPS, PING, TCP, TLS-HELLO, UDP-CONNECT und SCTP ausw├Ąhlen. Je nach Auswahl m├╝ssen Sie verschiedene Informationen eingeben. Die “Verz├Âgerung (sec)” bestimmt die Zeit zwischen den Health Checks. Sie sollte so gro├č wie “Timeout” oder gr├Â├čer sein. Mit “Max Retries” k├Ânnen Sie festlegen, wie oft der Load Balancer versuchen soll, den Health Check durchzuf├╝hren, bevor er den Status des Members auf inaktiv setzt (sollte eine Zahl zwischen 1 und 10 sein). “Max Retries Down” ist die Anzahl der erlaubten Verbindungsabbr├╝che, bevor der Pool-Member als “faulty” deklariert wird (wieder eine Zahl zwischen 1 und 10). Der “Timeout” beschreibt die Zeit, die ein Healtch Check maximal dauern darf, um als erfolgreich zu gelten (sollte eine Zahl gr├Â├čer oder gleich 0 und kleiner oder gleich “Delay (sec)” sein). Die “HTTP-Methode” kann eine der erlaubten HTTP-Methoden sein (wie GET, HEAD, etc.) und “Erwartete Codes” sollte ein HTTP-Code (oder eine Liste dieser) sein, der bei einer erfolgreichen ├ťberpr├╝fung zur├╝ckgegeben wird. Unter “URL Path” kann ein benutzerdefinierter Pfad f├╝r Ihre Health Checks angegeben werden. Denken Sie daran, dass dieser vom Monitor alle “Verz├Âgerung (Sek)” abgefragt wird. Wenn alle erforderlichen Informationen in die Formulare eingegeben wurden, kann der Load Balancer erstellt werden. Wenn Sie m├Âchten, dass der Load Balancer vom ├Âffentlichen Internet aus erreichbar ist, m├╝ssen Sie ihm eine Floating IP-Adresse zuweisen.

Floating IPs

├ťber das Men├╝ “Floating IPs” k├Ânnen Sie ├Âffentliche IP-Adressen in Ihrem Projekt auflisten und verwalten. Freie IP-Adressen m├╝ssen zugewiesen werden, bevor sie mit einem Dienst verkn├╝pft werden k├Ânnen. Sie k├Ânnen auch von einem Dienst getrennt werden, damit dieser nicht mehr aus dem Internet erreichbar ist.

Screenshot des Men├╝s “Floating IP zuweisen”

Sie k├Ânnen Floating-IP-Adressen mit Instanzen und Load Balancern verkn├╝pfen. Achten Sie auf die Dienste, die aus dem Internet erreichbar sein sollen und konfigurieren Sie Ihre Sicherheitsgruppen entsprechend. Floating-IP-Adressen werden abgerechnet und in Rechnung gestellt, solange sie reserviert sind - unabh├Ąngig davon, ob sie einem Dienst zugeordnet sind oder nicht.

Zuletzt ge├Ąndert 19.03.2024: m feedback (3dfe3d4)