Saltar al contenido
TURNKEYGNU / LINUX
AplicacionesDocumentaciónBlogCapturas de pantallaGitHubTurnKey Hub
文Español
EnglishEspañol中文日本語PortuguêsDeutsch
Home/Solución de problemas de acceso TKLBAM S3

Documentación

Solución de problemas de acceso TKLBAM S3

Generalmente TKLBAM "sólo funciona" pero ocasionalmente algunos usuarios tienen problemas que se conectan a Amazon S3.

Cuestiones comunes

Las causas comunes son el bloqueo de cortafuegos o un proxy web (común en redes corporativas) bloqueando o manipulando el tráfico. Para los fines de prueba, por favor, asegúrese de deshabilitar estos (preferiblemente) o por lo menos crear una excepción para su servidor TKL (para que pueda tener acceso claro a Internet).

Revisar el registro

El siguiente paso es comprobar el registro de errores. Sugiero que lo busques por la palabra "error" como esta:

grep error /var/log/tklbam-backup

Si usted está teniendo errores de conexión, debe devolver algo como esto:

Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #1, reason: error: [Errno 104] Connection reset by peer)
Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #2, reason: error: [Errno 104] Connection reset by peer)
Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #3, reason: error: [Errno 32] Broken pipe)
Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #4, reason: error: [Errno 104] Connection reset by peer)
Upload 's3://s3-eu-west-1.amazonaws.com/tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfju/duplicity-full.20160825T115809Z.vol1.difftar.gpg' failed (attempt #5, reason: error: [Errno 32] Broken pipe)
Backend error detail: Traceback (most recent call last):

En este ejemplo, el servidor TurnKey está obviamente en Europa Occidental y está tratando de conectarse a s3-eu-west-1.amazonaws.com. Los errores que se encuentran son "Connection reset by peer" y "Broken pipe". Estos son errores comúnmente encontrados cuando hay un problema con conectividad de red y/o autorización.

Comprobación para conectividad de red: ping

Así que vamos a comprobar la conectividad (sustituir "s3-eu-west-1.amazonaws.com" para la dirección S3 que su TKLBAM está tratando de conectarse a) desde su servidor TKL a AWS S3:

ping -c 4 s3-eu-west-1.amazonaws.com

Si todo está bien, debe devolver algo así:

PING s3-eu-west-1.amazonaws.com (54.231.133.100) 56(84) bytes of data.
64 bytes from s3-eu-west-1.amazonaws.com (54.231.133.100): icmp_seq=1 ttl=48 time=66.8 ms
64 bytes from s3-eu-west-1.amazonaws.com (54.231.133.100): icmp_seq=2 ttl=48 time=104 ms
64 bytes from s3-eu-west-1.amazonaws.com (54.231.133.100): icmp_seq=3 ttl=48 time=136 ms
64 bytes from s3-eu-west-1.amazonaws.com (54.231.133.100): icmp_seq=4 ttl=48 time=122 ms

Obviamente los tiempos y la IP del servidor al que se conecta será diferente, pero esto muestra que el servidor TKL puede conectarse a s3-eu-west-1.amazonaws.com fino.

Si no puedes conectarte, entonces estás teniendo un problema con el config de red (firewall? conexión a Internet?) y/o resolución DNS. Por favor, trate de resolver ese problema dentro de su red antes de progresar más.

Comprobación para conectividad de red S3: navegador web

A continuación vamos a probar las conexiones http y https. Estas próximas pruebas suponen que usted tiene un PC (con un navegador web) en el mismo LAN como su servidor y utilizarlo para encontrar un URL y hacer el test inicial(s). Si no tiene un PC en el mismo LAN como su servidor (por ejemplo, un servidor remoto hospedado en otro lugar) entonces usted todavía tendrá que encontrar un S3 URL adecuado para el siguiente paso. Una vez que tengamos un S3 URL que conocemos funciona, podemos comprobarlo desde el servidor TKL. Pero los resultados de esta prueba serán irrelevantes para los propósitos de TKLBAM. Tengo una URL para probar ya, pero si no lo haces, la mejor manera de encontrar uno es a través de Google.

sitio:s3-eu-west-1.amazonaws.com

Luego seleccione un sitio que tenga el URL relevante. Ver captura de pantalla adjunta (FWIW Sólo estoy usando "modo de incógnito" para reducir la información irrelevante en mis capturas de pantalla - no es necesario que usted haga eso).

En su navegador web haga clic en un enlace relevante. Estoy usando "Hotspot Shield" para mi ejemplo aquí. Asegúrese de que el URL en la barra de direcciones sigue siendo un S3. Algunos sitios pueden redirigir a otro URL. Si eso sucede, vuelva a Google y pruebe otro diferente. Aquí está un ejemplo de cómo debe parecer:

Así que acabo de confirmar el acceso a s3-eu-west-1.amazonaws.com usando HTTPS. Para un cheque final, vamos a probar también el HTTP plano. En la barra de direcciones, eliminar los 's' de 'https://...' para que sea 'http://...' . Algunos sitios pueden redirigir de nuevo a HTTPS. Si eso sucede, todavía demuestra que puede conectarse a través de HTTP simple (porque el servidor está redireccionando de nuevo a HTTPS).

Si usted está teniendo errores aquí, y han doble chequeado un par de diferentes URLs S3 (fundadas a través de Google) entonces obviamente hay algo malo. Por favor, compruebe el firewall y el config de red. De lo contrario, ahora compruebe desde el servidor TKL.

Comprobación para conectividad de red S3: línea de comandos (curl)

Armado con un S3 URL válido (y trabajando) puede comprobar que su servidor también puede conectarse correctamente a S3. Para hacer eso, usaremos el curl.

Esto es lo que recomiendo. Utiliza curl para descargar la página pero ignora el html descargado (sólo necesitamos ver si hay un error o no). Este es el comando (utiliza obviamente el URL que ya se ha encontrado arriba).

curl http://s3-eu-west-1.amazonaws.com/tradwrds/index.html > /dev/null
Si funciona como debe proporcionar salida algo así:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12750  100 12750    0     0  13537      0 --:--:-- --:--:-- --:--:-- 13549
Para demostrar cómo podría parecer si encuentra un error mangle el URL (así que sé que no funcionará); esto es lo que parece:
curl http://s3-euz-west-1.amazonaws.com/tradwrds/index.html > /dev/null

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: s3-euz-west-1.amazonaws.com
Nota el "curl: (6) No podía resolver el host: s3-euz-west-1.amazonaws.com".

De nuevo, si no tienes éxito aquí, hay algo malo en el acceso de la red de tu servidor TurnKey. Asumiendo que eso funcione, vamos a investigar más a fondo el acceso a AWS.

Acceso S3 vía línea de comandos: awscli

Estamos trabajando de nuevo en su servidor TKL. Primero instalamos las dependencias awscli:
apt-get update && apt-get install python-pip
Una vez que haya terminado (asumiendo que se complete con éxito) entonces instalar awscli mismo:
pip install awscli

W también tendrá que crear un usuario que pueda utilizar el perfil de seguridad 'turnkeyhub' (para comprobar doblemente que podemos acceder al cubo como TKLBAM).

Navega en la página de gestión de usuarios de AWS IAMs: https://console.aws.amazon.com/iam/home#users

Crear un nuevo usuario (Llamé mi 'tklbam-test') y haga clic en crear. En la siguiente pantalla haga clic en el enlace "Mostrar credenciales de seguridad de usuario" para mostrar la información de las credenciales (en una gota abajo).

tklbam-test
    Access Key ID: AKIAJ3B6NSG22LO47BUA
Secret Access Key: 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

Asegúrese de copiar/pasar esta información en algún lugar seguro (o descargar el archivo csv) ya que una vez que salga de esta pantalla no puede acceder a esta información de nuevo (necesita recrear las llaves ¡Observen este secreto y no lo publiquen en ningún lugar público!

Ahora vuelva a la pantalla de usuario de IAMs, haga clic en el nuevo usuario. Seleccione la pestaña "Permisiones" y haga clic en el botón "Ajustar la política". Si no, póngalo en la caja Filtro en la parte superior. Una vez que lo haya encontrado, haga clic en el interior de la caja a la derecha (que marca una garrapata en la caja) y haga clic en "Agregar la política".

Ahora es el momento de utilizar las credenciales que guardamos antes y configurar awscli. La forma más fácil de hacer el config es simplemente lanzar awscli como este:

aws configure
Luego copiar/pasar la información relevante en la ventana de consola. Por ejemplo:
AWS Access Key ID [None]: AKIAJ3B6NSG22LO47BUA
AWS Secret Access Key [None]: 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
Default region name [none]: eu-west-1
Default output format [none]:
Para nuestros propósitos no importa qué región fijamos como predeterminado, sin embargo tiene sentido utilizar la región donde TKLBAM está tratando de salvar sus respaldos (en este caso eu-west-1). Si deseas doble comprobación para regiones válidas, puedes encontrar las posibles regiones y sus códigos relevantes Aquí..

Ahora compruebe que puede enumerar sus cubos S3 y que todo está funcionando como debería.

aws s3 ls
Debería devolver algo así:
2016-08-30 15:53:35 tklbam-eu-west-1-c992423735f1f4ee9616
Ahora vea si puede mirar dentro del cubo:
aws s3 ls tklbam-eu-west-1-c992423735f1f4ee9616
Si todo está bien, debería mostrar algo como esto:
                           PRE 24fh4htqs3t3tfj/
Perforemos de nuevo para ver qué hay en el subdirectorio:
aws s3 ls tklbam-eu-west-1-c992423735f1f4ee9616/24fh4htqs3t3tfj/
La mía parece así:
2016-08-30 15:53:50     247045 duplicity-full-signatures.20160830T055346Z.sigtar.gpg
2016-08-30 15:53:51        218 duplicity-full.20160830T055346Z.manifest.gpg
2016-08-30 15:53:49   10168660 duplicity-full.20160830T055346Z.vol1.difftar.gpg
Si puede ver todos sus archivos de volumen TKLBAM (como pantallas de minas) entonces todo está bien. Si usted está teniendo problemas de permiso mientras utiliza awscli entonces eso sugiere que hay algo mal con los permisos que usted ha establecido en AWS. Lo más probable es que sea el perfil de seguridad "turnkeyhub" dentro del IAMs "Roles" area (Consola AWS).
TURNKEYGNU / LINUX

Controla tu infraestructura sin empezar desde cero.

Explorar TurnKey
Acerca deDocumentaciónPreguntas frecuentesBlogGitHub
Libre y de código abiertoSeguro de forma predeterminadaListo para desplegar