AWS Trusted Advisor un consulente per Amazon
da Massimo Della Rovere · pubblicato il 30 dicembre, 2014 · modificato il 5 giugno, 2017

Quando si incominciano ad utilizzare gli Amazon Web Services ci si rende conto di quante cose vengono semplificate rispetto i setup classici. Però questo non vuol dire che con il crescere delle risorse le difficoltà non aumentino. Infatti quando ci troviamo a configurare degli account AWS in cui vengono richiesti diversi servizi, attivate molte risorse e con molti Ruoli, il controllo generale richiede impegno.

Proprio per questo motivo è nato il servizio di AWS Trusted Advisor che permette di avere uno specie di consulente che ci indica (tramite una dashboard) le risorse o le configurazioni che devono essere riviste. Sia per quanto riguarda la sicurezza generale che il risparmio economico. Infatti ci verranno indicate le risorse che utilizziamo poco o anche quelle con cui ci stiamo avvicinando al limite massimo di utilizzo.

Introduzione

Esistono diversi livelli di supporto per questo servizio. Si parte con quello di base che vi trovate attivato gratuitamente, per passare a quello di sviluppatore, business e Enterprise. I costi sono molti diversi tra di loro e salgono in base al numero di indicatori messi a disposizione e alle risorse totali che si devono gestire. Come sempre per i prezzi e i costi generali vi rimandiamo alla documentazione ufficiale.

AWS trusted advisor

Gli indicatori disponibili sono suddivisi in 4 gruppi: Ottimizzazione dei Costi, Sicurezza, Fault Tolerance e Performance. In ogni gruppo saranno disponibili delle informazioni per migliorare i servizi di Amazon EC2, Elastic Load Balancing, Amazon EBS, Amazon S3, Auto Scaling, Amazon IAM, Amazon RDS, Route 53 e altro ancora.

Dashboard

Per utilizzare questo servizio basta andare nella nostra console e visualizzare la dashboard di AWS Trusted Advisor. Per questo servizio non serve selezionare la regione geografica in quanto il servizio agisce a livello Global. Vi riporto qui di seguito una videata di esempio che ho preso dal mio account AWS che uso per diverse prove:

AWS Advisor

Come potete notare vengono prima identificati i gruppi degli avvisi con il numero delle eventuali notifiche che sono state generate. Subito dopo vengono indicati degli avvisi con delle raccomandazioni da eseguire sulle varie risorse presenti nell’account. Nel mio caso ad esempio mi indica che tre gruppi di sicurezza su 34 configurati hanno l’accesso totale e che sarebbe meglio indicare un range di indirizzi IP e/o un protocollo permesso.

Raccomandazione

Cliccando sulla freccia della raccomandazione possiamo vedere tutti i dettagli delle risorse che sono state coinvolte nella notifica. Nel mio caso dopo aver aperto la sezione mi è stata presentata la seguente schermata, in cui ho scoperto che il gruppo di sicurezza indicato era stato usato nella regione di SP per alcune prove generali.

AWS Advisor

A questo punto è possibile porre rimedio al problema e richiedere al servizio di elaborare di nuovo l’analisi della raccomandazione. Basta cliccare sull’icona con le frecce circolari e attendere il nuovo risultato. Nel mio caso ho tolto l’accesso totale dal security groups e ottenuto un nuovo stato nella sezione della sicurezza.

AWS Advisor

Gli indicatori che è possibile controllare tramite AWS Trusted Advisor sono molti, la cosa migliore è quella di incominciare a curiosare sui messaggi che vengono indicati sul vostro account e capire i motivi per cui sono stati generati. In ogni caso nei capitoli a seguire vi elencherò vari indicatori suddivisi in gruppi.

Avvisi sui Costi

Da una statistica rilasciata da Amazon si evidenzia che dal 2013 sono stati generati più di un milione di raccomandazioni usate dai vari clienti, i quali hanno generato un risparmio complessivo di circa 300 milioni di dollari. Gli indicatori disponibili sono:

