Konzept-Guide

Cloud-Networking

Wenn du einen Server in der Cloud startest, steht er in einem virtuellen Netzwerk, das die Cloud für dich baut. Die Adressen dieses Netzwerks festlegen, Wege anlegen, die Türen bewachen, den Verkehr auf mehrere Server verteilen und es mit anderen Netzwerken verbinden – viel mehr ist Cloud-Networking eigentlich nicht. Jeder Cloud-Anbieter benennt die Dinge anders und regelt manche Details anders, aber das Grundgerüst ist dasselbe. Wir schauen uns zuerst das Grundgerüst an und dann Kapitel für Kapitel, was bei den einzelnen Anbietern anders ist.

Du siehst die Anleitung für Google Cloud. Jedes Kapitel zeigt zusätzlich die Dienstnamen von Google Cloud und die Unterschiede zu anderen Anbietern.

01

Dein eigenes Netzwerk in der Cloud: virtuelle Netzwerke und IP-Adressbereiche

In einem Cloud-Rechenzentrum laufen die Server unzähliger Kunden nebeneinander. Trotzdem sollen deine Server nur miteinander reden und von allen anderen getrennt bleiben. Deshalb gibt die Cloud jedem Kunden ein logisch isoliertes Netzwerk, ein virtuelles Netzwerk. Kabel und Switches teilen sich alle, aber Adressen, Routen und Regeln gehören nur dir.

Als Erstes legst du beim Anlegen eines virtuellen Netzwerks fest, welche IP-Adressen es nutzen soll (seinen Adressbereich). Meist wählst du ihn aus den privaten Adressbereichen, die dafür reserviert sind, dass sie im öffentlichen Internet nie vorkommen. Jede Firma und jeder Haushalt darf diese privaten Adressen wiederverwenden – genau deshalb kommen sie nicht von selbst ins Internet (wie sie hinauskommen, zeigt Kapitel 3).

Privater Bereich (RFC 1918)Anzahl AdressenTypische Nutzung
10.0.0.0/8Etwa 16,77 MillionenVirtuelle Netzwerke in der Cloud, große Firmennetze
172.16.0.0/12Etwa 1,05 MillionenFirmennetze, Standardnetzwerke für Container
192.168.0.0/1665.536Router zu Hause, kleine Büros

CIDR: die Zahl nach dem Schrägstrich lesen

Eine IPv4-Adresse ist 32 Bit lang. 10.0.0.0/16 bedeutet: „Die ersten 16 Bit (10.0) sind fest, die restlichen 16 Bit darf dieses Netzwerk nutzen.“ Das ergibt 2^16 = 65.536 Adressen. Je größer die Zahl nach dem /, desto mehr Bits sind fest und desto kleiner ist der Bereich. Diese Schreibweise heißt CIDR, und der Bereich, den sie beschreibt, ist ein CIDR-Block. Ändere in der Szene unten die Subnetzgröße.

Subnetzgröße
/24 · 256 Adressen
Wie viele passen
256
Für Server nutzbar
252 (4 reserviert)

Den Bereich 10.0.0.0/16 (das Grundstück) in gleich große Subnetze (Parzellen) teilen · hellgrüne Parzelle = erstes Subnetz

Ein VPC-Netzwerk in Google Cloud hat keinen eigenen IP-Bereich – jedes Subnetz bekommt seinen eigenen. Sieh die Szene als Plan, der 10.0.0.0/16 an die Subnetze verteilt. /24 heißt: Die ersten 24 Bits sind das Netzwerk, die übrigen 8 Bits sind für Adressen. Ein Subnetz hat 2^8 = 256 Adressen. Jedes Subnetz reserviert 4, für Server bleiben also 252 Adressen. Steigt die Zahl nach dem / um 1, werden die Parzellen halb so groß, und es gibt doppelt so viele.

PräfixAnzahl AdressenWie viele in ein /16 passen
/1665.5361
/204.09616
/24256256
/28164.096

