Saltar al contenido

¿Cómo soluciono los errores de ConnectionReset al cargar o descargar objetos de Amazon S3?

4 minutos de lectura
0

Cuando subo o descargo objetos en mi bucket de Amazon Simple Storage Service (Amazon S3), aparece uno de los siguientes errores: ConnectionResetError, Connection Aborted (Conexión anulada) o Connection reset by peer (Conexión restablecida por el par).

Resolución

Se producen errores de restablecimiento de la conexión porque la aplicación no puede establecer una conexión con los puntos de enlace de Amazon S3. Esto puede deberse a que las conexiones se cierran o a que estas se vuelven inactivas cuando accede a los recursos de S3. Estos errores se producen debido a problemas con la capa de aplicación o cliente, la ruta de red o cualquier recurso intermediario. Para identificar la causa principal del problema, debe saber cuál es el componente que causa el error.

Prueba de conectividad

Para probar la conectividad, ejecute los siguientes comandos para comprobar si su máquina puede establecer una conexión con S3 a través de HTTP o HTTPS.

$ telnet mybucket.s3.REGION-CODE.amazonaws.com 80  
$ telnet mybucket.s3.REGION-CODE.amazonaws.com 443

Omisión de la validación de SSL

Incluya el parámetro**--no-verify-ssl** en la solicitud para omitir la validación SSL. Este parámetro evita que se validen los certificados SSL. Sin embargo, la solicitud atraviesa el puerto 443. Este enfoque le ayudará a aislar los problemas relacionados con la validación de SSL.

Análisis del tráfico de red

Realice una captura de paquetes para analizar el tráfico de red entre su máquina y Amazon S3. Analice la captura de paquetes para determinar si el cliente o el servidor muestra el indicador RST.

  • Si su red muestra el indicador RST, anote la dirección IP y el proceso cuando vea el indicador RST. Los procesos incluyen la búsqueda de DNS, el protocolo de enlace TCP, el protocolo de enlace SSL y la transferencia de datos.
  • Si la red muestra el indicador RST durante un protocolo de enlace SSL, asegúrese de que la máquina confía en el certificado que devuelva Amazon.

Conexión de depuración

Nota: Si se muestran errores al ejecutar los comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), asegúrese de utilizar la versión más reciente de AWS CLI.

Ejecute el comando cp de AWS CLI desde la máquina en la que se produjo el error para conectarse al bucket de Amazon S3. Incluya la marca --debug en el comando:

aws s3 cp/sync SOURCE_FILE_PATH/SOURCE_FILE_NAME DESTINATION --debug

Analice los encabezados de la solicitud, el método de la solicitud y la respuesta. Si el problema es intermitente y algunas solicitudes se realizan correctamente, compruebe si hay diferencias entre una solicitud correcta y una con error.

Compruebe el resultado del comando para comprobar si un proxy del entorno de red provoca el error. El resultado indica un error de proxy o un error de conexión de proxy para los errores que se producen debido a un proxy HTTP. Si el error lo provocó un proxy SSL, verá uno de los errores de restablecimiento de la conexión cuando intente establecer el protocolo de enlace SSL.

Comprobación de HTTP Keep-Alive

Active HTTP Keep-Alive en la máquina para que esta utilice una única conexión TCP y permanezca abierta a varias solicitudes y respuestas HTTP. Ejecute el siguiente comando para comprobar si TCP Keep-Alive está activado:

curl -Iv s3.amazonaws.com 2>&1 | grep -i 'connection #0'

Cuando TCP Keep-Alive esté activado, el resultado muestra la siguiente cadena:

Connection #0 to host s3.amazonaws.com left intact

Consulta de los recursos intermediarios

Los recursos intermediarios, como una puerta de enlace NAT, un firewall o un equilibrador de carga, pueden cerrar prematuramente la conexión cuando estos recursos se usan demasiado. Además, es posible que cierren la conexión prematuramente y la marquen como inactiva cuando los datos no se escriben en el cable o desde él durante un período de tiempo.

OFICIAL DE AWSActualizada hace 3 años