Al usar AWS re:Post, aceptas las AWS re:Post Términos de uso

¿Por qué tengo problemas de conectividad intermitente con mi clúster de Amazon Redshift?

8 minutos de lectura
0

Quiero obtener información sobre cómo solucionar y resolver los problemas de conectividad intermitente que tengo con mi clúster de Amazon Redshift debido a factores como el acceso restringido, los períodos de mantenimiento, los fallos en los nodos, las rotaciones de claves de cifrado, el exceso de conexiones activas, un uso elevado de la CPU y los problemas de conexión en el lado del cliente con los que me encuentro.

Breve descripción

Los problemas de conectividad intermitente en su clúster de Amazon Redshift pueden deberse a lo siguiente:

  • Acceso restringido a una dirección IP o bloque de CIDR en particular
  • Actualizaciones del período de mantenimiento
  • Errores de nodo o tareas de administración programadas
  • Rotaciones de claves de cifrado
  • Demasiadas conexiones de red activas
  • Alta utilización de la CPU del nodo principal
  • Problemas de conexión en el lado del cliente

Solución

Acceso restringido a una dirección IP o bloque de CIDR en particular

Compruebe si el acceso a una dirección IP o a un bloque de CIDR concretos está restringido en su grupo de seguridad. Debido a la configuración de DHCP, la dirección IP de su cliente puede cambiar y provocar así problemas de conectividad. Además, si no utiliza direcciones IP elásticas para su clúster de Amazon Redshift, la dirección IP administrada por AWS de los nodos del clúster podría cambiar. Por ejemplo, la dirección IP puede cambiar si elimina el clúster y, a continuación, vuelve a crearlo a partir de una instantánea, o si reanuda un clúster en pausa.

Nota: Las direcciones IP públicas se rotan cuando se elimina el clúster de Amazon Redshift y se vuelve a crear. Las direcciones IP privadas cambian cada vez que se reemplazan los nodos.

Para solucionar cualquier restricción de red, tome una de las siguientes medidas:

  • Si su aplicación almacena en caché la dirección IP pública tras un punto de enlace del clúster, utilice ese punto de enlace para su conexión de Amazon Redshift. Para mantener la conexión de red estable y segura, no utilice una caché de DNS para la conexión.
  • Se recomienda utilizar una dirección IP elástica para el clúster de Amazon Redshift. Una dirección IP elástica le permite cambiar la configuración subyacente sin que ello afecte a la dirección IP que los clientes utilizan para conectarse a su clúster. Este enfoque resulta útil si desea recuperar un clúster tras un fallo. Para obtener más información, consulte Administración de clústeres en una VPC.
  • Si usa una dirección IP privada para conectarse a un nodo principal o a un nodo de computación, utilice la nueva dirección IP en su configuración. Por ejemplo, si ha realizado una incorporación de SSH o su configuración de Amazon EMR utiliza el nodo de computación, actualice su dirección IP. Después de reemplazar un nodo, se otorga una nueva dirección IP privada a los nodos nuevos.

Actualizaciones del período de mantenimiento

Compruebe el período de mantenimiento de su clúster de Amazon Redshift. Durante los períodos de mantenimiento, su clúster de Amazon Redshift no puede procesar las operaciones de lectura ni de escritura. Si se programa un evento de mantenimiento para una semana determinada, el evento comenzará durante el período de mantenimiento asignado de 30 minutos. Mientras Amazon Redshift realiza el mantenimiento, se cierran todas las consultas u otras operaciones en curso. Puede cambiar el período de mantenimiento programado desde la consola de Amazon Redshift.

Errores de nodo o tareas de administración programadas

En la consola de Amazon Redshift, consulte la pestaña Eventos para ver si hay errores en los nodos o tareas de administración programadas, por ejemplo, cambiar el tamaño de un clúster o reiniciarlo.

Si se produce un error de hardware, es posible que Amazon Redshift no esté disponible durante un breve periodo y que las consultas fallen. Si una consulta falla, en Eventos se mostrará una descripción como la siguiente:

«A hardware issue was detected on Amazon Redshift cluster [nombre del clúster]. A replacement request was initiated at [hora].»

Como alternativa, si un administrador de cuenta ha programado una operación de reinicio o cambio de tamaño en su clúster de Amazon Redshift, también pueden darse problemas de conectividad intermitente. Verá una descripción de Eventos parecida a esta:

«Cluster [nombre del clúster] began restart at [hora].»«Cluster [nombre del clúster] completed restart at [hora].»

