Πώς να φορτώσετε τον ιστότοπο Balance μεταξύ GCP και AWS χρησιμοποιώντας το Cloudflare;

Μάθετε πώς μπορείτε να χρησιμοποιήσετε το Cloudflare load balancer (LB) για τη διανομή της κυκλοφορίας μεταξύ AWS (Amazon Web Services) και GCP (Google Cloud Platform).

Οι περισσότερες εφαρμογές Ιστού απαιτούν ή πραγματοποιούν ισορροπία φόρτωσης μεταξύ διακομιστών/υπηρεσιών στο ίδιο κέντρο δεδομένων.

Ωστόσο, εάν εκτελείτε εφαρμογές κρίσιμες για την αποστολή όπου απαιτείται συνεχής χρόνος λειτουργίας σε όλο τον κόσμο, τότε χρειάζεστε έναν εξισορροπητή φορτίου cloud.

Όχι μόνο ο χρόνος λειτουργίας αλλά μπορεί να είναι πολλοί άλλοι παράγοντες.

Πρώην:

  • Απαίτηση ενεργού-παθητικού ή ενεργού-ενεργού κέντρου δεδομένων
  • Σχέδιο αποκατάστασης καταστροφών
  • Αξιοποιώντας πολλαπλά κέντρα δεδομένων για την εξυπηρέτηση αιτημάτων από την πλησιέστερη τοποθεσία
  • Συμμόρφωση

Cloudflare προσφέρει τοπικές και παγκόσμιες επιλογές εξισορρόπησης φορτίου, οι οποίες βοηθούν στη δρομολόγηση της κυκλοφορίας σε πολλά κέντρα δεδομένων.

Μερικές από τις δυνατότητες του Cloudflare LB είναι:

  • Οι έλεγχοι υγείας είναι ενσωματωμένοι, ώστε να μπορείτε να καταργήσετε γρήγορα έναν ελαττωματικό διακομιστή.
  • Ενεργοποιήστε την αποτυχία όταν ο έλεγχος υγείας αποτύχει
  • Μειώστε τον λανθάνοντα χρόνο δρομολογώντας την κυκλοφορία στον πλησιέστερο διακομιστή
  • Επίπεδο DNS και υποστήριξη HTTP(S), TCP και UDP
  • Η σταθερότητα της περιόδου λειτουργίας για να διασφαλιστεί ότι το αίτημα πηγαίνει στον ίδιο διακομιστή

Μπορείτε να διαμορφώσετε ολόκληρα πράγματα είτε μέσω του πίνακα ελέγχου του Cloudflare είτε μέσω του API.

Τεχνικά, οι ακόλουθες οδηγίες ισχύουν για το υπόλοιπο φόρτωσης σε οποιαδήποτε πλατφόρμα cloud όπως το Azure, DigitalOceanAlibaba, κ.λπ. Αλλά έχω επιλέξει GCP και AWS για την επίδειξη.

Λεπτομέρειες ρύθμισης AWS & GCP

Έχω εφοδιάσει έναν διακομιστή σε πλατφόρμα GCP και AWS με τα εξής.

  • Εγκατεστημένο το Nginx
  • Προστέθηκε το index.html με προσαρμοσμένο κείμενο που δείχνει ότι η σελίδα προβάλλεται από τον αντίστοιχο διακομιστή
  • Ξεκίνησε το Nginx και η σελίδα είναι προσβάσιμη και από τους δύο διακομιστές

Ας μεταφερθούμε στο Cloudflare για να εφαρμόσουμε το LB.

Ενεργοποίηση του Cloudflare Load Balancer

Έχω έναν διαθέσιμο τομέα (bloggerflare.com), τον οποίο θα χρησιμοποιήσω για αυτό το εργαστήριο.

Σημείωση: Το Load balancer από το Cloudflare δεν είναι ΔΩΡΕΑΝ και τιμολόγηση ξεκινά από 5 $ το μήνα.

Υποθέτω ότι έχετε ήδη λογαριασμό με το Cloudflare. Εάν όχι, μπορείτε να δημιουργήσετε και να προσθέσετε τον τομέα, όπως εξήγησα στην προηγούμενη ανάρτησή μου.

  • Συνδεθείτε στο Cloudflare και επιλέξτε τον τομέα στον οποίο θέλετε να ενεργοποιήσετε την εξισορρόπηση
  • Μεταβείτε στην καρτέλα κυκλοφορίας και ενεργοποιήστε την εξισορρόπηση φορτίου.

  • Διαμορφώστε τις δυνατότητες με βάση την απαίτηση. Προχωρώ με ελάχιστη διαμόρφωση.

Εάν θέλετε τα αιτήματα να ανακατευθύνονται στην πλησιέστερη τοποθεσία, τότε πρέπει να ενεργοποιήσετε τη Γεωγραφική δρομολόγηση.

  • Επιβεβαιώστε τη συνδρομή και ενεργοποιήστε την.

