Routing Präferenzen in Microsoft Azure

Mit der Routing Präferenz einer öffentlichen IP-Adresse kann angegeben werden über welche Art und weise ein Paket die Azure-Umgebung ins Internet verlässt.

Dabei unterscheidet man zwischen folgenden Optionen:

 

  • Internet Routing
  • Microsoft Netzwerk Routing

 

Die Option zur Auswahl der Routing Methode hat man beispielsweise beim Erstellen einer öffentlichen IP-Adresse. Dieses Attribut kann nicht mehr angepasst oder geändert werden, sobald das Objekt erstellt ist.

Im Folgenden erkläre ich den Unterschied zwischen den beiden Routing-Methoden, und was es bei der Auswahl zu beachten gibt. Denn beispielsweise macht auch es einen preislichen Unterschied, welche Variante man wählt.

Internet Routing

Bei der Option „Internet Routing“ wird definiert, dass ein Paket beim Verlassen der Microsoft Azure Umgebung direkt das globale Microsoft Netzwerk verlässt und im öffentlichen Internet weiter geroutet wird. Umgekehrt wird das Paket eingehend so lange im öffentlichen ISP-Internet geroutet bis in die Ziel-Azure-Region.

Bei eingehendem Verkehr wird demnach eine beispielhafte Anfrage von Frankfurt in Richtung Azure West Europe (also Amsterdam) gesendet. Das Paket aus Frankfurt wird dann über das öffentliche Internet der Internet Service Provider geroutet, bis es in Amsterdam dann in das globale Microsoft Netzwerk eindringt und dort der Zielressource zugestellt wird.

 

Bei ausgehendem Verkehr ist es so, dass die Pakete direkt das Microsoft Netzwerk verlassen und das öffentliche Internet der ISPs betritt. In diesem wird es dann bis zum Zeil in Frankfurt geroutet.

 

Bei der Internet Routing Präferenz wird demnach alles was aus dem Internet kommt und aus Azure ins Internet möchte direkt im öffentlichen Internet geroutet.

Microsoft Netzwerk Routing

Bei der Option „Microsoft Netzwerk Routing“ wird festgelegt, dass Pakete, die ins Internet Kommunizieren bzw. aus dem Internet in Richtung Azure-Ressourcen Kommunizieren, über den schnellsten Weg in das globale Microsoft Netzwerk gelangen um dort weiter geroutet zu werden.

Bei eingehendem Verkehr wird ein Beispielpaket, welches aus Frankfurt kommt und nach Amsterdam möchte also direkt in Germany West Central in das Azure Netzwerk geleitet und dort auf direktem Weg in die Zielregion West Europe geroutet. Somit wird das Paket über das globale Microsoft Netzwerk geleitet, bis es am nächsten Azure Endpunkt in der nächsten Nähe des Ziels ankommt.

 

Bei ausgehendem Verkehr verhält es sich genauso. Pakete, die Azure verlassen wollen Richtung Internet werden so lange im Microsoft Netzwerk geroutet, bis es in der Nähe des Ziels dann das Microsoft Netzwerk verlässt und zum Ziel geleitet wird. 

 

Hier ein kleiner Einblick in das globale Microsoft Azure Netzwerk: Azure global infrastructure experience (microsoft.com)

Überlegungen zur Auswahl der richtigen Option

Am ende ist nicht die öffentliche IP-Adresse in Azure das teure sondern der Traffic. Denn je nachdem ob beispielsweise ausgehender Datenverkehr aus Azure direkt ins öffentliche Internet geleitet wird oder erst noch über das globale Azure Netzwerk kostet letzteres entsprechend mehr geld.

Zur Veranschaulichung habe ich im Azure Preisrechner mal einen kleinen vergleich aufgestellt. Dabei habe ich eine Öffentliche, statische IP-Adresse hinzugefügt und zudem eine kleine Linux VM, die beispielsweise eine virtuelle Sophos Firewall sein könnte. Der wesentliche Punkt bei dieser VM ist der Punkt „Bandbreite“.

Angenommen diese VM wäre wirklich eine virtuelle Firewall wäre der ausgehende Datenverkehr entsprechend hoch, da sämtlicher Internetvergeht ja über diese VM ins Internet weitergeleitet würde. Diese VM ist also für andere Azure VMs das Gateway.

Bei 200 GB monatlicher Datenübertragung ins Internet über Internet Routing, würden die Kosten nur dafür bei 7,29€/Monat liegen.

Die gleichen 200 GB würden mit Microsoft Routing 7,92€/Monat kosten.

Die Differenz bei 200 GB ausgehendem Datenverkehr liegt also bei ~30 ct.

Somit gibt es einen preislichen Unterschied.

Zum anderen gibt es Endpunkte, die mit dem Internet Routing nicht klar kommen. Als Beispiel hatte ich vor nicht all zu langer Zeit folgendes Problem im einer Azure-Umgebung.
Hier wurde eine virtuelle Sophos Firewall Appliance in Azure bereitgestellt mit einer öffentlichen IP-Adresse auf dem WAN-Interface. Diese public IP wurde mit der Routing Präferenz „Internet Routing“ erstellt. Die Azure Region war hierbei West Europe (also Amsterdam). Der Azure Kunde selbst hatte einen Standort im Westen Deutschlands und eine IPsec Site2Site Verbindung zwischen einer lokalen Firewall und der Virtuellen Sophos Firewall in Azure. Beim Pingen der öffentlichen IP-Adresse in Azure (auf dem WAN-Interface der virtuellen Sophos) kam es nun zu unregelmäßigen Paketverlusten. Nachweislich kamen alle Pakete auf der Sophos in Azure an und wurden auch beantwortet. Allerdings kamen die beantworteten Pakete aus Azure bei den Paketverlusten nie zurück bei dem Kunden lokal an.

Nach ewiger Suche fiel dann auf, dass die Routing-Präferenz der öffentlichen IP-Adresse auf „Internet-Routing“ stand. Also kam die Vermutung auf, dass manche Antwort Pakete aus Azure aufgrund der enorm vielen Hops (aus West Europe / Amsterdam) nach Deutschland schlicht verloren gehen.

Nach einigen Tests mit einer neuen public IP (Routing Präferenz = Microsoft Netzwerk) wurde dann festgestellt, dass tatsächlich die Routing Präferenz das Problem war. Nach dem Wechsel der IP-Adresse auf eine mit der Routing Präferenz „Microsoft Netzwerk“ habe es 0% Packet loss.

Denn Routing in Azure ist und bleibt sehr „interessant“…

 

chaos GIF

0 Kommentare
Inline Feedbacks
View all comments