Versión 1.0.4.0 del motor de Amazon Neptune (12/10/2020) - Amazon Neptune

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.

Versión 1.0.4.0 del motor de Amazon Neptune (12/10/2020)

A partir del 12 de octubre de 2020, se implementará de forma general la versión 1.0.4.0 del motor. Tenga en cuenta que las versiones nuevas tardan unos días en estar disponibles en todas las regiones.

Versiones de parche posteriores para esta versión

Nuevas características de esta versión del motor

  • Se ha añadido compresión en el nivel de fotogramas para Gremlin.

Mejoras en esta versión del motor

  • Amazon Neptune ahora requiere el uso de Secure Sockets Layer (SSL) con el protocolo TLSv1.2 para todas las conexiones a Neptune en todas las regiones, mediante el uso de estos conjuntos de cifrado seguros:

    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

    Esto es válido para las conexiones REST y WebSocket a Neptune, e implica que debe usar HTTPS en lugar de HTTP cuando se conecte a Neptune en todas las regiones.

    Dado que las conexiones de cliente mediante HTTP o TLS 1.1 ya no se admitirán en ningún lugar, asegúrese de que los clientes y el código se hayan actualizado para usar TLS 1.2 y HTTPS antes de actualizar a esta versión del motor.

importante

Tener que utilizar SSL/TLS para todas las conexiones a Neptune puede suponer un cambio radical. Afecta a las conexiones con la consola de Gremlin, el controlador de Gremlin, Gremlin Python, .NET, NodeJS, las API de REST y también a las conexiones del equilibrador de carga. Si ha utilizado HTTP para alguna o todas estas aplicaciones, ahora debe actualizar el cliente y los controladores correspondientes y cambiar el código para que utilice HTTPS o se producirá un error en las conexiones.

Un error de esta versión ha permitido que las conexiones HTTP o las conexiones TLS obsoletas sigan funcionando para los clientes que anteriormente configuraban un parámetro de clúster de base de datos para impedir el establecimiento de las conexiones HTTPS. Este error se ha corregido en las versiones de parche 1.0.4.0.R2 y 1.0.4.1.R2, pero la corrección provocaba errores de conexión inesperados cuando los parches se instalaban automáticamente.

Por este motivo, ambos parches se han revertido y solo se pueden instalar manualmente, para que pueda actualizar la configuración de TLS 1.2.

  • Se ha actualizado TinkerPop a la versión 3.4.8. Se trata de una actualización compatible con versiones anteriores. Consulta Registro de cambios de TinkerPop para ver las novedades.

  • Se ha mejorado el rendimiento para el paso properties() de Gremlin.

  • Se han añadido detalles sobre BindOp y MultiplexerOp en los informes de explicación y perfil.

  • Se ha añadido la captura previa de datos para mejorar el rendimiento cuando se pierde la memoria caché.

  • Se ha añadido una nueva configuración allowEmptyStrings en el parámetro parserConfiguration del programa de carga masiva que permite que las cadenas vacías se traten como valores de propiedad válidos en las cargas de CSV (consulte Parámetros de solicitudes del programa de carga de Neptune).

  • El programa de carga ahora permite introducir un punto y coma de escape en las columnas de CSV con varios valores.

Defectos corregidos en esta versión del motor

  • Se ha corregido una posible pérdida de memoria de Gremlin relacionada con el paso both().

  • Se ha corregido un error por el que faltaban las métricas de las solicitudes, ya que un punto de conexión que terminaba en “/” no se gestionaba correctamente.

  • Se ha corregido un error que provocaba que las réplicas se retrasaran y se reiniciaran cuando había mucha carga y cuando el motor DFE estaba habilitado en modo lab.

  • Se ha corregido un error que impedía que se publicara el mensaje de error correcto cuando se producía un error en una carga masiva debido a un problema de memoria insuficiente.

  • Se ha corregido un error de SPARQL que provocaba que la codificación de caracteres se colocara en el encabezado Content-Encoding de las respuestas a las consultas de SPARQL. En su lugar, ahora se coloca charset en el encabezado Content-Type, lo que permite a los clientes HTTP reconocer automáticamente el conjunto de caracteres que se está utilizando.