Όπως μπορείτε να δείτε, μπορείτε να το ξεκινήσετε από 5 $ το μήνα με δύο διακομιστές προέλευσης και ένα διάστημα ενός λεπτού ελέγχου υγείας.

  Πώς να διαγράψετε προτροπές στο Bumble

Η υποδομή είναι τόσο προσιτή τώρα. Πριν από 5 χρόνια, μπορείτε να φανταστείτε το cloud load balancer για 5 $;

Αυτό υποδεικνύει ότι το Cloudflare LB είναι ενεργοποιημένο και έτοιμο για διαμόρφωση.

Δημιουργία Cloudflare LB

Θα χρειαστούν μερικά δευτερόλεπτα για να επιβεβαιώσετε τη συνδρομή και να επιστρέψετε στη σελίδα “Κίνηση”.

  • Κάντε κλικ στο Create Load Balancer

  • Εισαγάγετε τον τομέα στον οποίο θέλετε να ρυθμίσετε την εξισορρόπηση.
  • Αναπτύξτε το Session Affinity και επιλέξτε By Cloudflare Cookie εάν θέλετε να ενεργοποιήσετε τη σταθερότητα περιόδου λειτουργίας

  • Εισαγάγετε ένα όνομα πισίνας και είναι η προέλευση (διακομιστής στον οποίο θα πρέπει να ανακατευθύνεται η κυκλοφορία)

  • Στη συνέχεια, μπορείτε να διαμορφώσετε έναν έλεγχο υγείας.

Ο υγειονομικός έλεγχος είναι απαραίτητος. Το Cloudflare θα σταματήσει να στέλνει κίνηση στην ελαττωματική προέλευση όταν αποτύχει ένας έλεγχος υγείας.

  • Εάν η προέλευση σας ακούει στη θύρα 80, τότε μπορείτε να επιλέξετε HTTP ή https για θύρα 443.

Το Cloudflare σάς επιτρέπει επίσης να διαμορφώνετε προηγμένες ρυθμίσεις ελέγχου υγείας όπως:

  • Μέθοδος GET ή HEAD
  • Αναμενόμενος κωδικός κατάστασης HTTP
  • Επικύρωση περιεχομένου στο σώμα απόκρισης
  • Αριθμός προσπαθειών πριν θεωρηθούν υγιείς ή ανθυγιεινές
  • Επικύρωση ονόματος κεφαλίδας

Και τέλος, αποθηκεύστε τη διαμόρφωση και αναπτύξτε

  • Το LB θα πραγματοποιήσει έναν υγειονομικό έλεγχο και σε λίγα δευτερόλεπτα, θα δείτε ότι η κατάσταση είναι υγιής.
  Επιλέξτε από το GUI, τη γραμμή εντολών ή τα διαδικτυακά εργαλεία

Υπέροχα, αυτό συμπεραίνει ότι το Cloudflare load balancer είναι έτοιμο να δεχτεί κίνηση από τον κόσμο και να το προωθήσει στους διαμορφωμένους διακομιστές προέλευσης.

Δοκιμή Load Balancer

Ας κάνουμε ένα βασικό τεστ για να δούμε αν λειτουργεί.

  • Πρώτα, προσπαθήστε να αποκτήσετε πρόσβαση στον τομέα.

Φοβερός!

Η LB προώθησε ένα αίτημα στο Google Cloud VM και έλαβε την απάντηση. Μπορώ να δω το αίτημα στο Nginx.

162.158.167.174 - - [19/Dec/2017:10:25:41 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
  • Επιτρέψτε μου να κλείσω το Nginx στο GCP και να αποκτήσω ξανά πρόσβαση στη σελίδα.

  • Και ορίστε. Μια ζητούμενη σελίδα εξυπηρετείται από το AWS.

Μπορώ να δω ότι η LB κατέβασε το μέλος του GCP pool.

Από προεπιλογή, η διεύθυνση IP του Cloudflare θα εμφανίζεται στα αρχεία καταγραφής πρόσβασης Nginx και εάν χρειάζεται να επαναφέρετε την IP πελάτη, τότε μπορείτε να δείτε αυτόν τον οδηγό.

συμπέρασμα

Η εφαρμογή ενός εξισορροπητή φορτίου Cloudflare είναι απλή και μπορεί να ξεκινήσει σε λιγότερο από 15 λεπτά. Εάν αναζητάτε υψηλή διαθεσιμότητα μεταξύ πολλών κέντρων δεδομένων ή διακομιστών προέλευσης, δοκιμάστε το για να δείτε πώς λειτουργεί.

Σας άρεσε να διαβάζετε το άρθρο; Τι θα λέγατε να μοιράζεστε με τον κόσμο;