REL01-BP01 Consapevolezza su quote e vincoli di servizio - Framework AWS Well-Architected

REL01-BP01 Consapevolezza su quote e vincoli di servizio

Conosci le quote predefinite e gestisci le richieste di aumento delle quote per l’architettura del carico di lavoro. Sai quali vincoli delle risorse cloud, ad esempio disco o rete, sono potenzialmente influenti.

Risultato desiderato: i clienti possono prevenire il degrado o l’interruzione nei loro Account AWS mediante l’implementazione di linee guida opportune per il monitoraggio delle metriche chiave, gli esami dell’infrastruttura e le misure di correzione dell’automazione, così da verificare che non vengano raggiunte quote e vincoli di servizio che potrebbero causare degrado o interruzione del servizio.

Anti-pattern comuni:

  • Distribuzione di un carico di lavoro senza comprendere le quote hard o soft e i relativi limiti per i servizi utilizzati.

  • Distribuzione di un carico di lavoro sostitutivo senza analizzare e riconfigurare le quote necessarie o contattare preventivamente l’assistenza.

  • Supposizione che i servizi cloud non abbiano limiti e che i servizi possano essere utilizzati senza tener conto di tariffe, limiti, conteggi, quantità.

  • Supposizione che le quote verranno aumentate automaticamente.

  • Mancata conoscenza del processo e della scadenza delle richieste di quote.

  • Supposizione che la quota predefinita del servizio cloud sia identica per ogni servizio rispetto alle varie regioni.

  • Supposizione che i vincoli del servizio possano essere violati e che i sistemi procedano al dimensionamento automatico o aumentino il limite oltre i vincoli della risorsa

  • Nessun test dell’applicazione nei momenti di picco del traffico, per stressare l’utilizzo delle sue risorse.

  • Provisioning della risorsa senza analisi della dimensione della risorsa richiesta.

  • Provisioning in eccesso di capacità scegliendo tipi di risorse che vanno ben oltre il fabbisogno effettivo o i picchi previsti.

  • Nessuna valutazione dei requisiti di capacità per nuovi livelli di traffico prima di un nuovo evento cliente o dell’implementazione di una nuova tecnologia.

Vantaggi dell’adozione di questa best practice: il monitoraggio e la gestione automatizzata di quote di servizio e vincoli di risorse consentono di ridurre in modo proattivo i guasti. Le modifiche nei modelli di traffico per il servizio di un cliente possono causare un’interruzione o un degrado se non si seguono le best practice. Monitorando e gestendo questi valori in tutte le regioni e in tutti gli account, le applicazioni possono avere una maggiore resilienza in caso di eventi avversi o non pianificati.

Livello di rischio associato se questa best practice non fosse adottata: elevato

Guida all’implementazione

Service Quotas è un servizio AWS che consente di gestire le quote per 250 servizi AWS da un’unica posizione. Oltre a cercare i valori delle quote, si possono anche richiedere e monitorare gli aumenti delle stesse tramite la console di Service Quotas o l’SDK AWS. AWS Trusted Advisor offre un controllo delle quote di servizio che mostra l’utilizzo e le quote per alcuni aspetti di determinati servizi. Le quote di servizio predefinite per servizio sono indicate anche nella documentazione AWS di ciascun servizio (consulta, ad esempio, le quote di Amazon VPC).

Alcuni limiti dei servizi, come i limiti di velocità sulle API con limitazione (della larghezza di banda della rete) vengono impostati all’interno del Gateway Amazon API stesso configurando un piano di utilizzo. Altre restrizioni impostate come configurazione per i rispettivi servizi includono capacità di IOPS allocata, storage Amazon RDS allocato e allocazioni di volumi EBS. Amazon Elastic Compute Cloud dispone di un proprio pannello di controllo sulle restrizioni dei servizi che consente di gestire l’istanza, Amazon Elastic Block Store e i limiti degli indirizzi IP elastici. Se hai un caso d’uso in cui le quote di servizio influiscono sulle prestazioni della tua applicazione e queste non sono adattabili alle tue esigenze, contatta Supporto per scoprire se sono possibili riduzioni.

Le quote di servizio possono essere specifiche per ogni regione o di natura globale. L’uso di un servizio AWS che raggiunge la sua quota non si comporterà come previsto nell’uso normale e potrebbe causare interruzioni o degrado del servizio. Ad esempio, una quota di servizio stabilisce limiti per il numero di istanze DL Amazon EC2 impiegate in una regione. È possibile raggiungere tale limite durante un evento di scalabilità del traffico utilizzando i gruppi Amazon EC2 Auto Scaling.

Le quote di servizio per ogni account devono essere valutate in modo regolare per determinare i limiti di servizio opportuni per quell’account. Queste quote di servizio fungono da guardrail operativi, per evitare di fornire accidentalmente più risorse di quelle necessarie. Servono anche a limitare i tassi di richiesta delle operazioni API per proteggere i servizi dagli abusi.

