
Il problema
La capacità delle famiglie di istanze GPU EC2 come P5, P4d, G7, G6 e G5 può scarseggiare, soprattutto nei periodi di forte domanda. Quando si ferma un'istanza, questa torna al pool condiviso e non c'è alcuna garanzia che sia ancora disponibile al momento del riavvio.
È così che la manutenzione ordinaria diventa una scommessa. Nell'istante in cui ferma un'istanza GPU per aggiornare un driver, ruotare un'AMI, ridimensionare il volume di root o applicare un aggiornamento del sistema operativo, quella capacità diventa contendibile da qualunque altro cliente AWS.
Se la domanda è alta, al riavvio può imbattersi in un errore InsufficientInstanceCapacity e la sua "finestra di manutenzione da 10 minuti" si trasforma in ore di tentativi ripetuti o, peggio, in un'interruzione del servizio in attesa che si liberi capacità.

Cosa fa davvero una On-Demand Capacity Reservation
Una EC2 On-Demand Capacity Reservation (ODCR) riserva capacità di calcolo per un tipo di istanza specifico, in una determinata Availability Zone, per tutta la durata in cui la prenotazione resta attiva. L'aspetto fondamentale è che la capacità viene mantenuta a sua disposizione, indipendentemente dal fatto che un'istanza sia in esecuzione o meno.
Proprio quest'ultimo punto rende le ODCR lo strumento giusto per la manutenzione. Quando ferma un'istanza che sta utilizzando una prenotazione, la capacità riservata resta comunque a sua disposizione. AWS la mantiene allocata in via esclusiva al suo account. Al riavvio dell'istanza, AWS garantisce che la capacità riservata sia disponibile.
Alcune caratteristiche importanti
Contrariamente a quanto potrebbe far pensare il nome, una Capacity Reservation immediata non è un impegno a lungo termine. Garantisce semplicemente che la capacità EC2 di cui ha bisogno sia disponibile quando le serve. Se i suoi piani cambiano o non le serve più quella capacità riservata, può annullare la prenotazione in qualsiasi momento. Non sono previste penali di cancellazione né periodi minimi di impegno.
Il costo di una Capacity Reservation è pari a quello di un'istanza EC2 On-Demand in esecuzione. Se dispone di un Savings Plan applicabile o di Reserved Instances, la tariffa scontata si applica anche alla Capacity Reservation. L'unica differenza è che continua a pagare la capacità riservata anche mentre l'istanza è ferma, finché non annulla la Capacity Reservation o non avvia l'istanza.

Perché è cruciale proprio in fase di manutenzione
Paradossalmente, è proprio durante la manutenzione che si è più esposti. Una volta fermata l'istanza, la sua capacità torna al pool condiviso di AWS. Se un altro cliente AWS avvia un'istanza compatibile nella stessa Availability Zone prima che lei riavvii la sua, può portarsi via la capacità che fino a un momento prima serviva la sua istanza, trasformando potenzialmente una finestra di manutenzione pianificata in un'interruzione imprevista.
Operazioni di stop/start
Molte attività di manutenzione richiedono un ciclo completo di stop/start e non un semplice riavvio:
- Passaggio a una nuova AMI
- Modifica di determinati attributi dell'istanza
Ogni operazione di questo tipo restituisce l'istanza al pool di capacità condivisa.
Manutenzione a rotazione su una fleet
Se sta applicando patch a una fleet nodo per nodo, di norma svuota e ferma un'istanza alla volta. Senza capacità riservata, ogni nodo che spegne potrebbe non tornare più disponibile, con il rischio di ritrovarsi in modo permanente con una fleet più piccola di quella iniziale.
Eventi hardware pianificati
AWS pianifica occasionalmente interventi sull'host sottostante (ad esempio in caso di hardware degradato o dismissione dell'host). Disporre di una Capacity Reservation garantisce la capacità di calcolo necessaria quando ferma e riavvia l'istanza per migrare fuori dall'host interessato.
Come utilizzarla nella pratica
Nella Console EC2, crei una On-Demand Capacity Reservation aperta che corrisponda a:
- Tipo di istanza
- Availability Zone
- Sistema operativo (Platform)
Dimensioni la Capacity Reservation in base al numero totale di istanze dello stesso tipo (ad esempio g7.xlarge) presenti in quella Availability Zone durante l'intervento di manutenzione a rotazione.

Verifichi che le sue istanze utilizzino effettivamente la prenotazione. Per impostazione predefinita, le istanze EC2 sfruttano automaticamente una Capacity Reservation aperta ogni volta che è disponibile una prenotazione compatibile. Si accerti che le Capacity Reservations create siano davvero impiegate dalle sue istanze.
Le Capacity Reservations supportano anche casi d'uso più avanzati, come le prenotazioni mirate per workloads specifici. Questi scenari esulano dagli obiettivi di questo articolo.
Esegua la manutenzione come di consueto:
- Fermi l'istanza.
- Applichi le modifiche necessarie.
- Riavvii l'istanza.

Poiché la capacità resta riservata, l'istanza si avvia senza dover competere per la capacità GPU disponibile.
A manutenzione conclusa, annulli la Capacity Reservation se non le serve più. Le istanze continueranno a funzionare normalmente.
Quanto è costato?
Per vedere con esattezza quanto ha pagato per la capacità riservata mentre le istanze erano ferme, attenda circa 48 ore dal termine della manutenzione. I dati di fatturazione AWS non sono in tempo reale e possono servire fino a due giorni perché questi addebiti compaiano.
Una volta aggiornati i dati di fatturazione:
- Apra AWS Billing → Bills.
- Cerchi "Unused Reservation".
Troverà una voce che riporta:
- Il tipo di istanza
- L'importo addebitato per la Capacity Reservation nel periodo in cui non era utilizzata da un'istanza in esecuzione

È un modo semplice per misurare il costo della certezza di capacità durante la finestra di manutenzione.
Nel mio caso, la manutenzione è durata meno di 30 minuti. Senza una Capacity Reservation, avrei potuto aspettare ore prima che tornasse disponibile capacità GPU.
In sintesi
La scarsità di capacità è una realtà inevitabile quando si eseguono workloads in un ambiente cloud condiviso. Per fortuna, AWS mette a disposizione un modo semplice per eliminare questa incertezza nei momenti in cui conta davvero.
Se sta pianificando interventi di manutenzione su istanze GPU, o su qualunque tipo di istanza EC2 con capacità scarsa, una Capacity Reservation temporanea può fare la differenza tra una normale finestra di manutenzione e ore di downtime imprevisto.