VPN EC2 burstable: crediti CPU Standard o Unlimited?
Una modalità limita alla baseline, l'altra continua e può addebitarti. Fai i conti dei crediti prima che una piccola istanza diventi il tuo gateway.
Un piccolo gateway VPN supera un test di velocità, sembra a posto, poi peggiora dopo pranzo. L'istanza non mentiva durante il test; stava spendendo crediti guadagnati mentre era inattiva. Le istanze burstable sono progettate esattamente per questo, il che rende un breve benchmark un cattivo predittore di un pomeriggio di trasferimenti. Le due modalità di credito falliscono anche in modi diversi, e scegliere tra loro è la vera decisione.
Da dove ha preso in prestito il test di velocità
Un credito CPU è una vCPU in esecuzione a piena utilizzazione per un minuto. Un'istanza burstable guadagna crediti al suo tasso di baseline e li spende quando supera quella baseline. Una notte inattiva accumula un saldo; una mattina intensa lo consuma.
Ecco perché il primo test sembra buono. L'istanza aveva un budget accumulato, lo ha speso in lavoro di cifratura e ha riportato una velocità sana. Nulla nel risultato ti dice cosa succede quando il saldo arriva a zero. Il benchmark ha misurato un burst, e un burst è ciò che l'istanza è progettata per fornire. Non ha mai misurato lo stato stazionario su cui stai per fare affidamento.
L'aritmetica che devi fare
Gli input sono la percentuale di baseline per vCPU, il numero di vCPU, il saldo accumulato e il carico che ti aspetti. Solo a titolo illustrativo, prendi un'istanza ipotetica con due vCPU, una baseline del dieci per cento per vCPU, 24 crediti accumulati e una vCPU completamente occupata mentre l'altra è inattiva. Questi numeri sono input dichiarati, non la specifica di una particolare dimensione di istanza.
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 hoursCon queste ipotesi il budget si esaurisce in circa mezz'ora. Il lavoro in background, il carico variabile e la contabilità dell'istanza spostano il risultato, e nulla di questo predice il throughput VPN. Ciò che predice è quando il vincolo sostenuto inizia a farsi sentire.
Nota anche la seconda lettura: una vCPU occupata è all'incirca metà della capacità CPU aggregata in questo esempio. Una percentuale complessiva moderata può nascondere un core saturo, quindi guarda il comportamento per core insieme ai numeri dei crediti.
Standard e Unlimited: stesso zero, significato diverso
In modalità Standard, un saldo esaurito limita la CPU sostenuta verso la baseline. L'istanza continua a funzionare, solo più lentamente, e il tetto è prevedibile. In modalità Unlimited l'istanza può continuare ad attingere ai crediti in eccesso dopo che il saldo arriva a zero, e l'uso sostenuto sopra la baseline può produrre addebiti secondo le regole contabili del servizio.
Quindi un CPUCreditBalance pari a zero significa throttling in una modalità e possibile fatturazione nell'altra. È tutto il confronto, ed è per questo che leggere la metrica senza leggere la modalità è fuorviante.
Il surplus non è nemmeno una semplice fattura per credito. Un funzionamento successivo sotto la baseline può ripagare l'uso in eccesso, e si applicano altre condizioni di addebito. Controlla la modalità configurata e le regole attuali del servizio invece di affidarti alla pretesa di un livello gratuito da un vecchio post di un blog.
Cosa osservare durante il lavoro reale
Registra CPUCreditUsage e CPUCreditBalance accanto alla durata e alla velocità del trasferimento. Su Unlimited, aggiungi CPUSurplusCreditBalance e CPUSurplusCreditsCharged. La guida AWS al monitoraggio dei crediti CPU spiega cosa riporta ciascuno e con che frequenza.
Ripeti il test con una concorrenza rappresentativa e una durata sufficiente a vedere la tendenza, e registra il saldo iniziale. Una mattina inattiva e un pomeriggio intenso non sono lo stesso esperimento, anche con comandi identici.
Limiti che non sono la CPU
La larghezza di banda di rete ha la propria baseline e il proprio comportamento a burst, e i limiti di packet rate o di connessioni possono legare prima della CPU. La memoria conta quando l'implementazione VPN mantiene lo stato per connessione, e una piccola istanza può esaurirla molto prima di esaurire i crediti.
Un saldo crediti sano dimostra quindi una cosa: il budget CPU non è il vincolo attuale. Non dice nulla sul percorso di rete e non dice nulla su cosa succede al doppio della concorrenza. Osserva le metriche di rete nella stessa finestra delle metriche dei crediti, così un calo di throughput ha una causa candidata invece di una teoria.
Scegliere una baseline di proposito
Usa il carico sostenuto misurato per scegliere una baseline, oppure accetta esplicitamente il bursting e mettilo a budget. Entrambe le risposte sono difendibili quando sono messe per iscritto; nessuna delle due lo è quando è dedotta dallo streaming video riuscito di qualcun altro.
Se il gateway è portante, tratta la modalità dei crediti come parte del piano di capacità invece che come un default che non hai mai aperto. La modalità che scegli è il guasto che puoi prevedere.