I limiti dei servizi sono diversi dalle quote dei servizi. I vincoli di servizio rappresentano i limiti di una particolare risorsa, definiti dalla stessa. Questi possono essere la capacità di archiviazione (ad esempio, gp2 ha un limite di dimensione di 1 GB - 16 TB) o il throughput del disco. È essenziale che il vincolo di un tipo di risorsa sia progettato e valutato in modo costante per l’utilizzo che potrebbe raggiungere il suo limite. In caso di raggiungimento inaspettato di un vincolo, può verificarsi il degrado o l’interruzione delle applicazioni o dei servizi dell’account.

Se uno dei tuoi casi d’uso presenta quote di servizio che influiscono sulle prestazioni della tua applicazione e non sono adattabili alle tue esigenze, contatta Supporto per vedere se sono possibili mitigazioni. Per ulteriori dettagli sull’adeguamento delle quote fisse, consulta REL01-BP03 Adattamento di quote e vincoli di servizio fissi mediante l'architettura.

Esistono alcuni servizi e strumenti AWS per il monitoraggio e la gestione di Service Quotas. Sfrutta il servizio e gli strumenti per fornire controlli automatizzati o manuali dei livelli di quota.

  • AWS Trusted Advisor offre un controllo delle quote di servizio che mostra l’utilizzo e le quote per alcuni aspetti di determinati servizi. Può aiutare a identificare i servizi vicini alle quote.

  • Console di gestione AWS fornisce metodi per la visualizzazione dei valori delle quote dei servizi, la gestione, la richiesta di nuove quote, il monitoraggio dello stato delle richieste di quote e la visualizzazione della cronologia delle quote.

  • AWS CLI e CDK offrono metodi programmatici per gestire e monitorare in automatico utilizzo e livelli delle quote di servizio.

Passaggi dell’implementazione

Per Service Quotas:

  • Consulta AWS Service Quotas.

  • Per avere la certezza delle quote di servizio esistenti, stabilisci i servizi (come IAM Access Analyzer) usati. Sono circa 250 i servizi AWS controllati da quote di servizio. Quindi stabilisci il nome della quota di servizio specifica utilizzabile all’interno di ogni account e regione. Esistono circa 3000 nomi di quote di servizio per regione.

  • Amplia questa analisi delle quote con AWS Config per individuare tutte le risorse AWS utilizzate nei tuoi Account AWS.

  • Usa i dati di AWS CloudFormation per determinare le risorse AWS utilizzate. Esamina le risorse create in Console di gestione AWS o con il comando AWS CLI di list-stack-resources. È anche possibile vedere le risorse configurate da implementare nel modello stesso.

  • Stabilisci tutti i servizi necessari per il tuo carico di lavoro analizzando il codice di implementazione.

  • Determina le quote di servizio applicabili. Utilizza le informazioni accessibili in modo programmatico da Trusted Advisor e Service Quotas.

  • Stabilisci un metodo di monitoraggio automatizzato (consulta REL01-BP02 Gestisci le quote di servizio tra account e regioni e REL01-BP04 Monitoraggio e gestione delle quote) per ricevere avvisi e informazioni se le quote di servizio sono vicine al limite o lo hanno superato.

  • Stabilisci un metodo automatizzato e programmatico per verificare se una quota di servizio ha subito modifiche in una regione ma non in altre nello stesso account (consulta REL01-BP02 Gestisci le quote di servizio tra account e regioni e REL01-BP04 Monitoraggio e gestione delle quote).

  • Automatizza la scansione dei log e delle metriche delle applicazioni per determinare la presenza di errori di quota o di vincoli di servizio. In presenza di errori, invia gli allarmi al sistema di monitoraggio.

  • Stabilisci procedure di progettazione per calcolare la modifica richiesta della quota (consulta REL01-BP05 Automazione della gestione delle quote) una volta individuata la necessità di quote più elevate per servizi specifici.

  • Crea un flusso di lavoro di provisioning e di approvazione per richiedere modifiche alla quota di servizio, che dovrebbe includere un flusso di lavoro di eccezione in caso di rifiuto della richiesta o di approvazione parziale.

  • Crea un metodo di progettazione per rivedere le quote di servizio prima del provisioning e dell’utilizzo di nuovi servizi AWS prima del roll-out in ambienti di produzione o carichi (ad esempio, account di test di carico).

Per i vincoli dei servizi:

  • Stabilisci metodi di monitoraggio e metriche per avvisi in caso di avvicinamento da parte delle risorse ai relativi limiti. Sfrutta CloudWatch in base alle necessità per le metriche o il monitoraggio dei log.

  • Stabilisci soglie di allarme per ciascuna risorsa con un vincolo significativo per l’applicazione o il sistema.

  • Crea procedure di gestione del flusso di lavoro e dell’infrastruttura per cambiare il tipo di risorsa se il vincolo è prossimo all’utilizzo. Questo flusso di lavoro dovrebbe includere test di carico come best practice per verificare che quello nuovo sia il tipo di risorsa corretto in base ai nuovi vincoli.

  • Migra la risorsa identificata al nuovo tipo di risorsa consigliato, utilizzando procedure e processi esistenti.

Risorse

Best practice correlate:

Documenti correlati:

Video correlati:

Strumenti correlati: