View a markdown version of this page

Instradamento della richiesta - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Instradamento della richiesta

I programmi che effettuano richieste su bucket creati utilizzando l'CreateBucketAPI che includono un CreateBucketConfiguration must support per i reindirizzamenti. Inoltre, è possibile che si verifichino problemi con alcuni client che non rispettano i valori TTL DNS.

Questa sezione descrive l'instradamento e i problemi del server DNS da tenere in considerazione durante la progettazione del servizio o dell'applicazione da utilizzare con Amazon S3.

Reindirizzamento delle richieste e API REST

Amazon S3 utilizza Domain Name System (DNS) per instradare le richieste a strutture che possano elaborarle. Il sistema funziona in modo efficace, ma potrebbero verificarsi errori di instradamento temporaneo. Se una richiesta arriva nella posizione Amazon S3 sbagliata, Amazon S3 risponde con un reindirizzamento temporaneo che indica al richiedente di rinviare la richiesta a un altro endpoint. Se la richiesta è formulata in modo errato, Amazon S3 utilizza i reindirizzamenti permanenti per fornire indicazioni su come eseguire la richiesta correttamente.

Importante

Per utilizzare questa funzionalità, è necessario essere in possesso di un'applicazione che possa gestire le risposte di reindirizzamento di Amazon S3. L'unica eccezione riguarda i le applicazioni che operano esclusivamente con bucket creati senza <CreateBucketConfiguration>. Per ulteriori informazioni sui vincoli di posizione, consulta Accedere ed elencare un bucket Amazon S3.

Per tutte le regioni lanciate dopo il 20 marzo 2019, se una richiesta arriva alla posizione Amazon S3 errata, Amazon S3 restituisce un errore HTTP 400 - Richiesta non valida.

Per ulteriori informazioni sull'attivazione o la disabilitazione di un Regione AWS, consulta Regioni AWS Endpoints in. Riferimenti generali di AWS

Instradamento DNS

L'instradamento DNS indirizza le richieste alle strutture Amazon S3 appropriate. La figura e la procedura seguenti illustrano un esempio di instradamento DNS.

Passaggi che si verificano quando un server DNS indirizza le richieste dal client alla struttura B.
Passaggi della richiesta di instradamento DNS
  1. Il client effettua una richiesta DNS per l'archiviazione di un oggetto su Amazon S3.

  2. Il client riceve uno o più indirizzi IP per le strutture che possono elaborare la richiesta. In questo esempio, l'indirizzo IP è per la struttura B.

  3. Il client effettua una richiesta alla struttura B di Amazon S3.

  4. La struttura B restituisce una copia dell'oggetto al client.

Reindirizzamento temporaneo delle richieste

Il reindirizzamento temporaneo è un tipo di risposta di errore che segnala al richiedente la necessità di rinviare la richiesta a un altro endpoint. Data la natura distribuita di Amazon S3, le richieste possono essere temporaneamente instradate alla struttura sbagliata. Questo si verifica con maggiore probabilità immediatamente dopo la creazione o l'eliminazione dei bucket.

Ad esempio, se si crea un nuovo bucket e si effettua immediatamente una richiesta al bucket, si potrebbe ricevere un reindirizzamento temporaneo, a seconda del vincolo di posizione del bucket. Se hai creato il bucket negli Stati Uniti orientali (Virginia settentrionale) Regione AWS, non vedrai il reindirizzamento perché questo è anche l'endpoint Amazon S3 predefinito.

Tuttavia, se il bucket viene creato in qualsiasi altra regione, tutte le richiesta al bucket arrivano all'endpoint predefinito durante la propagazione della voce DNS del bucket. L'endpoint predefinito reindirizza la richiesta all'endpoint corretto con una risposta HTTP 302. I reindirizzamenti temporanei contengono un URI per la struttura corretta, che può essere utilizzato per rinviare immediatamente la richiesta.

Importante

Non riutilizzare un endpoint fornito da una risposta di reindirizzamento precedente. Potrebbe sembrare funzionante (anche per lunghi periodi di tempo), ma potrebbe generare risultati imprevedibili e infine dare esito negativo senza preavviso.

