Γιατί η συνεδρία BGP σας δεν εμφανίζεται στον πίνακα δρομολόγησης του VPC
Μια συνεδρία BGP σε συσκευή EC2 δεν εγκαθιστά διαδρομές VPC. Η διάδοση ενεργοποιείται ανά πίνακα δρομολόγησης και η συσκευή εξακολουθεί να προωθεί κάθε πακέτο.
Η ιστορία που επαναλαμβάνεται είναι ότι ένας δαίμονας δρομολόγησης σε μια συσκευή VPN στο EC2 θα μάθει στο VPC τα απομακρυσμένα προθέματά του μόλις σηκωθεί το BGP. Το μισό από αυτό είναι αλήθεια. Η συνεδρία σηκώνεται, και τίποτα στον πίνακα δρομολόγησης του VPC δεν αλλάζει εξαιτίας της, γι' αυτό το πρώτο σύμπτωμα είναι συνήθως ένα υποδίκτυο που ρίχνει ήσυχα την κίνηση σε μια μαύρη τρύπα.
Εδώ συγχέονται δύο διαφορετικά πράγματα: το peering με έναν route server και η εγκατάσταση διαδρομών σε έναν πίνακα.
Ο μύθος: σηκώστε το BGP και το VPC θα μάθει τα προθέματα
Το BGP είναι μια συζήτηση μεταξύ δύο ομιλητών, και σε αυτόν τον σχεδιασμό οι ομιλητές είναι ο δαίμονας δρομολόγησης στη συσκευή σας και ένα τελικό σημείο VPC Route Server που η AWS τοποθετεί σε ένα υποδίκτυο που σας ανήκει. Αυτή η συζήτηση μεταφέρει προθέματα. Δεν αγγίζει τον πίνακα δρομολόγησης των υποδικτύων φόρτου εργασίας σας, γιατί αυτοί οι πίνακες μαθαίνουν μόνο μέσω διάδοσης, η οποία πρέπει να ενεργοποιηθεί σε καθέναν ξεχωριστά. Μέχρι να συμβεί αυτό, ο ιστός του VPC δεν γνωρίζει τίποτα για όσα γνωρίζει η συσκευή.
Τα βήματα ρύθμισης είναι χωριστά για έναν λόγο: συσχέτιση, δημιουργία του τελικού σημείου, peering και μετά ενεργοποίηση της διάδοσης.
Το Route Server είναι επίπεδο ελέγχου, όχι σήραγγα
Το Route Server δεν κρυπτογραφεί, δεν προωθεί και δεν επιθεωρεί ούτε ένα πακέτο. Υπάρχει για να ανταλλάσσει BGP με τη συσκευή και να παραδίδει τα προθέματα που προκύπτουν στους πίνακες δρομολόγησης που είναι ρυθμισμένοι να τα δέχονται. Το επίπεδο δεδομένων δεν αλλάζει: τα πακέτα εξακολουθούν να βγαίνουν από τη διεπαφή δικτύου της συσκευής, να ταξιδεύουν στο VPN της και να επιστρέφουν από τον ίδιο δρόμο.
Αυτό σημαίνει ότι ο έλεγχος πηγής και προορισμού στο στιγμιότυπο προώθησης εξακολουθεί να έχει σημασία, γιατί το στιγμιότυπο τώρα προωθεί κίνηση που απευθύνεται σε κάποιον άλλο.
Οι ομάδες ασφαλείας και οι έλεγχοι υποδικτύου εξακολουθούν να ισχύουν και για τη ροή που προωθείται. Το Route Server δεν θα κάνει μια συσκευή που ρίχνει κίνηση να την προωθήσει, ούτε θα διορθώσει μια διαδρομή επιστροφής που λείπει στην απομακρυσμένη πλευρά.
Η διάδοση είναι ανά πίνακα δρομολόγησης, όχι ανά VPC
Η συσχέτιση του route server με το VPC και η ενεργοποίηση της διάδοσης σε έναν πίνακα δρομολόγησης είναι δύο αποφάσεις, και μόνο η δεύτερη αλλάζει το τι κάνει ένα υποδίκτυο. Ένα VPC με έξι πίνακες δρομολόγησης μπορεί να δεχτεί ένα διαδιδόμενο πρόθεμα σε έναν και όχι στους άλλους πέντε, κάτι που είναι ακριβώς σωστό για ένα υποδίκτυο κόμβου και ακριβώς αυτό που παράγει το μπερδεμένο αποτέλεσμα «δουλεύει μισά». Ακόμη και όπου η διάδοση είναι ενεργή, μια ανταγωνιστική διαδρομή μπορεί να κερδίσει, γιατί η επιλογή διαδρομής του VPC προτιμά το μεγαλύτερο πρόθεμα και, σε ίσο μήκος, προτιμά μια στατική διαδρομή από μια διαδιδόμενη. Αυτή η προτίμηση εφαρμόζεται σιωπηρά.
Ελέγξτε τον ενεργό πίνακα για το συγκεκριμένο υποδίκτυο αντί για τη λίστα προθεμάτων που διαφημίζει η συσκευή. Το API απαντά σε αυτή την ερώτηση άμεσα: aws ec2 associate-route-server και aws ec2 enable-route-server-propagation --route-table-id <id> είναι τα δύο βήματα που ξεχνούν οι άνθρωποι, και το aws ec2 describe-route-tables --route-table-ids <id> δείχνει αν το πρόθεμα έφτασε καθόλου ως καταχώριση route server.
Η συσκευή εξακολουθεί να μεταφέρει κάθε πακέτο
Το να διαφημίζεις την προσβασιμότητα δεν είναι το ίδιο με το να την έχεις. Μια συνεδρία BGP μπορεί να παραμείνει εγκατεστημένη ενώ το VPN της συσκευής είναι κάτω, και μια στατική διαφήμιση που δεν αλλάζει ποτέ συνεχίζει να τραβά την κίνηση προς ένα νεκρό μονοπάτι. Το Route Server υποστηρίζει ανίχνευση αστοχιών όπως το BFD, αλλά αυτό ελέγχει τη ζωτικότητα του peer, όχι την υγεία όλων όσων βρίσκονται πίσω του.
Δέστε τη διαφήμιση με την πραγματική απομακρυσμένη διαδρομή: αναγγείλτε το πρόθεμα όταν η σήραγγα και το απομακρυσμένο δίκτυο είναι ενεργά, και αποσύρετέ το όταν δεν είναι.
Αποσύρετε ένα πρόθεμα και δείτε τι συμβαίνει
Δοκιμάστε σε στάδια, και κάντε το τελευταίο στάδιο αφαίρεση. Επιβεβαιώστε ότι η διαφήμιση φτάνει, το πρόθεμα εμφανίζεται σε κάθε προβλεπόμενο πίνακα, η συσκευή είναι το επόμενο άλμα, η προώθηση διασχίζει την ενεργή σήραγγα και το απομακρυσμένο άκρο απαντά. Στη συνέχεια αποσύρετε ένα δοκιμαστικό πρόθεμα ή κλείστε μια εγκεκριμένη σήραγγα και παρατηρήστε αν η κίνηση μετακινείται εκεί που λέει ο σχεδιασμός. Καταγράψτε τους πίνακες πριν και μετά όσο το τεστ είναι ακόμη ανοιχτό.
Η μετακίνηση μιας διαδρομής σε δεύτερη συσκευή δεν μετακινεί τις συνεδρίες που μετέφερε, γιατί η κατάσταση NAT και τείχους προστασίας μένει στην πρώτη συσκευή.
Για ένα σταθερό σύνολο δώδεκα προθεμάτων, οι στατικές διαδρομές στους πίνακες του VPC παραμένουν η φθηνότερη απάντηση. Το Route Server κερδίζει τη θέση του όταν η λίστα προθεμάτων αλλάζει πραγματικά και η πολιτική απόσυρσης είναι κάτι που μπορείτε να εξηγήσετε στον άνθρωπο που είναι σε εφημερία.