AWS Advisor

Istanze Riservate: analizza la storia del consumo totale in ambiente Amazon EC2 e calcola il numero ottimale per le istanze riservate. Infatti, acquistando delle riservate in molti casi è possibile risparmiare sui costi mensili in maniera molto significativa.

Istanze a basso utilizzo: controlla tutte le risorse EC2 che vengono utilizzate poco e che possono essere sostituite con istanze meno potenti o aggregate. Il calcolo viene fatto sugli ultimi 14 giorni di utilizzo e viene controllata la %CPU e l’utilizzo di rete.

Equilibrio di carico: il servizio controlla l’utilizzo di Elastic Load Balancer e calcola se il carico di lavoro viene distribuito in maniera ottimale tra le istanze. Se si verificano delle mancanze di risorse o il traffico risulta troppo intenso non sarà considerato ottimale.

Volumi EBS: l’utilizzo dei dischi fissi collegati alle varie istanze sono sempre difficili da controllare, grazie a questo servizio è possibile scoprire senza difficoltà quante risorse EBS sono state configurate e non utilizzate in maniera ottimale e/o con pochi accessi.

Elastic IP: come sappiamo gli IP statici che associamo al nostro account non hanno costo solo se li utilizziamo con delle istanze EC2 attive. Può capire di non utilizzare indirizzi IP e lasciarli memorizzati, con questa opzione verremmo avvisati.

Amazon RDS: se si avviano diverse istanze RDS e non si controlla costantemente il traffico è possibile che rimanga qualche istanza inattiva. Questo avviso controllerà questa situazione per noi e ci permetterà di spegnere le risorse che non sono usate.

Avvisi sulla Sicurezza

Gli avvisi che appartengono al gruppo della sicurezza sono utili per scoprire delle opzioni non configurate correttamente, porte aperte senza restrizioni e una serie di indicazioni che sono utili al miglioramento della sicurezza generale. Gli avvisi del servizio sono diversi e vi elenco quelli che ritengo più importanti qui di seguito:

AWS Advisor

Porte aperte: controlla tutti i security groups presenti nel nostro account ed emette degli avvisi in base alle restrizioni. Ad esempio viene notificato un avviso rosso se ci sono delle regole con tutte le porte aperte o in giallo per quelle più pericolose.

Amazon IAM: controlla se viene usato correttamente il servizio IAM per la definizione delle regole che controllano l’accesso alle risorse. Con questo servizio è possibile creare utenti, gruppi di utenti e ruoli specifici per controllare i permessi sulle risorse.

Amazon S3: controlla se esistono delle risorse su S3 con accessi pubblici troppo alti, infatti in questa condizione ci può essere il pericolo di essere attaccati anche solo con l’utilizzo ingiustificato di risorse e la memorizzazione di oggetti che incidono sui costi.

Account MFA: come abbiamo riportato sugli articoli della sicurezza in AWS, una delle prime cosa da fare, è quella di attivare la doppia autenticazione sull’account root e su gli account di amministrazione. Questa avviso ci aiuta a verificare questa condizione.

Password IAM: controlla se abbiamo abilitato le politiche di password in IAM, le quali aumentano in maniera significativa la sicurezza di un’account. Quando viene creata una nuova politica di sicurezza tutti gli utenti saranno obbligati a cambiare la password.

Amazon RDS: normalmente le istanze di database servono per rispondere alle richieste di alcune applicazioni presenti su Amazon EC2. In ogni caso è consigliabile indicare sempre le restrizioni giuste di accesso. Il servizio controllerà proprio questa situazione.

AWS CloudTrail: viene controllato l’uso del servizio di Amazon CloudTrail, il quale serve a controllare le azioni di determinati account o ruoli in un determinato periodo. Dato che verranno generati dei logs sulle chiamate API il controllo sarà di fatto totale.

Avvisi di Fault Tolerance