Para obtener más información, consulte Categorías y mensajes de eventos de Amazon Redshift.

Rotaciones de claves de cifrado

Compruebe la configuración de la administración de claves de su clúster de Amazon Redshift para averiguar si utiliza el cifrado de claves de AWS Key Management Service (AWS KMS) y la rotación del cifrado de claves.

Si la clave de cifrado está activada y se está rotando, el clúster de Amazon Redshift no estará disponible durante ese tiempo. Como resultado, se mostrará el siguiente mensaje de error:

«pg_query(): Query failed: SSL SYSCALL error: EOF detected»

La frecuencia de la rotación de claves depende de los estándares y políticas en materia de seguridad de datos de su entorno. Rote las claves tantas veces como sea necesario o cuando la clave cifrada pueda verse comprometida. Además, asegúrese de contar con un plan de administración de claves que cubra sus necesidades de seguridad y disponibilidad del clúster.

Demasiadas conexiones activas

En Amazon Redshift, todas las conexiones a su clúster se envían al nodo principal y hay un límite máximo de conexiones activas. El tipo de nodo determina la cuota máxima que su clúster de Amazon Redshift puede admitir, no el número de nodos.

Si hay demasiadas conexiones activas en su clúster de Amazon Redshift, se mostrará este mensaje de error:

«[Amazon](500310) Invalid operation: connection limit "500" exceeded for non-bootstrap users»

Si se muestra el error Invalid operation cuando se conecta a su clúster de Amazon Redshift, significa que ha alcanzado la cuota de conexión. Para comprobar el número de conexiones activas para su clúster, consulte la métrica DatabaseConnections en Amazon CloudWatch.

Si observa un pico en las conexiones de la base de datos, es posible que haya varias conexiones inactivas en su clúster de Amazon Redshift. Para comprobar el número de conexiones inactivas, ejecute la siguiente consulta de SQL:

select process, trim(a.user_name) as user_name, a.usesysid, a.starttime,
  datediff(s,a.starttime,sysdate) as session_dur, b.last_end,
 datediff(s,case when b.last_end is not null then b.last_end else
 a.starttime end,sysdate) idle_dur
     FROM
    (select starttime,process,u.usesysid,user_name
     from stv_sessions s, pg_user u
     where
     s.user_name = u.usename
      and u.usesysid>1
and process NOT IN (select pid from stv_inflight where userid>1
 union select pid from stv_recents where status != 'Done' and
  userid>1)
    ) a
     LEFT OUTER JOIN (select
 userid,pid,max(endtime) as last_end from svl_statementtext where
  userid>1 and sequence=0 group by 1,2) b ON a.usesysid = b.userid AND
 a.process = b.pid
    WHERE (b.last_end > a.starttime OR b.last_end is null)
    ORDER BY idle_dur;

El resultado es similar al siguiente ejemplo:

 process | user_name  | usesysid |      starttime      | session_dur | last_end | idle_dur
---------+------------+----------+---------------------+-------------+----------+----------
   14684 | myuser     |      100 | 2020-06-04 07:02:36 |           6 |          |        6
(1 row)

Una vez identificadas las conexiones inactivas, utilice la siguiente sintaxis de comandos para cerrar la conexión:

select pg_terminate_backend(process);

El resultado es similar al siguiente ejemplo:

pg_terminate_backend ----------------------
                    1
(1 row)

Alta utilización de la CPU del nodo principal

Todos los clientes utilizan un nodo principal para conectarse a un clúster de Amazon Redshift. El uso elevado de la CPU del nodo principal puede provocar problemas de conexión intermitente.

Si intenta conectarse a su clúster de Amazon Redshift y el nodo principal utiliza mucha CPU, se mostrará el siguiente mensaje de error:

«Error setting/closing connection»

Para confirmar si su nodo principal ha alcanzado una utilización elevada de la CPU, compruebe la métrica CPUUtilization en Amazon CloudWatch. Para obtener más información, consulte Métricas de Amazon Redshift.

Problemas de conexión en el lado del cliente

Compruebe si hay algún problema de conexión entre el cliente, por ejemplo, Workbench/J o PostgreSQL, y el clúster de Amazon Redshift. Si su cliente intenta enviar una solicitud desde un puerto liberado, es posible que se restablezca la conexión del lado del cliente. Como resultado, el restablecimiento de la conexión puede provocar problemas de conexión intermitente.

Para evitar estos problemas de conexión en el lado del cliente, tome una de las siguientes medidas:

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 8 meses