Che cos'è il monitoraggio del cloud AWS?
Il monitoraggio AWS consiste nell'osservare le soluzioni, le risorse e i servizi nativi di AWS, ospitati sul cloud AWS. Monitorare significa essere in grado di raccogliere, aggregare e analizzare le metriche che informano gli amministratori e gli architetti del cloud sullo stato di salute e sulle prestazioni delle applicazioni in esecuzione sulla piattaforma AWS. Il monitoraggio AWS è parte del più ampio monitoraggio del cloud che si concentra sul monitoraggio degli ambienti AWS.
Come servizio cloud, AWS è vasto e comprende decine di casi d'uso. Pertanto, il monitoraggio di AWS può diventare un compito piuttosto complesso per gli amministratori IT, a seconda del numero di servizi utilizzati e della loro interazione reciproca.
Il cloud AWS offre un'ampia gamma di servizi per le aziende che desiderano che la loro infrastruttura IT sia performante e facilmente scalabile. Database, storage, reti virtuali, ambienti di calcolo, bilanciatori di carico, macchine virtuali e molto altro possono essere ospitati sul cloud AWS. Questi servizi cloud sono adatti per ospitare esclusivamente la tua infrastruttura IT o per creare una configurazione ibrida insieme a un'infrastruttura locale. Il monitoraggio di AWS non è quindi isolato dagli sforzi di monitoraggio locali e spesso viene implementata un'unica soluzione di monitoraggio per monitorare tutto.
Data la vastità dell'offerta di AWS, è utile esaminare le aree specifiche di ciò che è possibile fare con questa piattaforma cloud e cosa e come può essere monitorato.
Quali sono le aree da monitorare su un cloud AWS?
I cloud AWS sono composti da più aree, che hanno esigenze diverse in termini di risorse e calcolo. A seconda del tipo di utilizzo, potrebbe essere necessario monitorare solo alcune di esse. Ad esempio, l'utilizzo di applicazioni serverless o di microservizi richiederà probabilmente l'impostazione di una strategia di monitoraggio del calcolo AWS. Il monitoraggio dello storage, invece, si concentrerà sul monitoraggio di AWS S3, il servizio AWS per lo storage. Oppure, se si utilizza un load balancer, il monitoraggio del load balancer AWS è un'altra area da esaminare. Dipende in gran parte dall'utilizzo pratico del cloud AWS pubblico o privato.
Il monitoraggio delle prestazioni AWS e il monitoraggio della sicurezza AWS sono aree più ampie che influenzano tutti i servizi e le risorse del cloud AWS. Devono essere al centro di qualsiasi strumento di monitoraggio AWS, poiché hanno un impatto su ogni tipo di configurazione dell'infrastruttura AWS.
Come minimo, il monitoraggio delle prestazioni delle applicazioni AWS deve essere implementato in qualsiasi ambiente cloud. Insieme al monitoraggio generale delle prestazioni e della sicurezza, garantirà che le applicazioni AWS funzionino in modo ottimale.
Monitoraggio delle prestazioni AWS
Le prestazioni sono sempre un'area chiave da monitorare. I cloud AWS hanno molte parti che influenzano le prestazioni complessive di un'applicazione e quindi esiste più di uno strumento per il monitoraggio delle prestazioni AWS. AWS stesso dispone di alcuni strumenti per il monitoraggio delle prestazioni delle applicazioni. I dati di tracciamento, ad esempio, sono forniti da AWS X-Ray. Traccia l'esecuzione di un'applicazione e riporta un'ampia serie di informazioni tecniche a scopo di debug. AWS Config fornisce un inventario di tutte le configurazioni delle risorse AWS. È uno strumento utile non solo per il suo scopo principale, ovvero l'identificazione di configurazioni errate, ma anche per notare come le modifiche alla configurazione possano avere un impatto sulle prestazioni.
Il monitoraggio delle prestazioni di AWS consiste principalmente nel controllare le metriche in tempo reale fornite da AWS sulle sue risorse. Le istanze EC2, i database RDS, i bucket S3 e altri hanno segnali individuali che indicano il loro funzionamento. Il principale strumento AWS per il monitoraggio di queste metriche è AWS Cloudwatch, di cui parleremo più avanti quando parleremo del monitoraggio dei servizi AWS. Per le applicazioni e i carichi di lavoro di piccole dimensioni, Cloudwatch dispone di una dashboard chiara che può aiutare gli amministratori a identificare i colli di bottiglia delle prestazioni sul loro cloud AWS. Per attività più complesse, è spesso preferibile uno strumento di monitoraggio AWS dedicato, che offra una maggiore personalizzazione e metriche raccoglibili.
Il monitoraggio delle prestazioni AWS riguarda sia il monitoraggio delle applicazioni AWS sia il monitoraggio delle risorse. Entrambi devono essere controllati per avere una visione completa delle prestazioni dell'ambiente AWS.
Monitoraggio della rete AWS
In entrambe le infrastrutture, full cloud e ibrida, c'è sempre più di una rete in funzione in ogni momento. Le reti possono estendersi su più data center, sia privati che pubblici, e possono aumentare la latenza dei pacchetti. Anche se i cloud AWS sono ottimizzati per ridurre i problemi di rete, è comunque essenziale implementare il monitoraggio della rete AWS.
In particolare, è fondamentale essere in grado di monitorare sia le reti on-premises che quelle cloud. Al giorno d'oggi è raro che se ne utilizzi esclusivamente una, quindi la soluzione di monitoraggio deve essere in grado di monitorare entrambe per evitare un'esperienza di monitoraggio e gestione incoerente. AWS dispone di alcuni strumenti integrati che sono utili per avere una visione delle reti AWS. AWS Transit Gateway Network Manager è in grado di monitorare le reti cloud e quelle on-premise. È in grado di rispondere ai problemi di connettività e dispone di un'interfaccia unificata per identificare qualsiasi problema con un solo sguardo.
Per accedere alle metriche effettive relative alle reti AWS, un buon punto di partenza è il monitoraggio delle varie Elastic Network Interfaces (ENI). Si tratta di schede di rete virtuali in un VPC (Virtual Private Cloud) su AWS, che espongono le caratteristiche di base di una scheda di rete reale, come gli indirizzi IP - sia pubblici che privati -, l'indirizzo Mac, i gruppi di sicurezza, i flag di origine/destinazione e una descrizione. Tuttavia, queste sono solo informazioni di base. Per avere un monitoraggio più olistico, è necessario raccogliere più metriche, ad esempio tramite le API AWS o utilizzando una soluzione di monitoraggio del cloud AWS di terze parti.
Sono utili anche i log di rete. Soprattutto quelli dei VPC e dei Load Balancer possono fornire molte informazioni su come, o se, funziona una rete AWS. Il loro controllo è piuttosto manuale, quindi è preferibile una soluzione di monitoraggio locale che possa esportare altre metriche da AWS attraverso un agente personalizzato.
Monitoraggio della sicurezza AWS
La sicurezza è sempre un fattore importante da considerare in qualsiasi organizzazione, soprattutto se una parte della vostra infrastruttura IT è delegata a un servizio di terze parti. Pertanto, è fondamentale essere in grado di monitorare la sicurezza del monitoraggio di AWS. AWS stessa dispone di una serie di strumenti che possono aiutare a monitorare la sicurezza di AWS.
AWS CloudTrail è un servizio AWS in grado di consentire l'audit operativo e dei rischi, la conformità e la governance per l'intero account AWS. Registra una serie di eventi che possono essere monitorati per garantire che le risorse e i dati siano stati acceduti solo da soggetti autorizzati, aiutandovi a identificare e a rispondere ad attività insolite. CloudTrail funziona con Amazon GuardDuty, un altro servizio AWS che analizza gli eventi di CloudTrail insieme a diversi tipi di log per identificare attività potenzialmente dannose o non autorizzate sull'intero account AWS. Entrambi sono fondamentali per il monitoraggio di base della sicurezza AWS. Tuttavia, possono essere facilmente sostituiti da soluzioni di monitoraggio del cloud AWS di terze parti.
Il monitoraggio della sicurezza AWS non riguarda solo l'identificazione di accessi ed eventi non autorizzati. Include anche la prevenzione di exploit di software da parte di agenti esterni malintenzionati. Le soluzioni di monitoraggio AWS possono scansionare i servizi AWS per scoprire le vulnerabilità del software e l'esposizione involontaria alla rete. Per i cloud AWS, lo strumento Inspector di Amazon svolge questo compito. Allo stesso modo, AWS Config può valutare e segnalare lo stato e le modifiche della configurazione, facilitando la risoluzione dei problemi e le verifiche di conformità.
Tutti questi strumenti sono specifici per AWS e non offrono una visione unificata. Pertanto, l'utilizzo di una soluzione centralizzata di monitoraggio del cloud presenta il grande vantaggio di visualizzare le stesse caratteristiche o altre simili in un unico dashboard e sistema di reporting.
Monitoraggio di AWS Lambda
AWS Lambda, uno dei servizi AWS più utilizzati, è un pilastro del serverless computing, rendendo il monitoraggio di AWS Lambda una necessità per garantire che le applicazioni in esecuzione su AWS abbiano prestazioni ottimali, non siano sotto stress e non causino interruzioni. Il monitoraggio di AWS Lambda consiste nel controllare le normali metriche relative a qualsiasi applicazione, come l'utilizzo della CPU, della memoria, del disco e della rete.
Amazon offre Lambda Insights all'interno del più ampio servizio AWS CloudWatch. Ogni applicazione Lambda esporta le sue metriche chiave in CloudWatch per l'analisi e la risoluzione dei problemi, se necessario. Queste stesse metriche possono essere monitorate esternamente attraverso un software di monitoraggio che supporti il monitoraggio del cloud AWS.
Le applicazioni Lambda hanno i propri log, anch'essi disponibili per CloudWatch. Come è ormai chiaro, questi log sono esportabili e possono essere visualizzati anche con una soluzione di monitoraggio AWS esterna.
Monitoraggio di AWS S3
AWS S3 (acronimo di Simple Storage Service) è il servizio cloud AWS per l'archiviazione dei dati. Questo non comprende solo i dati delle applicazioni, ma anche i backup e l'archiviazione a lungo termine dei documenti. Questi dati possono essere ospitati in varie sedi e con diversi livelli di utilizzo, a seconda del livello di disponibilità desiderato.
Garantire che i dati S3 siano sicuri e non vengano toccati è il compito del monitoraggio di AWS S3. Si sovrappone naturalmente al monitoraggio della sicurezza AWS, poiché i dati fanno parte delle risorse complessive di un'infrastruttura e devono essere protetti da parti esterne. Per garantire che i dati non vengano persi o manomessi, AWS offre alcune possibilità. La prima opzione è l'S3 Access Analyzer, che segnala i bucket S3 (un contenitore virtuale per gli oggetti memorizzati su S3) che sono pubblicamente disponibili su Internet o al di fuori dell'organizzazione. Per ogni bucket vengono fornite informazioni sul livello di accesso e sulla sua origine. Vengono inoltre segnalate le autorizzazioni dei file non configurate correttamente rispetto a un criterio di accesso.
Oltre alla consueta disponibilità di registri, è possibile avere una buona idea di quali file sono stati acceduti, da chi, quando e se sono state apportate modifiche.
Per consentire l'effettiva sicurezza dei dati, Amazon include lo strumento S3 Inventory. Viene utilizzato per verificare e segnalare lo stato di replica e crittografia degli oggetti. A questo proposito, il monitoraggio di AWS S3 è fondamentalmente un ramo del più ampio monitoraggio della sicurezza di AWS.
Monitoraggio di AWS EC2
Per i carichi di lavoro cloud e per avere a disposizione un server virtuale per le proprie esigenze di calcolo, AWS offre EC2 (Elastic Compute Cloud). Molte applicazioni vengono eseguite su istanze EC2, rendendo il monitoraggio di AWS EC2 un aspetto importante del monitoraggio AWS. Non sorprende che, ormai, sia Amazon che le soluzioni di terze parti possano monitorare EC2 per controllare i vostri server virtuali e rilevare eventuali problemi.
AWS fornisce alcune metriche per informare sullo stato di salute delle istanze EC2. Queste metriche includono l'utilizzo della CPU, della rete e del disco, oltre a metriche delle prestazioni specifiche del disco, come le letture/scritture complessive, lo spazio su disco, il file di pagina e l'utilizzo dello swap, oltre all'utilizzo della memoria. Sono tutti dati necessari per sapere se le applicazioni hanno risorse sufficienti per funzionare.
AWS CloudWatch include anche il monitoraggio di AWS EC2 e combina le metriche di cui sopra nella sua dashboard. Allo stesso modo, anche molti altri sistemi di monitoraggio del cloud, come Checkmk, raccolgono queste metriche e offrono una visione olistica dell'intera infrastruttura, indipendentemente dalla sua ubicazione.
Monitoraggio di AWS RDS
I database fanno parte di ogni infrastruttura e il cloud AWS non fa eccezione. Essendo il repository dei principali dati operativi, il monitoraggio dei database è naturalmente una parte importante degli sforzi di monitoraggio di qualsiasi azienda. Su AWS, il servizio RDS (Relational Database Service) supporta una vasta scelta di database (MySQL, PostgreSQL, MariaDB, Oracle e SQL Server) per soddisfare qualsiasi esigenza.
Il monitoraggio di AWS RDS è il ramo del monitoraggio AWS che si occupa di monitorare tutti i tipi di database. AWS raccoglie una serie di metriche chiave per informare l'utente sulle prestazioni dei database. Le principali sono il numero di connessioni, la quantità di operazioni di lettura e scrittura, la quantità di storage, memoria e CPU utilizzata da ciascun database e il traffico di rete diretto al database. Come per altri servizi AWS, i log di RDS sono disponibili per ulteriori approfondimenti e analisi durante il monitoraggio dei database AWS.
Tutte queste metriche e registri sono disponibili per CloudWatch e per gli strumenti più specifici di Amazon RDS Performance Insight. Gli agenti esterni, come quelli utilizzati da Checkmk, possono raccogliere sia le metriche che i log per lavorare con soluzioni complete di monitoraggio del cloud senza affidarsi agli strumenti proprietari di Amazon.
Monitoraggio dei load balancer AWS
I load balancer sono servizi che distribuiscono automaticamente il traffico in entrata su più target. Ad esempio, le istanze EC2, i container e una serie di indirizzi IP possono essere inseriti in un load balancer per distribuire le richieste. Ogni volta che arriva una nuova richiesta, il load balancer si occupa di calcolare quale delle risorse che gestisce è più libera e può quindi prendere in carico la richiesta. Un load balancer è un elemento chiave della scalabilità del cloud e naturalmente AWS ne ha uno.
Su AWS si chiama Elastic Load Balancer ed è il componente che deve essere monitorato quando si effettua il monitoraggio del load balancer di AWS. Può essere solo una piccola parte dell'infrastruttura, ma è comunque estremamente importante. Se il load balancer si guasta o dá le bizze, alcune risorse vedrebbero un forte aumento del carico di lavoro, mentre altre risorse verrebbero lasciate inattive.
AWS Elastic Load Balancer espone, a CloudWatch e all'esterno, metriche come il numero totale di connessioni TCP attive da parte dei client, il numero di richieste di rete non conformi, il numero di reindirizzamenti, il numero di target sani (quindi considerati aperti ad accettare richieste) e molto altro. Oltre ai suoi log, il monitoraggio del load balancer di AWS può essere facilmente effettuato con CloudWatch o con uno strumento di monitoraggio del cloud esterno.
Monitoraggio delle risorse e dei costi AWS
L'ultima area da monitorare è l'utilizzo delle risorse globali AWS e il relativo impatto sui costi. Qualsiasi servizio cloud comporta dei costi che devono essere preventivati. L'utilizzo delle risorse è direttamente correlato al costo, con alcuni livelli gratuiti disponibili prima che le tariffe diventino obbligatorie.
AWS offre alcuni strumenti per tenere sotto controllo i costi. AWS Cost Explorer, una volta attivato, crea report 24 ore su 24 sui costi attuali e previsti per l'utilizzo del servizio cloud AWS. Fa parte del più ampio servizio di gestione dei costi e della fatturazione AWS, che comprende anche i rapporti sull'utilizzo. Gli strumenti di monitoraggio AWS di terze parti consentono di controllare i costi e l'utilizzo delle risorse su AWS e di solito sono una scelta migliore, poiché i loro rapporti sono più completi e contengono dashboard di monitoraggio personalizzabili per visualizzare i costi AWS.
Nel caso in cui sia necessario un budget per pianificare meglio l'utilizzo del cloud AWS, AWS Budgets è un altro servizio di Amazon che ti aiuta a impostare diversi budget e ti avvisa quando hai sforato il budget e dove. Se ciò accade, esiste un altro strumento che può aiutarti a identificare la causa del superamento delle spese previste per il cloud AWS: AWS Cost Anomaly Detection. Si tratta di un sistema di monitoraggio dei costi AWS in grado di analizzare i modelli di utilizzo stagionali e passati, di impostare soglie e di inviare avvisi per identificare la causa della spesa eccessiva.
È chiaro che tenere sotto controllo le spese del servizio cloud AWS non è un compito facile. Esistono diversi strumenti per facilitarlo, ma le soluzioni di monitoraggio AWS esterne offrono generalmente più funzioni degli strumenti di Amazon.

