Το AWS Global Accelerator εκτελεί άμεση αποτυχία μέσω της συνεχούς παρακολούθησης της υγείας και της έξυπνης δρομολόγησης της κυκλοφορίας για τη διατήρηση της υψηλής διαθεσιμότητας και της χαμηλής καθυστέρησης για εφαρμογές που αναπτύσσονται σε πολλαπλές περιοχές AWS ή τελικά σημεία.
Βασικές πτυχές του τρόπου με τον οποίο λειτουργεί το Instant Failover σε παγκόσμιο επιταχυντή:
- Έλεγχοι υγείας: Ο Global Accelerator παρακολουθεί συνεχώς την υγεία όλων των διαμορφωμένων τελικών σημείων εφαρμογής χρησιμοποιώντας ελέγχους υγείας TCP, HTTP ή HTTPS. Εάν ένα τελικό σημείο γίνει ανθυγιεινό, επισημαίνεται αμέσως ως τέτοιο [3] [5].
- Σταθερή ανακατεύθυνση της κυκλοφορίας: Κατά την ανίχνευση ενός ανθυγιεινού τελικού σημείου, ο παγκόσμιος επιταχυντής σταματά άμεσα τη δρομολόγηση νέων συνδέσεων με αυτό το τελικό σημείο και ανακατευθύνει την κυκλοφορία στο επόμενο καλύτερο υγιές τελικό σημείο, το οποίο θα μπορούσε να βρίσκεται στην ίδια ή σε διαφορετική περιοχή. Αυτή η αποτυχία συμβαίνει μέσα σε περίπου 30 δευτερόλεπτα από την ανίχνευση της αποτυχίας [2] [9].
- Λογική δρομολόγησης: Η εξυπηρέτηση δρομολογεί την επισκεψιμότητα του πελάτη στο πλησιέστερο υγιές τελικό σημείο με βάση την καθυστέρηση του δικτύου και την υγεία του τελικού σημείου. Εάν κανένα υγιές τελικό σημείο με θετικό βάρος κυκλοφορίας είναι διαθέσιμο, ο Global Accelerator θα δρομολογήσει την κυκλοφορία σε ένα τυχαίο τελικό σημείο στην πλησιέστερη ομάδα τελικού σημείου στον πελάτη, αποτελεσματικά * αποτυγχάνοντας ανοιχτό * για να διατηρήσει τη συνδεσιμότητα [2].
- Χειρισμός σύνδεσης: Ο Global Accelerator τερματίζει τις συνδέσεις TCP πελάτη σε θέσεις AWS Edge και δημιουργεί νέες συνδέσεις TCP σε υγιή τελικά σημεία σχεδόν ταυτόχρονα. Ωστόσο, οι υπάρχουσες ενεργές συνδέσεις σε ένα ανθυγιεινό τελικό σημείο δεν σπάζουν αμέσως. Συνεχίζουν μέχρι να κλείσουν ή να χρονομετρηθούν, μετά την οποία οι νέες συνδέσεις δρομολογούνται σε υγιή τελικά σημεία [2] [3].
- Επισήμανση και βάρη: Μπορείτε να διαμορφώσετε τα βάρη της κυκλοφορίας και τους πίνακες κυκλοφορίας σε ομάδες τελικού σημείου για να ελέγξετε τη διανομή της κυκλοφορίας. Η αποτυχία σέβεται αυτές τις ρυθμίσεις, προσπαθώντας να δρομολογήσει την κυκλοφορία μακριά από τα τελικά σημεία μηδενικού βάρους. Εάν όλα τα υγιή τελικά σημεία έχουν μηδενικό βάρος, ο μηχανισμός αποτυχίας καταφεύγει στη δρομολόγηση στην πλησιέστερη ομάδα τελικού σημείου ανεξάρτητα από το βάρος [2].
-Παγκόσμια σπονδυλική στήλη: Με τη δρομολόγηση της κυκλοφορίας μέσω του παγκόσμιου δικτύου AWS, το Global Accelerator εξασφαλίζει διαδρομές χαμηλής καθυστέρησης και χωρίς συμφόρηση, οι οποίες ενισχύουν την ταχύτητα και την αξιοπιστία της αποτυχίας [2].
- Στατικές διευθύνσεις IP: Το Global Accelerator παρέχει δύο στατικές διευθύνσεις IPv4 που χρησιμεύουν ως σταθερά σημεία εισόδου για την κυκλοφορία πελατών. Αυτές οι IP παραμένουν σταθερές ακόμη και όταν εμφανίζεται η αποτυχία, εξαλείφοντας τις καθυστερήσεις προσωρινής αποθήκευσης DNS και επιτρέποντας σχεδόν σε σταθερές αποτυχίες χωρίς αλλαγές στην πλευρά του πελάτη [4] [7].
- Ταχύτητα αποτυχίας: Αν και το εμπόριο ως "στιγμιαία", η αποτυχία συνήθως ολοκληρώνεται σε λιγότερο από ένα λεπτό, με περίπου 30 δευτερόλεπτα που απαιτούνται για την ανίχνευση και ανακατεύθυνση νέων συνδέσεων με υγιή τελικά σημεία. Αυτό είναι ταχύτερο από τους μηχανισμούς αποτυχίας που βασίζονται σε DNS, οι οποίοι μπορούν να επιβραδυνθούν από την προσωρινή αποθήκευση DNS [9].
Συνοπτικά, ο AWS Global Accelerator επιτυγχάνει άμεση αποτυχία με τη συνεχή παρακολούθηση της υγείας του τελικού σημείου, τη δυναμική δρομολόγηση νέων συνδέσεων πελατών με τα πλησιέστερα υγιή τελικά σημεία μέσω στατικών διευθύνσεων IP και αξιοποιώντας το παγκόσμιο δίκτυο AWS για βέλτιστη απόδοση. Αυτός ο σχεδιασμός ελαχιστοποιεί το χρόνο διακοπής και παρέχει απρόσκοπτη αποτυχία σε περιοχές ή ζώνες διαθεσιμότητας χωρίς να απαιτείται ενημερώσεις DNS από την πλευρά του πελάτη ή χειροκίνητη παρέμβαση [2] [3] [5] [7] [9].
Αναφορές:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.unhealthy-endpoints.html
[2] https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html
[3] https://tutorialsdojo.com/aws-global-accelerator/
[4] https://aws.amazon.com/blogs/networking-and-content-delivery/maximising-application-resiliency-with-aws-global-accelerator/
[5] https://cloudvisor.co/aws-guides/aws-global-accelerator/
[6] https://aws.amazon.com/blogs/networking-and-content-delivery/creating-disaster-recovery-mechanisms-using-amazon-route-53/
[7] https://aws.amazon.com/global-accelerator/features/
[8] https://stackoverflow.com/questions/62638339/how-to-improve-failover-peed-for-aws-global-ccelerator-r-route53-latency-rout
[9] https://aws.amazon.com/global-accelerator/faqs/