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

Βήμα πρώτο: καρφιτσώστε το τεχνούργημα για το οποίο διαβάζετε

Διαβάστε τα δικά του μεταδεδομένα του υποψηφίου για εκδότη, αποθετήριο πηγής, κανάλι, αναθεώρηση, βάση και αρχιτεκτονική. Στη συνέχεια προσδιορίστε ποιος συντηρεί το λογισμικό VPN μέσα στο φορτίο εργασίας και ποιος παραδίδει τις ενημερώσεις ασφαλείας του, επειδή συχνά πρόκειται για δύο διαφορετικά μέρη. Ένα μη συντηρούμενο upstream μέσα σε ένα καλά συντηρημένο charm είναι ένα πρόβλημα υποστήριξης που περιμένει μια κακή εβδομάδα.

Το juju info CHARM_NAME αναφέρει κανάλια, βάσεις και αρχιτεκτονικές στο Juju 3.6, και η τεκμηρίωση σημειώνει ότι ένα ερώτημα για συγκεκριμένη αναθεώρηση δεν μπορεί να συνδυαστεί με αυτά τα φίλτρα. Ρωτήστε την αναθεώρηση μόνη της αντί να χτίσετε έναν συνδυασμό που η εντολή απορρίπτει. Διαβάστε επίσης τη βάση και την αρχιτεκτονική, αφού ένα κανάλι μπορεί να καλύπτει περισσότερες από μία.

Καταγράψτε τον ακριβή συνδυασμό που εξετάσατε δίπλα στην ανάπτυξη. Ένα refresh που μετακινεί το κανάλι είναι τότε μια σκόπιμη αλλαγή με πριν και μετά, όχι μια έκπληξη Δευτέρας.

Βήμα δεύτερο: διαβάστε τη διαμόρφωση ως συμβόλαιο

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

Ακολουθήστε τις διεπαφές και τις ενέργειες που εκθέτει πραγματικά το charm. Μην υποθέσετε ότι υπάρχει ενέργεια εγγραφής επειδή ένα άλλο charm για το ίδιο λογισμικό έχει μία.

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

Βήμα τρίτο: διαχωρίστε τον ακροατή από τη διαβιβαζόμενη διαδρομή

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

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

Βήμα τέταρτο: η έκθεση είναι ενέργεια τείχους προστασίας

Στο Juju 3.6, η έκθεση μιας εφαρμογής προσαρμόζει τους κανόνες τείχους προστασίας του cloud, και από προεπιλογή επιτρέπει κίνηση από οποιαδήποτε πηγή προς τις θύρες που έχει ανοίξει το φορτίο εργασίας. Οι επιλογείς endpoint και CIDR της εντολής υπάρχουν ακριβώς για να μπορεί να περιοριστεί αυτή η προεπιλογή.

Η έκθεση δεν δημιουργεί χρήστες VPN, δεν επικυρώνει τα διαπιστευτήριά τους και δεν εγκαθιστά πολιτική προώθησης. Δεν αποδεικνύει επίσης ότι το φορτίο εργασίας ακούει στη διεύθυνση και στο μεταφορικό μέσο που περιμένετε, γι' αυτό το τεστ μετά την έκθεση μετράει περισσότερο από το μήνυμα επιτυχίας. Ελέγξτε την υποδοχή ακρόασης στη μονάδα καθώς και τον κανόνα του cloud.

Βήμα πέμπτο: αποδοχή με τέσσερα τεστ

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

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

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