AWS S3 CLI - Não foi possível conectar ao URL do endpoint


118
$ aws s3 ls

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

Qual pode ser o problema?


Isso aconteceu comigo ao tentar criar um domínio cloudsearch no us-east-2, eu tive que usar us-east-1?
Jason Goemaat

Respostas:


259

Você provavelmente tem algo errado em seu perfil padrão para a região padrão.

Verifique seu arquivo em ~/.aws/config, você tem algo como

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

Corrija a região para region=us-east-1e o comando funcionará corretamente


3
Eu tinha uma entrada errada semelhante em ~ / .aws / config, que foi criada pelo comando 'aws configure'. Por padrão, sugeria meu nome de região 'Mumbai', que eu aceitei. Esse era o problema. Depois de substituí-lo por ap-south-1, o comando (aws s3 ls) começou a funcionar. Obrigado.
Anurag

1
Muito obrigado. O pouco de cabelo que resta na minha cabeça agora está seguro por mais alguns momentos ...
cobre

1
Obrigado. Não tenho ideia de como você sabia disso.
user890332

2
Eu tinha um erro semelhante, e descobriu que ele também poderia ser resolvido especificando a região como uma opção de linha de comando: aws s3 ls --region us-east-1.
Kurt Peek

3
Gostaria que eles pudessem enviar doações financeiras para respostas como esta.
RayLoveless

8

primeiro você usa 'aws configure' e depois insere a chave de acesso, a chave secreta e a região. a região que você inserir seria importante para este problema. tente inserir algo como 's3.us-east-1', não 's3.us-east-1a'. isso vai resolver o problema.


6

Alguns serviços da AWS estão disponíveis apenas em regiões específicas que não correspondem à sua região real. Se for esse o caso, você pode substituir a configuração padrão adicionando a região ao seu comando cli real.

Esta pode ser uma solução útil para pessoas que não desejam alterar sua região padrão no arquivo de configuração. SE o seu arquivo de configuração geral não estiver definido: Por favor, verifique as sugestões acima.

Neste exemplo, a região é forçada a eu-west-1 (por exemplo, Irlanda):

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

Testado e usado com aws workmail para excluir usuários:

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

Eu tirei a ideia deste tópico e ele funciona perfeitamente para mim - então eu queria compartilhá-lo. Espero que ajude!


5

Se nenhuma das soluções fornecidas acima funcionar, verifique também suas permissões e configurações de firewall. No meu caso, adicionar variáveis ​​de ambiente de proxy funcionou.

Para Linux ou Mac

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

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

Para Windows

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

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

insira a descrição da imagem aqui


5

Você deve especificar a região em seu script CLI, em vez de confiar na região padrão especificada usando aws configure (como afirma a resposta mais popular atual). Outra resposta aludiu a isso, mas a sintaxe está errada se você estiver usando CLI por meio de AWS Tools for Powershell.

Este exemplo força a região a us-west-2 (norte da Califórnia), sintaxe do PowerShell:

aws s3 ls --region us-west-2

2

Provavelmente, há algo errado com a região padrão ao configurar o aws. No seu caso, o URL diz " https://s3.us-east-1a.amazonaws.com/ "

Em seu prompt de comando,

aws configure, insira suas chaves, agora corrija sua região de us-east-1a para us-east-1 .

Verifique a sintaxe de acordo com a CLI que você está usando. Isso será útil.


1

Supondo que seu perfil em ~/aws/configestá usando a região (em vez de AZ de acordo com sua pergunta original); a outra causa é a incapacidade de conexão do seu cliente s3.us-east-1.amazonaws.com. No meu caso, não consegui resolver esse nome DNS devido a um erro na configuração da minha rede. Consertar o problema de DNS resolveu meu problema.


0

Algumas coisas que fiz para corrigir isso:

  1. Atualizei minha CLI e deu este erro (o erro anterior era " aws connection aborted error 10013")
  2. Tentativa de endpoing de nslookup aws s3: nslookup s3.us-east-2.amazonaws.com

    A solicitação de DNS expirou. o tempo limite foi de 2 segundos. Servidor: Endereço desconhecido: 192.168.10.1

-> hmmm muito estranho

  1. Fui para a solução de problemas de rede do Windows e selecionei para testar o acesso a uma página específica. Informou que o firewall do Windows bloqueou a conexão. Corrigido isso

  2. Recebido um novo erro, após corrigir a solicitação por meio do Firewal:

    Ocorreu um erro (RequestTimeTooSkewed) ao chamar a operação ListBuckets: A diferença entre a hora da solicitação e a hora atual é muito grande.

  3. Atualizei minha data e hora para automático -> Fixo


0

Você deve fazer o seguinte na CLI: 1. aws configure '
2. insira a chave de acesso 3. insira a chave secreta 4. e a região, ou seja: eu-west-1 (deixe o a ou b após o 1)


0

Todos têm padrões diferentes e, curiosamente, isso mudará com o tempo. Por exemplo, primeiro eu estava no global e, depois de 15 minutos, mostra Ohio (que é us-east-2).

A melhor abordagem é verificá-lo durante o seu trabalho - no console da sua área de trabalho AWS, basta configurá-lo no lado direito acima próximo ao seu nome na barra superior, verifique o nome da sua região e clique na seta para baixo para ver sua região.

No AWS CLI, digite aws configureou aws2 configureforneça seu acesso e id secreto e, durante a região padrão, escreva sua região e pressione Enter.

Você definitivamente terá acesso a um conjunto de regiões específico e funcionará.


0

A solução para meu problema era executar:

    sudo aws configure

Insira suas credenciais e execute:

    sudo aws s3 ls

Uma solução diferente foi certificar-se de que a região no arquivo .aws / config é a mesma dos endpoints

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.