Den Bereich des virtuellen Netzwerks teilst du dann in Subnetze auf. Ein Subnetz ist ein Abschnitt, in dem du Server mit derselben Rolle zusammenfasst – etwa eine Webschicht, die zum Internet zeigt, und eine Datenbankschicht, die du versteckst. Jedes Subnetz kann eigene Routen (Kapitel 2) und Firewallregeln (Kapitel 4) bekommen.

Nicht jede Adresse im Subnetz gehört dir

In jedem Subnetz hält die Cloud ein paar Adressen für sich zurück: die erste Adresse (die Netzwerkadresse), das Gateway, über das es aus dem Subnetz hinausgeht, DNS und so weiter. Wie viele, hängt vom Cloud-Anbieter ab. Selbst ein /24-Subnetz bietet deinen Servern also etwas weniger als 256 Adressen.

Eine klassische Prüfungsrechnung: „Wie viele Server passen in dieses Subnetz?“ ist 2^(32 − Präfix) − reservierte Adressen. Wie viele Adressen reserviert sind, unterscheidet sich je nach Anbieter – nimm also den Wert des Anbieters aus der Frage.

Von Anfang an großzügig planen – und ohne Überschneidungen

Adressbereiche lassen sich nach dem Anlegen nur schwer ändern. Plan mit ein, dass Server und Dienste mehr werden, wähl einen großzügigen Bereich und achte darauf, dass er sich nicht mit deinem Firmennetz oder deinen anderen virtuellen Netzwerken überschneidet. Hier stolpern viele: Nutzt dein Büronetz 192.168.0.0/16 und dein Cloud-Netzwerk denselben Bereich, kann später beim Verbinden niemand sagen, welche 192.168.1.10 gemeint ist – die Verbindung funktioniert dann schlicht nicht (Kapitel 7).

Steht in der Frage … → wähle das

  • “Wie viele /24-Subnetze in ein 10.0.0.0/16-Netzwerk passen”256
  • “Nutzbare Adressen für Server in einem /28-Subnetz”16 minus die reservierten Adressen dieses Anbieters
  • “Du willst später das Firmennetz anbinden”Einen Bereich planen, der sich nicht damit überschneidet
  • “Adressbereiche, die im Internet nicht vorkommen”Private Bereiche (10/8, 172.16/12, 192.168/16)
  • “Für jedes Subnetz andere Zugriffsregeln”Subnetze nach Rolle (Schicht) aufteilen

Du hast deinen Bereich in Subnetze geteilt. Aber woher weiß ein Paket, das ein Server im Subnetz losschickt, wohin es gehen soll?

02

Subnetze und Routing: was ein Subnetz öffentlich oder privat macht

Schickt ein Server ein Paket los, entscheidet die Routingtabelle, die seinem Subnetz zugeordnet ist, wohin es geht. Eine Routingtabelle ist eine Liste von Zeilen nach dem Muster „Pakete für diesen Bereich gehen durch jene Tür hinaus“. Jedes virtuelle Netzwerk hat von Anfang an eine eingebaute lokale Route, die sagt: „Adressen im Netzwerk werden im Netzwerk zugestellt.“ Deshalb reden Subnetze ohne weitere Einrichtung miteinander.

Ziel             Nächster Hop (wohin damit)
10.0.0.0/16      Im Netzwerk (lokal)
172.16.0.0/12    VPN-Verbindung → Firmennetz
0.0.0.0/0        Internet-Gateway

Die Routingtabelle sucht die Zeile, zu der die Zieladresse des Pakets passt, und schickt es an den nächsten Hop dieser Zeile. Angenommen, ein Webserver schickt ein Paket an einen Datenbankserver im selben Netzwerk (10.0.2.15). 10.0.2.15 liegt in 10.0.0.0/16, passt also zur ersten Zeile. 0.0.0.0/0 bedeutet aber „jede Adresse“ – also passt auch die letzte Zeile.

Passen mehrere Zeilen, gewinnt die spezifischste – die mit der größeren Zahl nach dem /. Das nennt man Longest Prefix Match (Übereinstimmung mit dem längsten Präfix). Ein /16 ist spezifischer als ein /0, also wird dieses Paket im Netzwerk zugestellt. Eine Website im Internet (203.0.113.10) passt dagegen nicht zu den ersten beiden Zeilen. Sie passt nur zu 0.0.0.0/0 und geht deshalb ans Internet-Gateway. Darum heißt 0.0.0.0/0 die Standardroute: Dort landet jede Adresse, zu der sonst nichts passt. Ändere in der Szene unten das Ziel und die Art des Subnetzes.