La figura e la procedura seguenti illustrano un esempio di reindirizzamento temporaneo.

Passaggi che si verificano quando un client invia una richiesta a B e viene reindirizzato a C.
Passaggi di reindirizzamento temporaneo delle richieste
  1. Il client effettua una richiesta DNS per l'archiviazione di un oggetto su Amazon S3.

  2. Il client riceve uno o più indirizzi IP per le strutture che possono elaborare la richiesta.

  3. Il client effettua una richiesta alla struttura B di Amazon S3.

  4. La struttura B restituisce un reindirizzamento che indica che l'oggetto è disponibile dalla posizione C.

  5. Il client rinvia la richiesta alla struttura C.

  6. La struttura C restituisce una copia dell'oggetto.

Reindirizzamento permanente delle richieste

Un reindirizzamento permanente indica che la richiesta è stata rivolta a una risorsa in modo non appropriato. Ad esempio, i reindirizzamenti permanenti si verificano in caso di utilizzo di una richiesta in stile percorso per accedere a un bucket creato utilizzando <CreateBucketConfiguration>. Per ulteriori informazioni, consulta Accedere ed elencare un bucket Amazon S3.

Per agevolare l'individuazione di questi errori durante lo sviluppo, questo tipo di reindirizzamento non contiene un'intestazione HTTP di posizione che permette di seguire automaticamente la richiesta verso la posizione corretta. Consulta il documento di errore XML risultante come supporto per utilizzare l'endpoint Amazon S3 corretto.

Esempi di reindirizzamento delle richieste

I seguenti sono esempi di risposte di reindirizzamento temporaneo delle richieste.

Risposta di reindirizzamento temporaneo API REST

HTTP/1.1 307 Temporary Redirect Location: http://awsexamplebucket1.s3-gztb4pa9sq.amazonaws.com/photos/puppy.jpg?rk=e2c69a31 Content-Type: application/xml Transfer-Encoding: chunked Date: Fri, 12 Oct 2007 01:12:56 GMT Server: AmazonS3 <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>TemporaryRedirect</Code> <Message>Please re-send this request to the specified temporary endpoint. Continue to use the original request endpoint for future requests.</Message> <Endpoint>awsexamplebucket1.s3-gztb4pa9sq.amazonaws.com</Endpoint> </Error>

Risposta di reindirizzamento temporaneo API SOAP

Nota

Le API SOAP per Amazon S3 non sono disponibili per i nuovi clienti, con la fine del ciclo di vita prevista per il 31 agosto 2025. Ti consigliamo di utilizzare l'API REST o gli AWS SDK.

<soapenv:Body> <soapenv:Fault> <Faultcode>soapenv:Client.TemporaryRedirect</Faultcode> <Faultstring>Please re-send this request to the specified temporary endpoint. Continue to use the original request endpoint for future requests.</Faultstring> <Detail> <Bucket>images</Bucket> <Endpoint>s3-gztb4pa9sq.amazonaws.com</Endpoint> </Detail> </soapenv:Fault> </soapenv:Body>

Considerazioni sul sistema DNS

Uno dei requisiti di progettazione di Amazon S3 è una disponibilità estremamente alta. Per rispondere a questo requisito, è possibile aggiornare gli indirizzi IP associati all'endpoint Amazon S3 in DNS, in base alle necessità. Queste modifiche si riflettono automaticamente nei client di breve durata, ma non in alcuni client a lunga durata. Long-lived i clienti dovranno intraprendere azioni speciali per risolvere periodicamente l'endpoint Amazon S3 per beneficiare di queste modifiche. Per ulteriori informazioni sulle macchine virtuali (VM), consultare:

  • Per Java, la JVM di Sun memorizza nella cache le ricerche DNS per sempre per impostazione predefinita; vai alla sezione "InetAddressCaching» della InetAddress documentazione per informazioni su come modificare questo comportamento.

  • Per PHP, la VM PHP persistente che esegue le configurazioni di distribuzione più diffuse memorizza nella cache le ricerche DNS fino al riavvio della VM. Vai alla documentazione per scaricare PHP. HostByName