DNS-Check mit Anycast leichtgemacht

DNS-Check mit Anycast leichtgemachtAnycast beschreibt ein Adressierungsschema in Netzwerken. Mit Anycast können eine große Anzahl Server global verteilt die gleiche IP-Adresse besitzen.
Dies ermöglicht eine Reduzierung der Antwortzeiten für Anfragen aus dem Internet, da idealerweise der geografisch nächstgelegene Server angesprochen wird.

Um nun Anycast zu ermöglichen, ist es wichtig, dass die Anycast IP-Adresse an dem jeweiligen Standort nur verwendet wird, wenn der zugrunde liegende Service auch verfügbar ist.

Sollte dem nicht so sein, würde der Traffic zwar in Richtung des Servers fließen aber nicht beantwortet werden, dass würde einen – wenn auch regional begrenzten – Ausfall bedeuten.

Image

Whitepaper zu SLA downloaden

Belastbare Service-Level-Agreements also SLAs bilden die Grundlage für performante IT-Services. Wieso das so ist erfahren Sie in unserem Whitepaper von ADACOR CEO Thomas Wittbecker. Jetzt direkt downloaden!

Hier kommt nun ExaBGP zum Einsatz.

Durch einbaubare Checkscripte wird sichergestellt, dass die Anycast IP-Adresse des Service Hosts nur zum Router propagiert wird, wenn der Service auch verfügbar ist. Sollte dem nicht so sein, gibt es im internen Routerverbund Netzwerkpfade, die weiterhin sicherstellen, dass die Anfrage beantwortet wird. In diesem Fall erhöht sich jedoch die Latenz.

Code-Beispiel für einen DNS check

#!/usr/bin/env bash

STATE="down"

while true; do

  DIG_STATE=$(dig adacor.com @ns1.adacor.net 2> /dev/null | grep
195.137.170.149 | awk '{print $5}')

  if [[ $DIG_STATE == '195.137.170.149' ]]; then

    if [[ "$STATE" != "up" ]]; then

    echo $STATE

     echo "announce route 198.51.100.11 next-hop 192.0.2.11"

      STATE="up"

    fi

  else

    if [[ "$STATE" != "down" ]]; then

        echo $STATE

      echo "withdraw route 198.51.100.11 next-hop 192.0.2.11"

      STATE="down"

    fi

  fi

  sleep 2

done

Mithilfe dieses kleinen Bash Scriptes (exabgp kann auch perl, python …) wird geprüft, ob der auf diesem Server laufende DNS Daemon die richtige IP an diesem STandort terminiert.

Wenn dem so ist, wird via BGP die IP Adresse 198.51.100.11 an die Router dieses Standortes propagiert. Damit ist sichergestellt, dass der gesamte Traffic für diese IP an diesem Standort terminiert.

Sollte das Bash Script nicht den Wert „195.137.170.149“ aus der DNS-Abfrage lesen können, wird die Route verworfen und der Traffic wird innerhalb des Provider-Netzwerks an einen anderen Standort weitergeleitet.

, , ,


Weitere Artikel zum Thema lesen

Digi3 relaunched Website von Open Grid Europe mit Apache Solr

Hosting

Digi3 relaunched Website von Open Grid Europe mit Apache Solr

Erfahrungsbericht: Relaunch der Website von Open Grid Europe mit Apache Solr.

weiter lesen

Entwicklungsgeschichte der Netzwerk-Infrastruktur von Google

IT-News

Entwicklungsgeschichte der Netzwerk-Infrastruktur von Google

Rückschau auf fünf Generationen Netzwerk-Infrastrukturen.

weiter lesen

Die Krux mit den Sonderzeichen – OpenStack und die Zeichenkodierungen

IT-News

Die Krux mit den Sonderzeichen – OpenStack und die Zeichenkodierungen

Umlaute und das nur in der deutschen Sprache vorkommene ß-Zeichen sorgen in der IT immer wieder für Probleme. Daher ist die Frage wichtig, welcher...

weiter lesen


Neueste Nachrichten von Adacor

Cloud Integration

Cloud

Beschleunigte Digitalisierung durch Cloud Computing

Ohne Prozessveränderungen kein Fortschritt bei der Digitalisierung. Doch Erfolgsfaktoren für eine erfolgreiche Cloud-Integration lassen sich benennen.

weiter lesen

Definition DevOps

Cloud

DevOps: Automatisieren anstelle von Reparieren

DevOps erforden ein Umdenken bei der Adminstration. OpenStack oder OpenNebula – womit gelingt die schnellere Umsetzung von Webservices?

weiter lesen

Mit SSL sicher verschlüsselt

IT Security, IT-News

SSL-Zertifikate mit dreijähriger Laufzeit am Ende

Erste Anbieter haben dreijährige Zertifikate bereits aus dem Programm genommen. Welche Auswirkungen hat dies auf den Bezug und die Erneuerung von SSL-Zertifikaten?

weiter lesen

Diese Website verwendet Cookies. Mit der weiteren Nutzung der Website stimmen Sie unserer Datenschutzerklärung zu.
Für weitere Informationen klicken Sie bitte hier.