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

8 minutos de lectura
0

Tengo problemas de conectividad intermitentes cuando intento conectarme a mi clúster de Amazon Redshift. ¿Por qué ocurre esto y cómo puedo solucionarlo?

Breve descripción

Los problemas de conectividad intermitentes en su clúster de Amazon Redshift se deben 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 hay acceso restringido a una dirección IP determinada o a un bloque de CIDR en su grupo de seguridad. Debido a la configuración de DHCP, la dirección IP de su cliente puede cambiar, lo que puede provocar 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 para los nodos del clúster podría cambiar. Por ejemplo, la dirección IP puede cambiar al eliminar el clúster y, a continuación, volver a crearlo a partir de una instantánea, o al reanudar 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, plantéese las siguientes opciones:

  • Si su aplicación almacena en caché la dirección IP pública tras un punto de conexión del clúster, asegúrese de utilizar ese punto para su conexión de Amazon Redshift. Para garantizar la estabilidad y la seguridad de la conexión de red, evite utilizar 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 afecte a la dirección IP que los clientes utilizan para conectarse a su clúster. Esta opción resulta útil para recuperar un clúster después de un error. Para obtener más información, consulte Administración de clústeres en una VPC.
  • Si utiliza una dirección IP privada para conectarse a un nodo principal o a un nodo de computación, asegúrese de utilizar la nueva dirección IP. Por ejemplo, si ha introducido SSH o tiene una configuración de Amazon EMR que usa el nodo de computación, actualice la configuración con la nueva 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 un período de mantenimiento, su clúster de Amazon Redshift no puede procesar las operaciones de lectura o escritura. Si se programa un evento de mantenimiento para una semana determinada, 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 que estén 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

Desde la consola de Amazon Redshift, consulte la pestaña Eventos para ver si hay errores en los nodos o tareas de administración programadas (como 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 cierto tiempo, lo que puede provocar errores en las consultas. Si se produce un error en una consulta, en Eventos se mostrará una descripción como la siguiente:

"A hardware issue was detected on Amazon Redshift cluster [cluster name]. A replacement request was initiated at [time]."

Además, 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 producirse problemas de conectividad intermitentes. En ese caso, la descripción en Eventos indicará lo siguiente:

"Cluster [cluster name] began restart at [time]."
"Cluster [cluster name] completed restart at [time]."

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 administración de claves para su clúster de Amazon Redshift. Compruebe si está utilizando el cifrado de claves y la rotación del cifrado de claves de AWS Key Management Service (AWS KMS).

Si la clave de cifrado está habilitada 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 líder y hay un límite máximo de conexiones activas. El límite máximo que puede admitir su clúster de Amazon Redshift viene determinado por el tipo de nodo (en lugar del número de nodos).

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

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

Si se muestra el error Operación no válida cuando se conecta a su clúster de Amazon Redshift, indica que ha alcanzado el límite de conexiones. Puede comprobar el número de conexiones activas de su clúster; para ello, consulte la métrica DatabaseConnections en Amazon CloudWatch.

Si observa un aumento 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 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, la conexión se puede cerrar mediante la siguiente sintaxis de comandos:

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 se conectan a un clúster de Amazon Redshift mediante un nodo principal. El uso elevado de la CPU del nodo principal puede provocar problemas de conexión intermitentes.

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

"Error setting/closing connection"

Para confirmar si su nodo principal ha alcanzado un uso elevado 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 (como Workbench/J o PostgreSQL) y el servidor (su clúster de Amazon Redshift). Es posible que se restablezca la conexión del lado del cliente si el cliente intenta enviar una solicitud desde un puerto activado. Como resultado, el restablecimiento de la conexión puede provocar problemas de conexión intermitentes.

Para evitar estos problemas de conexión del lado del cliente, plantéese las siguientes opciones:


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años