Versiones de lenguaje de consulta admitidas en esta versión

Antes de actualizar un clúster de base de datos a la versión 1.0.4.0, asegúrese de que el proyecto sea compatible con estas versiones de lenguaje de consulta:

  • Versión de Gremlin: 3.4.8

  • Versión de SPARQL: 1.1

Rutas de actualización a la versión 1.0.4.0 del motor

Puede actualizar manualmente cualquier versión anterior del motor de Neptune a esta versión.

No se actualizará automáticamente a esta versión.

Actualización a esta versión

La versión 1.0.4.0 de Amazon Neptune ya está disponible con carácter general.

Si un clúster de base de datos ejecuta una versión de motor desde la que existe una ruta de actualización a esta versión, puede actualizarse ahora. Puede actualizar cualquier clúster que cumpla los requisitos mediante las operaciones del clúster de base de datos de la consola o mediante el SDK. El siguiente comando de la CLI actualizará inmediatamente un clúster que cumpla los requisitos:

Para Linux, OS X o Unix:

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine-version 1.0.4.0 \ --apply-immediately

Para Windows:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.0.4.0 ^ --apply-immediately

Las actualizaciones se aplican a todas las instancias en un clúster de base de datos simultáneamente. Una actualización requiere un reinicio de la base de datos en esas instancias, por lo que se experimentará un tiempo de inactividad que oscila entre 20-30 segundos y varios minutos, tras el cual se puede reanudar el uso del clúster de base de datos.

Realice siempre una prueba antes de realizar la actualización

Cuando se publique una nueva versión principal o secundaria del motor de Neptune, pruebe siempre las aplicaciones de Neptune en ella antes de actualizar. Incluso en una actualización secundaria podría haber nuevas características o comportamientos que podrían afectar al código.

Comience por comparar las páginas de notas de la versión actual con las de la versión de destino para ver si hay cambios en las versiones del lenguaje de consulta u otros cambios importantes.

La mejor forma de probar una nueva versión antes de actualizar el clúster de base de datos de producción es clonar el clúster de producción para que el clon ejecute la nueva versión del motor. A continuación, puede ejecutar consultas en el clon sin que eso afecte al clúster de base de datos de producción.

Cree siempre una instantánea manual antes de realizar la actualización

Antes de realizar una actualización, se recomienda crear siempre una instantánea manual del clúster de base de datos. Una instantánea automática solo ofrece protección a corto plazo, mientras que una instantánea manual está disponible hasta que la elimine explícitamente.

En algunos casos, Neptune crea una instantánea manual para usted como parte del proceso de actualización, pero no debe confiar en eso y crear su propia instantánea manual.

Cuando tenga la seguridad de que no necesitará revertir el clúster de base de datos al estado anterior a la actualización, puede eliminar de forma explícita la instantánea manual que ha creado, así como la instantánea manual que Neptune podría haber creado. Si Neptune crea una instantánea manual, tendrá un nombre que empieza por preupgrade, seguido del nombre del clúster de base de datos, la versión del motor de origen, la versión del motor de destino y la fecha.

nota

Si intenta realizar la actualización mientras hay una acción pendiente en proceso, es posible que se produzca un error como el siguiente:

We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.

Si se produce este error, espere a que finalice la acción pendiente o active inmediatamente un periodo de mantenimiento para que se complete la actualización anterior.

Para obtener más información sobre la actualización de la versión del motor, consulte Mantenimiento del clúster de base de datos de Amazon Neptune. Si tiene alguna duda, el equipo de AWS Support está disponible en los foros de la comunidad y a través de AWS Premium Support.