Risposte:
Probabilmente hai qualcosa che non va nel tuo profilo predefinito per la regione predefinita.
Controlla il tuo file su ~/.aws/config
, hai qualcosa come
[default]
region=us-east-1a
...
Risolvi la regione region=us-east-1
e il comando funzionerà correttamente
aws s3 ls --region us-east-1
.
Alcuni servizi AWS sono disponibili solo in regioni specifiche che non corrispondono alla tua regione attuale. In questo caso è possibile sovrascrivere l'impostazione standard aggiungendo la regione al comando cli effettivo.
Questa potrebbe essere una soluzione utile per le persone che non vogliono cambiare la loro regione predefinita nel file di configurazione. SE il tuo file di configurazione generale non è impostato: controlla i suggerimenti sopra.
In questo esempio la regione è costretta a eu-west-1 (es. Irlanda):
aws s3 ls --region=eu-west-1
Testato e utilizzato con aws workmail per eliminare utenti:
aws workmail delete-user --region=eu-west-1 --organization-id [org-id] --user-id [user-id]
Ho tratto l'idea da questo thread e funziona perfettamente per me, quindi ho voluto condividerlo. Spero che sia d'aiuto!
Se nessuna delle soluzioni fornite sopra funziona, controlla anche le tue autorizzazioni e le impostazioni del firewall. Nel mio caso l'aggiunta di variabili di ambiente proxy ha funzionato.
Per Linux o mac
$ export HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>
$ export HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT>
Per Windows
set HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>
È necessario specificare la regione nel proprio script CLI, piuttosto che fare affidamento sulla regione predefinita specificata utilizzando aws configure (come afferma la risposta più popolare corrente). Un'altra risposta alludeva a questo, ma la sintassi è sbagliata se utilizzi la CLI tramite Strumenti AWS per Powershell.
Questo esempio forza la sintassi di PowerShell per la regione us-west-2 (California settentrionale):
aws s3 ls --region us-west-2
Probabilmente c'è qualcosa che non va nella regione predefinita durante la configurazione di aws. Nel tuo caso, l'URL dice " https://s3.us-east-1a.amazonaws.com/ "
Nel tuo prompt dei comandi,
aws configure, inserisci le tue chiavi, ora aggiusta la tua regione da us-east-1a a us-east-1 .
Si prega di controllare la sintassi in base alla CLI che si sta utilizzando. Questo sarà utile.
Supponendo che il tuo profilo in ~/aws/config
utilizzi la regione (anziché AZ come da domanda originale); l'altra causa è l'incapacità del tuo cliente di connettersi s3.us-east-1.amazonaws.com
. Nel mio caso, non sono riuscito a risolvere il nome DNS a causa di un errore nella configurazione della mia rete. Risolvere il problema DNS ha risolto il mio problema.
Un paio di cose che ho fatto per risolvere questo problema:
aws connection aborted error 10013
")Ho provato a nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com
Richiesta DNS scaduta. il timeout era di 2 secondi. Server: indirizzo sconosciuto: 192.168.10.1
-> hmmm molto strano
Sono andato alla risoluzione dei problemi di rete di Windows e selezionato per testare l'accesso a una pagina specifica. Ha informato che il firewall di Windows ha bloccato la connessione. Risolto questo problema
È stato ricevuto un nuovo errore, dopo aver corretto la richiesta tramite firewal:
Si è verificato un errore (RequestTimeTooSkewed) durante la chiamata all'operazione ListBuckets: la differenza tra l'ora della richiesta e l'ora corrente è troppo grande.
Data e ora aggiornate in automatico -> Risolto
Ognuno ha impostazioni predefinite diverse e, cosa interessante, cambierà nel tempo. Ad esempio, prima ero su globale, e poi dopo 15 minuti mostra Ohio (che è us-east-2
).
L'approccio migliore è controllarlo durante il tuo lavoro: nella console della tua area di lavoro AWS, basta impostarlo sul lato destro in alto vicino al tuo nome sulla barra superiore controlla il nome della tua regione e fai clic sulla freccia giù per vedere la tua regione.
In AWS CLI digita aws configure
o aws2 configure
, fornisci il tuo accesso e ID segreto, quindi durante la regione predefinita, scrivi la tua regione e premi Invio.
Avrai sicuramente accesso a un set di regioni specifico e funzionerà.
La soluzione al mio problema era eseguire:
sudo aws configure
Inserisci le tue credenziali e poi esegui:
sudo aws s3 ls
Una soluzione diversa era assicurarsi che la regione nel file .aws / config fosse la stessa degli endpoint
us-east-2
, dovevo usareus-east-1
?