Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Pilar de excelencia operativa
El pilar de excelencia operativa del AWS Well-Architected Framework se centra en ejecutar y monitorear los sistemas, y en mejorar continuamente los procesos y procedimientos. Incluye la capacidad de respaldar el desarrollo y poner en marcha cargas de trabajo eficazmente, conocer sus operaciones y mejorar continuamente los procesos y procedimientos de soporte para ofrecer valor empresarial. Puede reducir la complejidad operativa mediante cargas de trabajo con capacidad de recuperación automática, que detectan y solucionan la mayoría de los problemas sin intervención humana. Puede trabajar para lograr este objetivo siguiendo las prácticas recomendadas que se describen en esta sección. Utilice las métricas y los mecanismos de Amazon Neptune para responder adecuadamente cuando su carga de trabajo se desvíe del comportamiento esperado. APIs
Este análisis del pilar de excelencia operativa se centra en las siguientes áreas clave:
-
Infraestructura como código (IaC)
-
Administración de cambios
-
Estrategias de resiliencia
-
Administración de incidentes
-
Auditoría de informes para garantizar el cumplimiento
-
Registro y supervisión
Automatización de la implementación mediante una estrategia de IaC
Entre las prácticas recomendadas para automatizar la implementación en Neptune mediante IaC se incluyen las siguientes:
-
Aplique la infraestructura como código (IaC) para implementar los clústeres de Neptune siempre que sea posible. Para una configuración coherente del entorno, utilice una AWS CloudFormationplantilla o HashiCorp Terraform
para crear todos los recursos necesarios para su clúster. AWS Cloud Development Kit (AWS CDK) -
Automatice los procedimientos operativos de Neptune, como el dimensionamiento de las instancias, la adición o eliminación de réplicas de lectura o la realización manual de conmutaciones por error en tablas globales, siempre que sea posible.
-
Almacene las cadenas de conexión de forma externa a su cliente. Utilice los procesos de extracción, transformación y carga (ETL) para facilitar las estrategias de blue/green implementación, la recuperación ante desastres (DR) y las migraciones a nuevos clústeres con un tiempo de inactividad prácticamente nulo. Las cadenas de conexión se pueden almacenar en AWS Secrets Manager, Amazon DynamoDB o en cualquier ubicación en la que se puedan cambiar de forma dinámica.
-
Utilice etiquetas para agregar metadatos a sus recursos de Neptune y realizar un seguimiento del uso en función de las etiquetas. Para obtener más información, consulte Tagging Amazon Neptune Resources.
Cambios frecuentes, pequeños y reversibles
Las siguientes recomendaciones se centran en cambios pequeños y reversibles para minimizar la complejidad y reducir la probabilidad de que se interrumpa la carga de trabajo:
-
Guarde las plantillas y scripts de IaC en un servicio de control de código fuente, como o. GitHub GitLab
importante
No almacene AWS las credenciales en el control de código fuente.
-
Exija que las implementaciones de IaC utilicen un servicio de integración y entrega continuas (CI/CD), como AWS CodePipeline o AWS CodeBuild. Estos servicios compilan, prueban e implementan código en un entorno que no es de producción que contiene un clúster efímero de Neptune antes de modificar el clúster de Amazon Neptune de producción
. -
Pruebe las consultas de infraestructura y aplicaciones en un entorno inferior antes de implementarlas en producción. Esto minimizará la probabilidad de una interrupción y permitirá garantizar que funcionen bien con su carga de trabajo y escala.
Anticipación de los errores
Una infraestructura que se recupere automáticamente ejemplifica la excelencia operativa, pues anticipa los errores y trata de resolver cualquier problema sin intervención. Las siguientes recomendaciones le permitirán alcanzar ese nivel con Neptune:
-
Cree un plan de supervisión que utilice CloudWatch las métricas de Amazon para supervisar el uso de la CPU y la memoria de la instancia de base de datos y comprender los patrones de uso. Cree CloudWatch paneles y alarmas para las métricas clave y las respuestas del cliente de Neptune que se encuentran en los registros de sus aplicaciones. Para obtener más información sobre los indicadores de un uso elevado o bajo de la CPU, consulte Uso CloudWatch para supervisar el rendimiento de una instancia de base de datos en Neptuno en la documentación de Neptuno.
Si sus consultas suelen tener out-of-memory excepciones, considere la posibilidad de reducir el número total de nodos que atraviesa la consulta o intente utilizar una instancia de la
X2familia, que tiene una proporción mayor. RAM-to-CPU -
Configure las notificaciones para supervisar el estado de los clústeres de Neptune. Por ejemplo, el valor de
BufferCacheHitRatiodebe ser constantemente alto (superior al 99,9 %), mientras que el valor deMainRequestQueuePendingRequestsdebe ser constantemente bajo (idealmente 0, pero depende de sus requisitos y de la tolerancia a la latencia). -
Considere la posibilidad de utilizar réplicas de lectura para lograr una alta disponibilidad en Neptune. Debe tener al menos dos réplicas de lectura en zonas de disponibilidad diferentes a las de la instancia de escritura para garantizar que siempre haya una instancia disponible para atender las consultas de lectura durante un evento de conmutación por error.
-
Escale automáticamente las réplicas de lectura en función de las métricas de uso. Para más información, consulte Auto-scaling the number of replicas in an Amazon Neptune DB cluster.
-
Pruebe la conmutación por error de la instancia de base de datos para comprender cuánto tiempo tarda el proceso en su caso de uso.
-
Si tu aplicación requiere sobrevivir a una Región de AWS interrupción total, considera usar bases de datos globales como parte de tus planes de recuperación ante desastres.
Lecciones de los errores operativos
Una infraestructura que se recupere automáticamente es un esfuerzo a largo plazo que se desarrolla de forma iterativa a medida que se producen problemas poco frecuentes o las respuestas no son tan eficaces como se desearía. La adopción de las siguientes prácticas permite lograr ese objetivo:
-
Aprenda de los errores para impulsar la mejora.
-
Comparta las conclusiones con los equipos y la organización. Si varios equipos de una organización utilizan Neptune, cree una sala de chat o un grupo de usuarios común para compartir las lecciones aprendidas y las prácticas recomendadas.
Uso de características de registro para supervisar la actividad no autorizada o anómala
Para observar patrones anómalos de rendimiento y actividad, almacene los registros en Amazon CloudWatch Logs. Tenga en cuenta las siguientes prácticas recomendadas:
-
Active el registro de consultas lentas. Revise el registro con regularidad y diagnostique por qué determinadas consultas son lentas. Utilice los puntos de conexión de Neptune explain y profile para Gremlin, SPARQL u openCypher para comprender por qué estas consultas son lentas.
-
Active los registros de auditoría de Neptune y revíselos periódicamente para detectar anomalías o accesos no autorizados.
-
Si utiliza el registro de consultas lentas o el registro de auditoría, habilite la publicación en Logs. CloudWatch Gracias a esto evitará quedarse sin espacio en disco en las instancias. Las instancias de Neptune tienen una capacidad de almacenamiento de registros limitada y sobrescribirán los archivos de registro más antiguos cuando se exceda el espacio de registro. CloudWatch Los registros permiten la retención de registros a largo plazo. Las capacidades de supervisión mejoradas de CloudWatch los registros mejorarán su capacidad para consultar los registros y diagnosticar problemas.
-
Para facilitar mejores herramientas de análisis para sus registros de auditoría, puede configurar un clúster de base de datos de Neptune para publicar los datos del registro de auditoría en CloudWatch un grupo de registros de Logs. Con CloudWatch los registros, puede realizar un análisis en tiempo real de los datos de registro, CloudWatch utilizarlos para crear alarmas y ver métricas, y utilizar CloudWatch los registros para almacenar los registros en un lugar de almacenamiento muy duradero. Para obtener más información, consulte Publicar registros de Neptune en Amazon CloudWatch Logs.
-
Neptune admite el registro de las acciones del plano de control con AWS CloudTrail. Para obtener más información, consulte Registrar llamadas a la API de Amazon Neptune con. AWS CloudTrail