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

Δύο μετρητές, και τίποτα άλλο στο endpoint

Η AWS χρεώνει ένα endpoint Client VPN με ώρες συσχέτισης και ώρες σύνδεσης. Οι ώρες συσχέτισης τρέχουν για κάθε δίκτυο-στόχο που είναι συνδεδεμένο στο endpoint, όλο το εικοσιτετράωρο, είτε συνδέεται κάποιος είτε όχι. Οι ώρες σύνδεσης τρέχουν ανά συνδεδεμένο πελάτη, όσο η συνεδρία μένει ενεργή.

MeterWhat increments itWhat does not change it
Association-hoursEach associated subnet or Transit Gateway attachment, per hour, 24/7 while attachedNumber of users, traffic volume
Connection-hoursEach active client session, per hourHow many subnets that client can reach

Δύο συνέπειες βγαίνουν κατευθείαν από αυτόν τον πίνακα. Ένα endpoint χωρίς κανέναν πάνω του κοστίζει ακόμη, και ένα άτομο που τρέχει laptop και τηλέφωνο ταυτόχρονα παράγει δύο συνδέσεις.

Μετρήστε συσχετίσεις στην κονσόλα, όχι υποδίκτυα στο VPC

Ανοίξτε VPC, μετά Client VPN endpoints, μετά το endpoint σας, μετά την καρτέλα Associations. Κάθε γραμμή εκεί είναι μια προσάρτηση υποδικτύου, και αυτό το πλήθος γραμμών είναι ο πολλαπλασιαστής συσχετίσεων. Ο αριθμός των υποδικτύων εφαρμογών πίσω από το VPC δεν έχει καμία σχέση.

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

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

Βγάλτε τις ώρες σύνδεσης από τα δεδομένα συνεδριών

Ο αριθμός ατόμων είναι λάθος είσοδος και είναι λάθος και προς τις δύο κατευθύνσεις. Δέκα άτομα που κρατούν από τρεις συσκευές συνδεδεμένες είναι τριάντα συνδέσεις. Εκατό άτομα που συνδέονται είκοσι λεπτά την ημέρα δεν παράγουν ούτε κατά διάνοια εκατό ταυτόχρονες συνεδρίες.

Τα αρχεία καταγραφής συνδέσεων του Client VPN καταγράφουν συμβάντα σύνδεσης και αποσύνδεσης ανά πελάτη, που είναι ακριβώς το ζεύγος που χρειάζεστε. Εξάγετε μια αντιπροσωπευτική εβδομάδα, ταιριάξτε τα συμβάντα και αθροίστε τις διάρκειες:

connection-hours = sum of (disconnect_time - connect_time) per session
sessions         = one per client connection, not per person

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

Κάντε την πράξη με τις τιμές της περιοχής σας

Τα τιμολόγια διαφέρουν ανά περιοχή, οπότε πάρτε τα από τη σελίδα τιμών AWS VPN για την περιοχή όπου αναπτύσσετε και επικολλήστε τα στο φύλλο ως εισόδους. Μόνο ως παράδειγμα, πάρτε τιμή συσχέτισης 0.10 δολάρια την ώρα και τιμή ώρας σύνδεσης 0.05 δολάρια, μετά κοστολογήστε έναν μήνα 30 ημερών με δύο συσχετίσεις όλο τον μήνα και 100 άτομα που συνδέονται έξι ώρες σε 20 εργάσιμες:

association-hours = 2 * 24 * 30     = 1,440
association fee   = 1,440 * 0.10    = 144.00

connection-hours  = 100 * 6 * 20    = 12,000
connection fee    = 12,000 * 0.05   = 600.00

Client VPN subtotal                 = 744.00

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

Προσθέστε τις χρεώσεις που αφήνει έξω το μερικό σύνολο

Το τέλος endpoint πληρώνει το endpoint. Ό,τι αγγίζει η κίνηση μετά έχει τον δικό του μετρητή, και εκεί είναι που καταρρέουν οι αισιόδοξες εκτιμήσεις VPN.

  • Έξοδος στο διαδίκτυο για κίνηση που φεύγει από το endpoint, χρεώνεται ανά GB.
  • Δημόσιες διευθύνσεις IPv4, που φέρουν δική τους ωριαία χρέωση ανεξάρτητα από το VPN.
  • Πρόσληψη και αποθήκευση στο CloudWatch Logs για τα αρχεία συνδέσεων που μόλις εξαγάγατε.
  • Κλήσεις Lambda αν τρέχετε χειριστή client-connect.
  • Directory Service ή ο πάροχος ταυτότητας SAML σας, αν έτσι πιστοποιούνται οι χρήστες, συν χρεώσεις ACM Private CA αν εκεί εκδίδετε πιστοποιητικά.
  • Ώρες NAT Gateway και επεξεργασία δεδομένων, και ώρες προσάρτησης Transit Gateway συν επεξεργασία δεδομένων, όποτε η διαδρομή τα χρησιμοποιεί.

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

Ελέγξτε το φύλλο πριν το στείλετε

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

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

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