AWS S3 CLI - Impossibile connettersi all'URL dell'endpoint


118
$ aws s3 ls

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

Quale potrebbe essere il problema?


Questo è successo con me quando ho provato a creare un dominio Cloudearch su us-east-2, dovevo usare us-east-1?
Jason Goemaat

Risposte:


259

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-1e il comando funzionerà correttamente


3
Avevo una voce errata simile in ~ / .aws / config che è stata creata dal comando "aws configure". Per impostazione predefinita, ha suggerito il nome della mia regione "Mumbai" che ho accettato. Questo era il problema. Una volta sostituito con ap-south-1, il comando (aws s3 ls) ha iniziato a funzionare. Grazie.
Anurag

1
Grazie mille. I pochi capelli che mi rimangono sulla testa ora sono al sicuro per un altro momento ...
rame

1
Grazie. Non ho idea di come lo sapessi.
user890332

2
Ho avuto un errore simile, e trovato che potrebbe anche essere risolto specificando la regione come un'opzione di riga di comando: aws s3 ls --region us-east-1.
Kurt Peek

3
Vorrei che avessero la possibilità di inviare donazioni finanziarie a risposte come questa.
RayLoveless

8

per prima cosa usi "aws configure", quindi inserisci la chiave di accesso, la chiave segreta e la regione. la regione che inserisci sarebbe importante per questo problema. prova a inserire qualcosa come "s3.us-east-1", non "s3.us-east-1a". risolverà il problema.


6

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!


5

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>

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

inserisci qui la descrizione dell'immagine


5

È 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

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.


1

Supponendo che il tuo profilo in ~/aws/configutilizzi 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.


0

Un paio di cose che ho fatto per risolvere questo problema:

  1. Ho aggiornato la mia CLI e ha fornito questo errore (l'errore precedente era "aws connection aborted error 10013 ")
  2. 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

  1. 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

  2. È 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.

  3. Data e ora aggiornate in automatico -> Risolto


0

È necessario eseguire le seguenti operazioni sulla CLI: 1. aws configure '
2. inserire la chiave di accesso 3. inserire la chiave segreta 4. e quindi la regione, ad esempio: eu-west-1 (lasciare la aob dopo l'1)


0

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 configureo 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à.


0

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.