Ένα πρόθεμα που λείπει από τον πίνακα δρομολόγησης ενός υποδικτύου VPC και ένα πρόθεμα που λείπει από τον δρομολογητή του πελάτη είναι δύο διαφορετικές βλάβες, και μόνο μία από αυτές διορθώνεται μέσα στους πίνακες δρομολόγησης του AWS. Η εικονική ιδιωτική πύλη διαφημίζει τα μπλοκ CIDR που σχετίζονται με το VPC της· ο πίνακας δρομολόγησης του υποδικτύου αποφασίζει πού στέλνει ένα φόρτο εργασίας την απάντηση. Το να αντιμετωπίζουμε το δεύτερο ως τρόπο αλλαγής του πρώτου είναι η πιο συνηθισμένη λάθος στροφή σε αυτή τη διάγνωση. Εκτελέστε τους παρακάτω ελέγχους με σειρά και κρατήστε τις δύο κατευθύνσεις χωριστά.

Ονομάστε το σύνδεσμο προτού διαβάσετε οποιονδήποτε πίνακα

Ένα VPN τοποθεσίας σε τοποθεσία τερματίζεται είτε σε εικονική ιδιωτική πύλη είτε σε πύλη διέλευσης, και τα αναγνωριστικά πόρων καθορίζουν ποιο μοντέλο δρομολόγησης ισχύει. Διαβάστε τα πρώτα: aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 --query 'VpnConnections[].{Tunnels:VgwTelemetry,Gateway:GatewayId,Transit:TransitGatewayId}'. Η απάντηση σας λέει αν ο επόμενος πίνακας που πρέπει να εξεταστεί είναι πίνακας δρομολόγησης VPC ή πίνακας δρομολόγησης πύλης διέλευσης.

Αν το VPN είναι συνδεδεμένο σε πύλη διέλευσης, σταματήστε να αντιμετωπίζετε τον πίνακα δρομολόγησης VPC ως επίπεδο ελέγχου. Εκεί ο πίνακας VPC δείχνει στον σύνδεσμο της πύλης, και η συσχέτιση και η διάδοση συμβαίνουν στον πίνακα δρομολόγησης της πύλης διέλευσης. Η ανάμειξη των δύο όψεων παράγει σίγουρα συμπεράσματα για το λάθος αντικείμενο.

Η κατεύθυνση από το AWS προς το γραφείο είναι διαφήμιση

Για σύνδεσμο VGW, η πύλη διαφημίζει τα μπλοκ CIDR που σχετίζονται με το VPC της στην πύλη του πελάτη μέσω BGP. Η προσθήκη μιας μεμονωμένης διαδρομής υποδικτύου ή η κατεύθυνση μιας διαδρομής σε ομότιμο VPC ή σε συσκευή δεν προσθέτει άλλο σχετιζόμενο CIDR και δεν εμφανίζεται σε αυτή τη διαφήμιση. Αν στο γραφείο λείπει ένα πρόθεμα, συγκρίνετε τη λίστα των ληφθέντων διαδρομών με τις συσχετίσεις VPC πριν επεξεργαστείτε οποιονδήποτε πίνακα δρομολόγησης.

Ο απλός κανόνας έχει εξαιρέσεις, γι' αυτό κρατήστε τον στο πεδίο του. Μια διάταξη VPN CloudHub μπορεί να επαναδιαφημίζει προθέματα τοποθεσίας μεταξύ πυλών πελάτη, και μια πύλη διέλευσης ακολουθεί τους δικούς της κανόνες διάδοσης. Η δήλωση ότι ένα VGW διαφημίζει μόνο το δικό του VPC είναι μια χρήσιμη προεπιλογή, όχι νόμος που καλύπτει κάθε τοπολογία που θα συναντήσετε.

Η κατεύθυνση από το γραφείο προς το AWS είναι διάδοση συν επιλογή

Στην αντίστροφη κατεύθυνση το VGW μαθαίνει το πρόθεμα του γραφείου, αλλά αυτό μόνο του δεν μετακινεί φόρτο εργασίας. Ο πίνακας δρομολόγησης του υποδικτύου πρέπει είτε να έχει ενεργοποιημένη τη διάδοση για τον σύνδεσμο είτε να φέρει στατική διαδρομή προς τον ίδιο προορισμό. Όταν υπάρχουν και τα δύο για ένα πρόθεμα, κερδίζει η στατική διαδρομή, και η αντιστοίχιση του μεγαλύτερου προθέματος εκτελείται πριν από καθεμία από αυτές.

Διαβάστε την προέλευση αντί να την υποθέσετε: aws ec2 describe-route-tables --route-table-ids rtb-0123456789abcdef0 --query 'RouteTables[].Routes'. Μια εγγραφή με προέλευση EnableVgwRoutePropagation ήρθε από το BGP· μια εγγραφή με προέλευση CreateRoute την πληκτρολόγησε άνθρωπος και θα συνεχίσει να κερδίζει μέχρι να τη διαγράψει κάποιος.

Ένα runbook που κρατά τις δύο κατευθύνσεις χωριστά

Καταγράψτε τέσσερα γεγονότα στην πλευρά του AWS πριν αλλάξετε οτιδήποτε: τον τύπο του συνδέσμου, τα σχετιζόμενα CIDR του VPC, την προέλευση της διαδρομής υποδικτύου για το εν λόγω πρόθεμα, και την κατάσταση του τούνελ και του BGP. Η ίδια κλήση describe επιστρέφει το VgwTelemetry με πλήθος αποδεκτών διαδρομών ανά τούνελ, που σας λέει αν το AWS αποδέχτηκε καθόλου διαδρομές. Στη συνέχεια συγκρίνετε το με αυτό που εγκατέστησε πράγματι η συσκευή του πελάτη. Ένα πρόθεμα παρόν στο BGP αλλά απόν από τον πίνακα προώθησης είναι πρόβλημα τοπικής εισαγωγής ή βέλτιστης διαδρομής, όχι πρόβλημα πίνακα δρομολόγησης του AWS.

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

Τι να μην αλλάξετε όσο είστε εκεί

Μην αλλάζετε τη διάδοση σε άσχετους πίνακες δρομολόγησης για να διορθώσετε ένα πρόθεμα που λείπει, και μην προσθέτετε προεπιλεγμένη διαδρομή για να καλύψετε ένα μόνο απόν CIDR. Και οι δύο αλλαγές διευρύνουν το εύρος επίπτωσης και κάνουν την επόμενη διάγνωση δυσκολότερη. Περιορίστε την επεξεργασία στον πίνακα που εξυπηρετεί το εν λόγω υποδίκτυο φόρτου εργασίας.

Η διαδρομή δεδομένων είναι ξεχωριστή από όλα αυτά. Οι ομάδες ασφαλείας είναι με κατάσταση, οι ACL δικτύου όχι, και ένα τείχος προστασίας κεντρικού υπολογιστή ή μια ασύμμετρη διαδρομή επιστροφής μπορεί να απορρίψει κίνηση που η δρομολόγηση παρέδωσε σωστά. Ένα διαφημιζόμενο άθροισμα επίσης δεν εξουσιοδοτεί κάθε υπηρεσία μέσα του, γι' αυτό περιορίστε την πρόσβαση στο όριο πολιτικής αντί να βασίζεστε στο αν μια διεύθυνση τυχαίνει να εμφανίζεται σε μια διαφήμιση BGP.

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

Σχετικά άρθρα