Strumenti di monitoraggio AWS disponibili
Nel corso di questo articolo sono stati citati molti strumenti. Tuttavia, la maggior parte di essi ha casi d'uso diversi. Mentre alcuni si concentrano su aree specifiche del monitoraggio del cloud AWS, come il monitoraggio della sicurezza AWS, il monitoraggio delle prestazioni AWS o il monitoraggio delle prestazioni delle applicazioni AWS, altri sono ancora più specifici e monitorano solo un particolare servizio del cloud AWS. È il caso del monitoraggio di RDS, di Lambda e dei servizi specifici di AWS. Altri ancora, come CloudWatch, raccolgono metriche da più fonti e si concentrano sulla fornitura di una visione olistica della salute di un cloud AWS.
Tutti i servizi di cui sopra sono offerti da AWS e possono monitorare solo i cloud AWS. Anche se CloudWatch è in grado di monitorare parzialmente anche i servizi on-premise, non è in grado di monitorare altri servizi cloud, come GCP o Azure.
È evidente che per esigenze moderate, come quelle di una piccola azienda, i servizi di monitoraggio AWS sono sufficienti. Ma quando l'infrastruttura cresce o c'è bisogno di maggiore personalizzazione e flessibilità, uno strumento di monitoraggio AWS esterno è essenziale. Si tratta di strumenti di terze parti che possono essere installati su AWS stesso o utilizzati da server locali. Sono in grado di monitorare una vasta gamma di servizi AWS e di unire i dati provenienti dalla sede e dal cloud in un'unica vista.
È questo il caso di Checkmk: può essere utilizzato sia da un'installazione locale, sia distribuito tramite AWS Marketplace (dalla versione 2.2 in poi). La raccolta di metriche è possibile attraverso l'interfacciamento con le API AWS o utilizzando agenti di monitoraggio installati sul cloud AWS stesso.
Le grandi infrastrutture possono essere monitorate più facilmente con uno strumento unificato in grado di raccogliere tutte le metriche da una grande varietà di fonti. Questo include non solo i servizi AWS ma anche altri cloud, dato che un ambiente di solito contiene più di un cloud provider.
Perché è importante monitorare un cloud AWS
Un cloud AWS è un ecosistema complesso composto da migliaia di servizi e risorse. È facile che uno di essi si guasti e causi problemi agli altri. Interruzioni, riduzione delle prestazioni e aumento dei costi sono solo una piccola parte di ciò che un servizio AWS mal configurato o malfunzionante può causare.
Le soluzioni di monitoraggio AWS mirano a prevenire tutto questo o, nel peggiore dei casi, a fornire agli amministratori IT informazioni sufficienti per capire cosa è andato storto e come risolverlo. In ogni caso, senza un sistema di monitoraggio del cloud AWS, nulla di tutto ciò sarebbe possibile.
AWS ha riconosciuto la necessità di monitorare la propria piattaforma cloud e ora offre diversi strumenti per questo compito. Esistono anche molte soluzioni di terze parti che possono fornire maggiori informazioni su ciò che il tuo cloud AWS sta facendo e come. Checkmk è solo un esempio tra i tanti.
Qualunque sia la soluzione scelta per il proprio cloud, il monitoraggio dei servizi, delle prestazioni, della sicurezza e delle risorse di AWS è fondamentale per garantire che funzioni senza problemi e per evitare interruzioni. La quantità di dati scambiati e ospitati su un cloud AWS è abbastanza grande e importante da giustificare la creazione di una soluzione di monitoraggio del cloud AWS. Semplice o avanzato che sia, non monitorare una parte così vitale dell'infrastruttura IT equivale a dare il benvenuto a un disastro.
Nell'infrastruttura moderna, i servizi cloud sono un elemento chiave. Il loro monitoraggio è quindi un compito fondamentale per qualsiasi amministratore IT che debba gestire un ambiente ibrido o completamente basato sul cloud.
FAQ
AWS SNS è un servizio per i cloud AWS che consente di impostare e inviare notifiche dal cloud. Consente agli amministratori di inviare notifiche tramite messaggi SMS o notifiche push mobili, informando gli utenti o gli amministratori di eventi relativi ai loro servizi o account cloud AWS.