Ziel
Quellserver
Von
VM mit externer IP
Ziel
Website im Internet (203.0.113.10)
Ergebnis
default-internet-gateway

Ein Paket vom Server wählt am Wegweiser (Routen des VPC-Netzwerks (alle VMs)) seinen Weg · hellgrüne Zeile = Gewinner, blaue Schrift = passt, verliert aber

Zu 203.0.113.10 passt nur 0.0.0.0/0, also geht das Paket Richtung default-internet-gateway hinaus. Unterwegs erscheint als Quelladresse die öffentliche IP 198.51.100.20, nicht die private IP 10.0.1.20 des Servers – private IPs lassen sich im Internet nicht verwenden.

Öffentliche und private Subnetze

Ein Subnetz mit einer Route Richtung Internet (0.0.0.0/0 → Internet) heißt öffentliches Subnetz, eines ohne diese Route privates Subnetz. Hier stolpern viele: Es entscheidet die Route, nicht der Name, den du dem Subnetz gegeben hast. Und selbst im öffentlichen Subnetz braucht ein Server eine öffentliche IP, um direkt mit dem Internet zu reden. Ein Server, der nur eine private IP hat, ist aus dem Internet nicht erreichbar, auch wenn er in einem öffentlichen Subnetz steht.

Ein typischer Webdienst ist so aufgeteilt.

SchichtWo sie hinkommtWarum
Load BalancerÖffentliches SubnetzMuss Anfragen aus dem Internet annehmen
Web- / App-ServerPrivates SubnetzBekommen Anfragen nur über den Load Balancer
DatenbankPrivates SubnetzAußer den App-Servern hat niemand einen Grund, sie zu erreichen
Die Antwort auf „Ist dieses Subnetz öffentlich?“ steht in der Routingtabelle, nicht im Namen des Subnetzes. Heißt es in einer Frage, ein Server komme nicht ins Internet, verdächtige der Reihe nach die Route, die öffentliche IP und die Firewall (Kapitel 4).

Steht in der Frage … → wähle das

  • “Server eines Subnetzes sollen aus dem Internet nicht direkt erreichbar sein”Privates Subnetz (keine Internetroute)
  • “Zwei Routen passen zum selben Ziel”Die spezifischere Route (längeres Präfix) gewinnt
  • “Subnetze im selben Netzwerk reden miteinander”Die eingebaute lokale Route – nichts einzurichten
  • “Die Datenbank soll aus dem Internet unerreichbar sein”In ein privates Subnetz legen
  • “Öffentliches Subnetz, aber der Server ist aus dem Internet nicht erreichbar”Prüfen, ob der Server eine öffentliche IP hat

Deine Datenbank und deine App-Server stecken jetzt in privaten Subnetzen. Sicherheitsupdates brauchen sie aber trotzdem, und an den Speicherdienst der Cloud müssen sie auch. Wie kommen sie ohne Internetroute hinaus?

Anzeige

03

Raus aus dem privaten Subnetz: NAT und private Endpunkte

NAT (Network Address Translation, Netzwerkadressübersetzung) handelt im Auftrag deiner privaten Server. Schickt ein Server ein Paket ins Internet, ersetzt NAT die Quelladresse des Pakets durch seine eigene öffentliche IP und schickt es hinaus. Kommt die Antwort zurück, weiß NAT noch, wer gefragt hat, und reicht die Antwort an den richtigen Server weiter.

Situation
Situation
Server → Internet (Updates holen)

Wie der App-Server im privaten Subnetz mit draußen spricht · hellgrün = ausgehende Pakete, blau = zurückkommende Pakete

Ein Server im privaten Subnetz hat keine öffentliche IP und kommt allein nicht ins Internet. NAT ersetzt die Quelladresse durch seine eigene öffentliche IP, schickt das Paket hinaus, merkt sich, wer gefragt hat, und gibt die Antwort genau diesem Server zurück. Cloud NAT ist kein Gerät in einem Subnetz, sondern eine regionale Konfiguration, die auf einem Cloud Router aufsetzt.