La tolleranza ai guasti è un’aspetto importante che riguarda qualsiasi infrastruttura hardware e/o software che necessità di continuità di servizio. Con gli avvisi presenti in questo gruppo è possibile controllare le configurazioni che riguardano la disponibilità, la ridondanza, le funzionalità di scalabilità automatica e la gestione del multi-zona.

Datacenter

Snapshots EBS: i dischi collegati alle istanze EC2 possono essere esposti a guasti come un qualsiasi componente hardware. Per questo motivo bisogna avere sempre alcune copie su Amazon S3. Questo avviso controllerà lo stato delle copie e i dischi.

Zona di disponibilità: viene controllata la distribuzione delle risorse sulle diverse zone di disponibilità presenti in una regione geografica. L’avvio di istanze su zone diverse aiuta a salvaguardare l’applicazione nel caso in cui un data center abbia dei problemi.

Connessioni VPN: controllo lo stato delle connessioni VPN tra l’ambiente di Amazon AWS e quello aziendale. Le connessioni dovranno avere sempre due tunnell attivati in maniera da mantenere una ridondanza nel caso di un guasto all’apparato di networking.

Amazon RDS: vengono controllate le copie di sicurezza che riguardano le istanze RDS e i database associati. Normalmente conviene avere almeno uno copia per ogni giorno, in questo modo non si rischia la perdita dei dati e si può ripristinare velocemente.

Amazon Route 53: verranno eseguiti diversi controlli per la disponibilità del servizio DNS messo a disposizione da Amazon. Vengono controllate le configurazioni di delegazione, i valori TTL delle entrate DNS, le commutazioni e il controllo di stato.

Avvisi di Performance

In questo gruppo si trovano tutti quei controlli che cercano di individuare dei problemi di performance che possono essere sia attuali che di immediato futuro. Infatti diversi avvisi saranno notificati con anticipo rispetto al problema di performance previsto.

Performance

Amazon EC2: controlla l’andamento delle istanze e attiva un’avviso calcolato durante gli ultimi 14 giorni, se ci sono stati 4 giorni o più in cui la CPU ha superato il 90% di utilizzo scatta la notifica con cui si raccomanda di controllare la configurazione.

Limite di servizio: ogni account ha un limite preciso sul numero di risorse che possono essere attivate. Se per caso si raggiunge un 80% di questo limite, viene creato un’avviso che ci permette di richiedere un’aumento prima della necessità imminente.

IOPS e EBS: quando associamo un disco EBS ad un’istanza possiamo decidere il livello di performance che desideriamo, il servizio di AWS Trusted Advisor controllerà il rapporto selezionato e ci avviserà se troverà qualche valore non ottimizzato.

Numero regole: inserire troppe regole di accesso nello stesso security groups potrebbe generare dei problemi di performance. In questo caso il servizio di advisor calcolerà le regole presenti in ogni gruppo di sicurezza e genererà un avviso nella dashboard.

Amazon CloudFront: controlla se il traffico che viene generato verso le risorse statiche presenti in Amazon S3 possa essere migliorato con l’utilizzo di CloudFront. Infatti, con questo servizio è possibile copiare queste risorse in differenti edge-point nel mondo.

Guida completa su AWS

Questo articolo appartiene ad una serie di pubblicazioni che costituiscono una guida completa dedicata agli Amazon Web Services. Molti servizi che trattiamo in questo blog vengono anche spiegati con dei video che trovate nel nostro canale youtube. Se volete seguire questo percorso didattico iscrivetevi alla community Cloud AWS.

3 Commenti

  1. Articolo molto interessante. Volevo farti una domanda. Che differenza c'è tra il tool che hai presentato proprietario AWS e gli altri tools commerciali che fanno le stesse cose tipo Rightscale Optima piuttosto che turbonomic e altri?

  2. Questo servizio viene molto spesso sottovalutato, in realtà è molto più utile di quello che sembra. Sui clienti nuovi dove bisogna analizzare configurazioni esistenti è la prima cosa da lanciare per scoprire molte cose interessanti.

condividi