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

Συνδέστε την αναθεώρηση πριν κάνετε αποσφαλμάτωση της σήραγγας

Το Cloud Run υποστηρίζει άμεση έξοδο VPC, που τοποθετεί την κίνηση της υπηρεσίας σε ένα υποδίκτυο στο VPC σας χωρίς σύνδεσμο Serverless VPC Access. Για μια υπάρχουσα υπηρεσία η ενημέρωση μοιάζει έτσι:

gcloud run services update SERVICE \
  --region=REGION --network=NETWORK --subnet=SUBNET \
  --vpc-egress=private-ranges-only

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

Επιλέξτε τη λειτουργία εξόδου που ταιριάζει στον προορισμό

private-ranges-only στέλνει τους προορισμούς που χαρακτηρίζει ως ιδιωτικούς μέσω του VPC. Δεν σημαίνει «οτιδήποτε προσβάσιμο μέσω του VPN» και αυτό το κενό εμφανίζεται όταν η τοπική υπηρεσία βρίσκεται σε εύρος που η ρύθμιση δεν χαρακτηρίζει έτσι. Αν ο προορισμός δεν καλύπτεται, all-traffic είναι η άλλη τεκμηριωμένη λειτουργία και στέλνει τα πάντα μέσω του VPC, συμπεριλαμβανομένων των δημόσιων εξαρτήσεων της υπηρεσίας. Επιλέξτε συνειδητά και γράψτε τη συνέπεια στο αρχείο αλλαγών.

Μια υπηρεσία που χρησιμοποιεί ήδη σύνδεσμο απαιτεί μετεγκατάσταση και όχι διακόπτη, οπότε σχεδιάστε την αντί να ρυθμίσετε και τα δύο.

Δρομολογήστε την προέλευση του Cloud Run, όχι μια προέλευση VM

Η άμεση έξοδος VPC εκχωρεί προσωρινές διευθύνσεις από το επιλεγμένο υποδίκτυο και η τοπική πλευρά πρέπει να επιστρέφει την κίνηση σε αυτό το εύρος. Μια διαδρομή επιστροφής ή άδεια τείχους προστασίας γραμμένη για άλλο υποδίκτυο VM θα φαίνεται σωστή στο διάγραμμα και θα αποτυγχάνει στην πράξη. Πάρτε το CIDR του υποδικτύου από το VPC και όχι από τη μνήμη, και έπειτα επιβεβαιώστε ότι το crypto ACL ή ο πίνακας δρομολόγησης της απομακρυσμένης συσκευής το περιλαμβάνει.

Με δυναμική δρομολόγηση, επαληθεύστε τι διαφημίζει πραγματικά το Cloud Router και τι εισάγει το VPC, συμπεριλαμβανομένης οποιασδήποτε προσαρμοσμένης πολιτικής διαφήμισης. Μια διαδρομή που υπάρχει στην κονσόλα αλλά δεν έχει επιλεγεί για αυτόν τον προορισμό είναι το ίδιο με καμία διαδρομή.

Τρεις προϋποθέσεις που πρέπει να ισχύουν όλες

Μια λειτουργική διαδρομή χρειάζεται όλα τα παρακάτω και καθένα αποτυγχάνει με τον δικό του τρόπο:

  • Μια διαδρομή στο VPC προς το τοπικό πρόθεμα μέσω της προβλεπόμενης σύνδεσης Cloud VPN.
  • Μια αντίστροφη διαδρομή στην τοπική πλευρά για το υποδίκτυο Cloud Run.
  • Εύρος προστασίας τείχους προστασίας και IPsec που επιτρέπει την προέλευση, τον προορισμό και τη θύρα.

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

Μην προσθέτετε μία προσωρινή διεύθυνση Cloud Run στη λίστα επιτρεπόμενων. Χρησιμοποιήστε το εύρος του υποδικτύου και ένα σχέδιο εξουσιοδότησης που ταιριάζει στην εφαρμογή.

Δοκιμάστε την αναθεώρηση που εξυπηρέτησε το αίτημα

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

Περιμένετε τις τεκμηριωμένες καθυστερήσεις σύνδεσης κατά την εκκίνηση του Direct VPC και δώστε στον πελάτη στρατηγική ετοιμότητας ή επανάληψης αντί να διαγιγνώσκετε κάθε ψυχρή εκκίνηση ως χαλασμένη σήραγγα.

Επαναφορά και τι δεν κάνει αυτό

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

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

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