Respostas:
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-1
e o comando funcionará corretamente
aws s3 ls --region us-east-1
.
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!
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>
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
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.
Supondo que seu perfil em ~/aws/config
está 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.
Algumas coisas que fiz para corrigir isso:
aws connection aborted error 10013
")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
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
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.
Atualizei minha data e hora para automático -> Fixo
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 configure
ou aws2 configure
forneç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á.
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
us-east-2
, eu tive que usarus-east-1
?