AWS S3 CLI: no se pudo conectar a la URL del punto de enlace

118
$ aws s3 ls

Could not connect to the endpoint URL: "https://s3.us-east-1a.amazonaws.com/"

¿Cual podría ser el problema?

Prabhat
fuente
Esto sucedió conmigo cuando intentaba crear un dominio de búsqueda en la nube en us-east-2, tuve que usar us-east-1?
Jason Goemaat

Respuestas:

259

Probablemente tenga algo mal en su perfil predeterminado para la región predeterminada.

Verifique su archivo en ~/.aws/config, tiene algo como

[default]
region=us-east-1a
...

Fije la región ay region=us-east-1luego el comando funcionará correctamente

Frederic Henri
fuente
3
Tenía una entrada incorrecta similar en ~ / .aws / config que fue creada por el comando 'aws configure'. De forma predeterminada, sugirió el nombre de mi región 'Mumbai', que acepté. Este era el problema. Una vez que lo reemplacé con ap-south-1, el comando (aws s3 ls) comenzó a funcionar. Gracias.
Anurag
1
Muchas gracias. El poco pelo que queda en mi cabeza ahora está a salvo por unos momentos más ...
Copper.hat
1
Gracias. No tengo idea de cómo lo supiste.
user890332
2
Yo tenía un error similar, y se encontró que también podría ser resuelto mediante la especificación de la región como una opción de línea de comandos: aws s3 ls --region us-east-1.
Kurt Peek
3
Ojalá tuvieran la capacidad de enviar donaciones financieras a respuestas como esta.
RayLoveless
8

primero usa 'aws configure' y luego ingresa la clave de acceso, la clave secreta y la región. la región que ingrese sería importante para este problema. intente ingresar algo como 's3.us-east-1', no 's3.us-east-1a'. resolverá el problema.

fraya
fuente
6

Algunos servicios de AWS solo están disponibles en regiones específicas que no coinciden con su región real. Si este es el caso, puede anular la configuración estándar agregando la región a su comando cli real.

Esta podría ser una solución útil para las personas que no desean cambiar su región predeterminada en el archivo de configuración. SI su archivo de configuración general no está configurado: consulte las sugerencias anteriores.

En este ejemplo, la región se ve obligada a eu-west-1 (por ejemplo, Irlanda):

aws s3 ls --region=eu-west-1

Probado y utilizado con aws workmail para eliminar usuarios:

aws workmail delete-user --region=eu-west-1 --organization-id [org-id] --user-id [user-id]

Derivé la idea de este hilo y funciona perfectamente para mí, así que quería compartirlo. ¡Espero eso ayude!

Thomas Thiemann
fuente
5

Si ninguna de las soluciones proporcionadas anteriormente funciona, verifique también sus permisos y la configuración del firewall. En mi caso, agregar variables de entorno proxy hizo el trabajo.

Para Linux o Mac

$ export HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>

$ export HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT>

Para ventanas

set HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>

set HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT> aws cli Windows

ingrese la descripción de la imagen aquí

imTheManager
fuente
5

Debe especificar la región en su secuencia de comandos CLI, en lugar de confiar en la región predeterminada especificada mediante aws configure (como afirma la respuesta más popular actual). Otra respuesta aludió a eso, pero la sintaxis es incorrecta si está utilizando CLI a través de AWS Tools for Powershell.

Este ejemplo fuerza la región a us-west-2 (norte de California), sintaxis de PowerShell:

aws s3 ls --region us-west-2
Luke
fuente
2

Probablemente, haya algún problema con la región predeterminada al configurar aws. En su caso, la URL dice " https://s3.us-east-1a.amazonaws.com/ "

En su símbolo del sistema,

aws configure, ingrese sus claves, ahora arregle su región de us-east-1a a us-east-1 .

Por favor, compruebe la sintaxis de acuerdo con la CLI que esté utilizando. Esto será de gran ayuda.

Sonal
fuente
1

Suponiendo que su perfil ~/aws/configestá usando la región (en lugar de AZ según su pregunta original); la otra causa es la incapacidad de su cliente para conectarse s3.us-east-1.amazonaws.com. En mi caso, no pude resolver ese nombre DNS debido a un error en la configuración de mi red. Arreglar el problema de DNS resolvió mi problema.

Canada Dry
fuente
0

Un par de cosas que he hecho para solucionar este problema:

  1. Actualicé mi CLI y dio este error (el error anterior era " aws connection aborted error 10013")
  2. Intenté con nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com

    Se agotó el tiempo de espera de la solicitud de DNS. el tiempo de espera fue de 2 segundos. Servidor: Dirección desconocida: 192.168.10.1

-> hmmm muy raro

  1. Fui a la solución de problemas de la red de Windows y seleccioné para probar el acceso a una página específica. Informó que el firewall de Windows bloqueó la conexión. Arreglado esto

  2. Recibió un nuevo error, después de corregir la solicitud a través de Firewal:

    Se produjo un error (RequestTimeTooSkewed) al llamar a la operación ListBuckets: La diferencia entre la hora de la solicitud y la hora actual es demasiado grande.

  3. Actualicé mi fecha y hora a automático -> Fijo

Vladyslav Didenko
fuente
0

Debe hacer lo siguiente en la CLI: 1. aws configure '
2. ingrese la clave de acceso 3. ingrese la clave secreta 4. y luego la región, es decir: eu-west-1 (deje a o b después del 1)

Adam Ali
fuente
0

Todos tienen diferentes valores predeterminados y, curiosamente, cambiarán con el tiempo. Como ejemplo, primero estaba en global, y luego, después de 15 minutos, muestra Ohio (que es us-east-2).

El mejor enfoque es verificarlo durante su trabajo: en la consola de su área de trabajo de AWS, simplemente configúrelo en el lado derecho arriba cerca de su nombre en la barra superior, verifique el nombre de su región y haga clic en la flecha hacia abajo para ver su región.

En AWS CLI, escriba aws configureo aws2 configure, proporcione su acceso e identificación secreta, luego, durante la región predeterminada, escriba su región y presione Entrar.

Definitivamente obtendrá acceso a un conjunto de regiones específico y funcionará.

vedant dave
fuente
0

La solución a mi problema fue ejecutar:

    sudo aws configure

Ingrese sus credenciales y luego ejecute:

    sudo aws s3 ls

Una solución diferente fue asegurarse de que la región en el archivo .aws / config sea la misma que los puntos finales

Nicole Douglas
fuente