Entscheidend ist die Richtung. NAT kümmert sich nur um Verbindungen, die von innen beginnen. Eine Verbindung, die draußen beginnt, wird verworfen, weil NAT keine Ahnung hat, für welchen Server sie gedacht ist. Steht in einer Frage also „Die Server müssen Updates bekommen, dürfen aber aus dem Internet nicht erreichbar sein“, lautet die Antwort NAT. Musst du dagegen Anfragen aus dem Internet annehmen, brauchst du einen Load Balancer (Kapitel 5) oder eine öffentliche IP am Server.

Meist nutzt du NAT als Dienst, den die Cloud für dich verwaltet. Du kannst auch einen eigenen Server zur NAT-Instance machen, aber fällt er aus, verliert das ganze private Subnetz seinen Weg nach draußen – Hochverfügbarkeit und Pflege liegen dann bei dir. Wo ein verwaltetes NAT sitzt (in einer einzelnen Zone oder in der ganzen Region), hängt vom Anbieter ab.

Cloud-Dienste ohne Internet erreichen: private Endpunkte

Verwaltete Cloud-Dienste wie Speicher, Warteschlangen oder Schlüsselverwaltung haben meist öffentliche, zum Internet zeigende Adressen. Ruft ein privater Server sie einfach auf, geht der Verkehr über NAT ins Internet und wieder herein. Mit einem privaten Endpunkt bleibt dieser Weg in deinem Netzwerk. Es gibt zwei Arten.

ArtSo funktioniert esGut zu wissen
RoutenbasiertDu trägst eine Route „Bereich des Dienstes → Endpunkt“ in die Routingtabelle einDu nutzt weiter die öffentliche Adresse des Dienstes. Nur wenige Dienste unterstützen das, oft kostenlos
SchnittstellenbasiertIn deinem Subnetz wird eine private IP für den Dienst angelegtDu rufst ihn über die private IP auf. Klappt auch aus einem Firmennetz, das per VPN oder dedizierter Verbindung angebunden ist. Abrechnung pro Stunde und nach Datenmenge
NAT ist für „irgendwohin ins Internet“, ein privater Endpunkt für „einen bestimmten Cloud-Dienst ohne Internet erreichen“. Schiebst du viele Daten in einen Speicher derselben Region und ist die NAT-Rechnung hoch, ist die richtige Antwort ein privater Endpunkt, der diesen Verkehr vom NAT wegnimmt.

Steht in der Frage … → wähle das

  • “Private Server bekommen Patches, bleiben aber aus dem Internet unerreichbar”NAT
  • “Den Speicherdienst nutzen, ohne übers Internet zu gehen”Privater Endpunkt
  • “Große Übertragungen zum Speicher derselben Cloud machen NAT teuer”Privater Endpunkt für den Speicher
  • “Einen Cloud-Dienst aus dem Firmennetz über private IP aufrufen”Schnittstellen-Endpunkt
  • “Private Server müssen Anfragen aus dem Internet annehmen”Ein Load Balancer, nicht NAT

Jetzt wissen die Pakete, wohin sie sollen. Aber nur weil es eine Straße gibt, lässt du nicht jeden darauf fahren. Du brauchst einen Torwächter, der entscheidet, welche Pakete hineindürfen und welche blockiert werden.

Nur mit Pro

Bis hierhin ist der Guide kostenlos

Die übrigen 5 Kapitel sind für Pro-Abonnenten freigeschaltet. Jedes bringt weitere 3D-Grafiken und „Steht in der Frage …“-Hinweise, und im letzten Kapitel prüfst du dein Wissen selbst.

  1. 04Zwei Schichten Firewalls (zustandsbehaftet und zustandslos)
  2. 05Load Balancer und Health Checks
  3. 06DNS und Edge (CDN und WAF)
  4. 07Netzwerke verbinden (Peering, VPN und dedizierte Verbindungen)
  5. 08Wenn keine Verbindung zustande kommt