So schätzen Sie eine AWS Client VPN-Rechnung aus der Konsole
Ein Durchgang durch die AWS Client VPN-Kalkulation: Assoziationen zählen, Verbindungsstunden aus Sitzungsprotokollen ableiten und dann die Kosten außerhalb des Endpunktentgelts ergänzen.
Letzten Monat habe ich eine Client VPN-Schätzung in einer Tabelle gebaut, sie an einen Kunden geschickt und dann zweimal überarbeitet: einmal, weil ich Assoziationen mit Subnetzen multipliziert hatte, und einmal, weil ich Personenzahlen statt Sitzungsdaten verwendet habe. Die Version, die die Prüfung überlebte, ruht auf zwei stündlichen Zählern und einer kurzen Liste von Nebenkosten. Sie können sie aus der Konsole und einem Log-Export nachbauen, ohne Preisrechner.
Zwei Zähler, und sonst nichts am Endpunkt
AWS berechnet einen Client VPN-Endpunkt nach Assoziationsstunden und Verbindungsstunden. Assoziationsstunden laufen für jedes am Endpunkt angeschlossene Zielnetz, rund um die Uhr, ob jemand sich verbindet oder nicht. Verbindungsstunden laufen pro verbundenem Client, solange die Sitzung besteht.
| Meter | What increments it | What does not change it |
|---|---|---|
| Association-hours | Each associated subnet or Transit Gateway attachment, per hour, 24/7 while attached | Number of users, traffic volume |
| Connection-hours | Each active client session, per hour | How many subnets that client can reach |
Aus dieser Tabelle folgen zwei Konsequenzen. Ein Endpunkt, auf dem niemand ist, kostet trotzdem Geld, und eine Person, die Laptop und Telefon gleichzeitig laufen lässt, erzeugt zwei Verbindungen.
Assoziationen in der Konsole zählen, nicht Subnetze in der VPC
Öffnen Sie VPC, dann Client VPN endpoints, dann Ihren Endpunkt, dann den Reiter Associations. Jede Zeile dort ist ein Subnetz-Anschluss, und diese Zeilenzahl ist Ihr Assoziations-Multiplikator. Die Zahl der Anwendungs-Subnetze hinter der VPC hat damit nichts zu tun.
Eine Assoziation genügt, um ein autorisiertes VPC-Netz zu erreichen, sobald die Routen des Endpunkts und die Autorisierungsregeln das Ziel abdecken. Zusätzliche Assoziationen kaufen Ausfallsicherheit über Availability Zones, keine zusätzliche Reichweite. Ein Zwei-AZ-Design verdoppelt daher die Assoziationsstunden, während eine Anwendungs-VPC mit acht Subnetzen nichts mit acht multipliziert.
Achten Sie auf den Assoziationstyp, solange Sie auf dieser Seite sind. Eine VPC-Subnetz-Assoziation und eine direkte Transit Gateway-Assoziation sind verschiedene Anordnungen mit verschiedenen Rechnungsposten, also tragen Sie nicht ein Modell in das Angebot des anderen. Und testen Sie die Zahl nicht durch Abkoppeln: Das Entfernen des letzten Zielnetzes beendet aktive Sitzungen und blockiert neue Verbindungen, bis wieder etwas assoziiert ist.
Verbindungsstunden aus Sitzungsdaten ableiten
Personenzahl ist der falsche Input, und zwar in beide Richtungen. Zehn Personen, die je drei verbundene Geräte halten, sind dreißig Verbindungen. Hundert Personen, die je zwanzig Minuten am Tag verbinden, erzeugen bei weitem keine hundert gleichzeitigen Sitzungen.
Client VPN-Verbindungsprotokolle zeichnen Verbind- und Trennereignisse pro Client auf, genau die Paarung, die Sie brauchen. Exportieren Sie eine repräsentative Woche, gleichen Sie die Ereignisse ab und summieren Sie die Dauer:
connection-hours = sum of (disconnect_time - connect_time) per session
sessions = one per client connection, not per personKorrigieren Sie dann zwei Gewohnheiten. Sitzungen, die über Mittag, über Nacht oder durch ein Laptop-Suspendieren verbunden bleiben, das den Tunnel nie abbaute, werden weiter berechnet und sind in einer Personenzahl unsichtbar. Die Messung ist zudem stündlich, also kalkulieren Sie eine zwanzigminütige Sitzung als volle Stunde, statt proportionale Abrechnung anzunehmen; kommt die Rechnung niedriger, behandeln Sie das als Marge und nicht als Planungsgröße.
Rechnen Sie mit den Sätzen Ihrer Region
Die Sätze unterscheiden sich je Region, also holen Sie sie von der AWS VPN-Preisseite für die Region, in die Sie deployen, und fügen Sie sie als Eingaben in die Tabelle ein. Nur zur Veranschaulichung: Nehmen Sie einen Assoziationssatz von 0.10 Dollar pro Stunde und einen Verbindungsstundensatz von 0.05 Dollar, dann bepreisen Sie einen Monat mit 30 Tagen, zwei Assoziationen den ganzen Monat und 100 Personen, die sechs Stunden an 20 Arbeitstagen verbinden:
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.00Verschieben Sie nun einen Input nach dem anderen und beobachten Sie, welche Zeile reagiert. Die Verdopplung der Assoziationen fügt hier 144 Dollar hinzu; die Verdopplung der durchschnittlichen Sitzungslänge fügt 600 hinzu. Dieses Verhältnis entscheidet die Design-Debatte meist für Sie: Schneiden Sie Redundanz weg, die Sie nicht rechtfertigen können, oder gehen Sie auf Leerlaufsitzungen los, je nachdem, welche Zahl größer ist. Schreiben Sie Region und Stichtag der Sätze neben das Ergebnis, denn ein Angebot ohne sie lässt sich sechs Wochen später nicht reproduzieren.
Ergänzen Sie die Kosten, die die Zwischensumme auslässt
Das Endpunktentgelt zahlt den Endpunkt. Alles, was der Verkehr danach berührt, hat seinen eigenen Zähler, und genau an diesen Zeilen zerfallen optimistische VPN-Schätzungen.
- Internet-Egress für Verkehr, der den Endpunkt verlässt, pro GB abgerechnet.
- Öffentliche IPv4-Adressen, die eine eigene stündliche Gebühr unabhängig vom VPN tragen.
- CloudWatch Logs-Aufnahme und -Speicherung für die Verbindungsprotokolle, die Sie gerade exportiert haben.
- Lambda-Aufrufe, wenn Sie einen client-connect-Handler betreiben.
- Directory Service oder Ihr SAML-Identitätsanbieter, wenn Benutzer so authentifizieren, plus ACM Private CA-Gebühren, wenn Sie dort Zertifikate ausstellen.
- NAT Gateway-Stunden und Datenverarbeitung sowie Transit Gateway-Anschlussstunden plus Datenverarbeitung, wann immer der Pfad sie nutzt.
Nichts davon skaliert mit der Assoziationszahl, weshalb eine Pro-Nutzer-Zahl, die nur aus Endpunktentgelten besteht, auf dem Papier gut aussieht und dann wächst, sobald echter Verkehr auftritt. Setzen Sie sie auf separate Zeilen, auch wenn Sie sie schätzen müssen, damit der Leser sieht, welche Teile gemessen und welche geraten sind.
Prüfen Sie die Tabelle, bevor Sie sie versenden
Vier Prüfungen fangen die Fehler, die ich tatsächlich gemacht habe: Die Assoziationszahl entspricht exakt dem Associations-Reiter, die Verbindungsstunden stammen aus gepaarten Protokollereignissen statt aus einer Personenzahl, Region und Stichtag der Sätze stehen geschrieben, und jede Nebenkostenposition hat ihre eigene Zeile. Fehlt eine der vier, haben Sie eine Schätzung mit Formatierung.
Ziehen Sie zuerst den Log-Export. Er ist der einzige Input, den Sie später nicht aus dem Gedächtnis rekonstruieren können, und er sagt Ihnen auch, ob sich das Problem der Leerlaufsitzungen vor der ersten Rechnung zu beheben lohnt.