Burstable EC2 VPN: Standard- oder unbegrenzte CPU-Credits?
Der eine Modus drosselt an der Grundlinie, der andere läuft weiter und kann dir in Rechnung gestellt werden. Rechne die Credits durch, bevor eine kleine Instanz zum Gateway wird.
Ein kleines VPN-Gateway besteht einen Geschwindigkeitstest, fühlt sich gut an und wird nach dem Mittagessen langsamer. Die Instanz hat während des Tests nicht gelogen; sie gab Credits aus, die sie im Leerlauf verdient hatte. Burstable-Instanzen sind genau dafür gebaut, weshalb ein kurzer Benchmark ein schlechter Prädiktor für einen Nachmittag voller Übertragungen ist. Die beiden Credit-Modi scheitern zudem auf unterschiedliche Weise, und die Wahl zwischen ihnen ist die eigentliche Entscheidung.
Woher der Geschwindigkeitstest geliehen hat
Ein CPU-Credit ist eine vCPU, die eine Minute lang mit voller Auslastung läuft. Eine Burstable-Instanz verdient Credits zu ihrer Grundlinienrate und gibt sie aus, wenn sie diese Grundlinie überschreitet. Eine ruhige Nacht baut ein Guthaben auf; ein geschäftiger Morgen zehrt es ab.
Deshalb sieht der erste Test gut aus. Die Instanz hatte ein gespartes Budget, gab es für Verschlüsselungsarbeit aus und meldete eine gesunde Rate. Nichts im Ergebnis sagt dir, was passiert, wenn das Guthaben null erreicht. Der Benchmark maß einen Burst, und ein Burst ist genau das, wofür die Instanz ausgelegt ist. Er maß nie den Dauerzustand, auf den du dich gleich verlassen wirst.
Die Rechnung, die du machen musst
Die Eingaben sind der Grundlinienprozentsatz pro vCPU, die Anzahl der vCPUs, das angesammelte Guthaben und die erwartete Last. Nur zur Veranschaulichung: Nimm eine hypothetische Instanz mit zwei vCPUs, einer Grundlinie von zehn Prozent pro vCPU, 24 angesammelten Credits und einer voll ausgelasteten vCPU, während die andere im Leerlauf ist. Diese Zahlen sind erklärte Eingaben, nicht die Spezifikation einer bestimmten Instanzgröße.
Earn rate: 2 x 10% x 60 = 12 credits/hour
Workload usage: 1 x 100% x 60 = 60 credits/hour
Net draw: 60 - 12 = 48 credits/hour
Accrued budget: 24 / 48 = 0.5 hoursUnter diesen Annahmen ist das Budget in etwa einer halben Stunde aufgebraucht. Hintergrundarbeit, wechselnde Last und die eigene Abrechnung der Instanz verschieben das Ergebnis, und nichts davon sagt den VPN-Durchsatz voraus. Es sagt voraus, wann die dauerhafte Einschränkung zu wirken beginnt.
Beachte auch den zweiten Messwert: Eine beschäftigte vCPU entspricht in diesem Beispiel ungefähr der Hälfte der gesamten CPU-Kapazität. Ein moderater Gesamtprozentsatz kann einen gesättigten Kern verbergen, also schau dir das Verhalten pro Kern zusammen mit den Credit-Zahlen an.
Standard und Unlimited: dieselbe Null, andere Bedeutung
Im Modus Standard begrenzt ein erschöpftes Guthaben die dauerhafte CPU in Richtung Grundlinie. Die Instanz arbeitet weiter, nur langsamer, und die Obergrenze ist vorhersehbar. Im Modus Unlimited kann die Instanz nach dem Erreichen von null weiter aus Überschuss-Credits schöpfen, und dauerhafte Nutzung über der Grundlinie kann nach den Abrechnungsregeln des Dienstes Kosten erzeugen.
Ein CPUCreditBalance von null bedeutet also Drosselung im einen Modus und mögliche Abrechnung im anderen. Das ist der ganze Vergleich, und deshalb ist es irreführend, die Metrik ohne den Modus zu lesen.
Auch Überschuss ist keine einfache Rechnung pro Credit. Späterer Betrieb unterhalb der Grundlinie kann Überschussnutzung abbauen, und weitere Kostenbedingungen gelten. Prüfe den konfigurierten Modus und die aktuellen Regeln des Dienstes, statt sich auf eine Aussage zum kostenlosen Kontingent aus einem alten Blogbeitrag zu verlassen.
Worauf du bei echter Arbeit achten solltest
Erfasse CPUCreditUsage und CPUCreditBalance neben Dauer und Rate der Übertragung. Bei Unlimited kommen CPUSurplusCreditBalance und CPUSurplusCreditsCharged hinzu. Der Leitfaden von AWS zur Überwachung von CPU-Credits erklärt, was jede dieser Metriken meldet und wie oft.
Teste erneut mit repräsentativer Parallelität und ausreichender Dauer, um den Trend zu sehen, und notiere das Startguthaben. Ein ruhiger Morgen und ein geschäftiger Nachmittag sind nicht dasselbe Experiment, selbst bei identischen Befehlen.
Grenzen, die nicht die CPU sind
Netzwerkbandbreite hat ihre eigene Grundlinie und ihr eigenes Burst-Verhalten, und Grenzen für Paketrate oder Verbindungen können vor der CPU greifen. Arbeitsspeicher zählt, wenn die VPN-Implementierung Zustand pro Verbindung hält, und eine kleine Instanz kann eher daran ausgehen als an Credits.
Ein gesundes Credit-Guthaben beweist daher eines: Das CPU-Budget ist nicht die aktuelle Einschränkung. Es sagt nichts über den Netzwerkpfad aus und nichts darüber, was bei doppelter Parallelität passiert. Beobachte die Netzwerkmetriken im selben Fenster wie die Credit-Metriken, damit ein Durchsatzeinbruch eine plausible Ursache hat statt einer Theorie.
Eine Grundlinie bewusst wählen
Nutze die gemessene dauerhafte Last, um eine Grundlinie zu wählen, oder akzeptiere Bursting ausdrücklich und plane es im Budget ein. Beide Antworten sind vertretbar, wenn sie aufgeschrieben sind; keine ist vertretbar, wenn sie aus dem erfolgreichen Videostream von jemand anderem abgeleitet wird.
Wenn das Gateway tragend ist, behandle den Credit-Modus als Teil des Kapazitätsplans und nicht als Standard, den du nie geöffnet hast. Der Modus, den du wählst, ist der Ausfall, den du vorhersagen kannst.