Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Il pilastro dell'eccellenza operativa
Il pilastro dell'eccellenza operativa del AWS Well-Architected Framework si concentra sull'esecuzione e il monitoraggio dei sistemi e sul miglioramento continuo di processi e procedure. Include la capacità di supportare lo sviluppo ed eseguire i carichi di lavoro in modo efficace, ottenere informazioni dettagliate sul loro funzionamento e migliorare continuamente i processi e le procedure di supporto per offrire valore aziendale. È possibile ridurre la complessità operativa attraverso carichi di lavoro con riparazione automatica, che rilevano e risolvono la maggior parte dei problemi senza l'intervento umano. È possibile raggiungere questo obiettivo seguendo le best practice descritte in questa sezione. Utilizza i parametri APIs e i meccanismi di Amazon Neptune per rispondere correttamente quando il carico di lavoro si discosta dal comportamento previsto.
Questa discussione sul pilastro dell'eccellenza operativa si concentra sulle seguenti aree chiave:
-
Infrastructure as code (IaC)
-
Gestione delle modifiche
-
Strategie di resilienza
-
Gestione degli incidenti
-
Reportistica di audit per la conformità
-
Registrazione di log e monitoraggio
Automatizza l'implementazione utilizzando un approccio IaC
Le migliori pratiche per automatizzare l'implementazione su Neptune utilizzando IAc includono quanto segue:
-
Applica l'infrastruttura come codice (IaC) per distribuire i cluster Neptune ogni volta che è possibile. Per una configurazione coerente dell'ambiente, usa un AWS CloudFormationmodello o HashiCorp Terraform per creare tutte le risorse
necessarie per il tuo cluster. AWS Cloud Development Kit (AWS CDK) -
Automatizza le procedure operative di Neptune, come il ridimensionamento delle istanze, l'aggiunta o la rimozione di repliche di lettura o l'esecuzione di failover manuali su tabelle globali, quando possibile.
-
Archivia le stringhe di connessione esternamente al tuo client. Utilizza i processi di estrazione, trasformazione e caricamento (ETL) per facilitare le strategie di blue/green implementazione, il disaster recovery (DR) e le migrazioni con tempi di inattività prossimi allo zero verso nuovi cluster. Le stringhe di connessione possono essere archiviate in Gestione dei segreti AWSAmazon DynamoDB o in qualsiasi posizione in cui possono essere modificate dinamicamente.
-
Usa i tag per aggiungere metadati alle tue risorse Neptune e monitora l'utilizzo in base ai tag. Per ulteriori informazioni, consulta Tagging Amazon Neptune Resources.
Apporta modifiche frequenti, piccole e reversibili
Le seguenti raccomandazioni si concentrano su modifiche piccole e reversibili per ridurre al minimo la complessità e ridurre la probabilità di interruzione del carico di lavoro:
-
Archivia modelli e script IAc in un servizio di controllo del codice sorgente, ad esempio o. GitHub GitLab
Importante
Non memorizzate AWS le credenziali nel controllo del codice sorgente.
-
Richiedi che le implementazioni IaC utilizzino un servizio di integrazione e distribuzione continua (CI/CD), come o. AWS CodePipelineAWS CodeBuild Questi servizi compilano, testano e distribuiscono codice in un ambiente non di produzione contenente un cluster Neptune temporaneo prima di influire sul cluster Amazon Neptune di produzione.
-
Testa le query sull'infrastruttura e sulle applicazioni in un ambiente inferiore prima di distribuirle in produzione. Ciò ridurrà al minimo la probabilità di interruzioni e contribuirà a garantire che funzionino bene con il carico di lavoro e la scalabilità.
Anticipa il fallimento
Un'infrastruttura con riparazione automatica esemplifica l'eccellenza operativa anticipando i guasti e tentando di risolvere eventuali problemi senza intervento. I seguenti consigli ti aiutano a raggiungere tale maturità con Neptune:
-
Crea un piano di monitoraggio che utilizzi i CloudWatch parametri di Amazon per monitorare l'utilizzo della CPU e della memoria dell'istanza DB e comprendere i modelli di utilizzo. Crea CloudWatch dashboard e allarmi per le metriche chiave e le risposte del client Neptune presenti nei registri delle applicazioni. Per ulteriori informazioni sugli indicatori di utilizzo elevato o basso della CPU, vedere Utilizzo per CloudWatch monitorare le prestazioni delle istanze DB in Neptune nella documentazione di Neptune.
Se riscontri spesso out-of-memory eccezioni nelle tue query, valuta la possibilità di ridurre il numero totale di nodi attraversati dalla query o prova a utilizzare un'istanza della famiglia, che ha un rapporto più elevato.
X2RAM-to-CPU -
Imposta notifiche per monitorare lo stato del cluster Neptune. Ad esempio,
BufferCacheHitRatiodovrebbe essere costantemente alto (superiore al 99,9 percento), mentreMainRequestQueuePendingRequestsdovrebbe essere costantemente basso (idealmente 0 ma dipende dai requisiti e dalla tolleranza di latenza). -
Prendi in considerazione l'utilizzo di repliche di lettura per ottenere un'elevata disponibilità all'interno di Neptune. È necessario disporre di almeno due repliche di lettura in zone di disponibilità diverse dall'istanza writer per garantire che un'istanza sia sempre disponibile per fornire query di lettura durante un evento di failover.
-
Ridimensiona automaticamente le repliche di lettura in base alle metriche di utilizzo. Per ulteriori informazioni, consulta Ridimensionamento automatico del numero di repliche in un cluster Amazon Neptune DB.
-
Prova il failover per l'istanza database per capire quanto tempo impiega il processo per il tuo caso d'uso.
-
Se la tua applicazione richiede di resistere a un' Regione AWS interruzione completa, prendi in considerazione l'utilizzo di database globali come parte dei tuoi piani di disaster recovery.
Imparate da tutti i fallimenti operativi
Un'infrastruttura che si ripara automaticamente è uno sforzo a lungo termine che si sviluppa in iterazioni quando si verificano problemi rari o le risposte non sono così efficaci come desiderato. L'adozione delle seguenti pratiche favorisce l'attenzione verso tale obiettivo:
-
Promuovi il miglioramento imparando da tutti i fallimenti.
-
Condividi ciò che viene appreso tra i team e l'organizzazione. Se più team all'interno di un'organizzazione utilizzano Neptune, crea una chat room o un gruppo di utenti comune per condividere le conoscenze e le migliori pratiche.
Utilizza le funzionalità di registrazione per monitorare attività non autorizzate o anomale
Per osservare modelli anomali di prestazioni e attività, archivia i log in Amazon Logs. CloudWatch Prendi in considerazione le seguenti best practice:
-
Abilita la registrazione lenta delle query. Esamina regolarmente il registro e diagnostica il motivo per cui alcune query sono lente. Usa gli endpoint di spiegazione e profilazione di Neptune per Gremlin, SPARQL o OpenCypher per ottenere informazioni sul motivo per cui queste query sono lente.
-
Abilita i log di controllo di Neptune e rivedi regolarmente i log per verificare eventuali accessi non autorizzati o anomalie.
-
Se utilizzi la registrazione lenta delle query o la registrazione di controllo, abilita la pubblicazione su Logs. CloudWatch Questo vi aiuterà a evitare l'esaurimento dello spazio su disco sulle istanze. Le istanze Neptune hanno una capacità di archiviazione dei log limitata e sovrascrivono i file di registro più vecchi quando viene superato lo spazio di registro. CloudWatch Logs supporta la conservazione a lungo termine dei log. Le funzionalità di monitoraggio avanzate di CloudWatch Logs miglioreranno la capacità di interrogare i log e diagnosticare i problemi.
-
Per facilitare strumenti di analisi migliori per i registri di controllo, è possibile configurare un cluster Neptune DB per pubblicare i dati dei log di controllo in un gruppo di log in Logs. CloudWatch Con CloudWatch Logs, è possibile eseguire analisi in tempo reale dei dati di registro, utilizzarli CloudWatch per creare allarmi e visualizzare metriche e utilizzare CloudWatch Logs per archiviare i record di registro in un archivio altamente durevole. Per ulteriori informazioni, consulta Pubblicazione dei log di Neptune su Amazon Logs. CloudWatch
-
Neptune supporta la registrazione delle azioni del piano di controllo utilizzando. AWS CloudTrail Per ulteriori informazioni, consulta Registrazione delle chiamate API Amazon Neptune con. AWS CloudTrail