Ottimizza l'alta disponibilità con il failover di CloudFront origine - Amazon CloudFront

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

Ottimizza l'alta disponibilità con il failover di CloudFront origine

È possibile eseguire la configurazione CloudFront con il failover di origine per scenari che richiedono un'elevata disponibilità. Per iniziare, è necessario creare un gruppo di origine con due origini: una primaria e una secondaria. Se l'origine primaria non è disponibile o restituisce codici di stato di HTTP risposta specifici che indicano un errore, passa CloudFront automaticamente all'origine secondaria.

Per configurare il failover di origine, è necessario disporre di una distribuzione con almeno due origini. In seguito, viene creato un gruppo di origine per la distribuzione che include le due origini, impostandone una come primaria. Infine, è possibile creare o aggiornare un comportamento della cache per utilizzare il gruppo di origine.

Per vedere i passaggi per la configurazione dei gruppi di origine con le opzioni specifiche di failover di origine, consulta Crea un gruppo di origine.

Dopo aver configurato il failover di origine per il comportamento della cache, CloudFront esegue le seguenti operazioni per le richieste dei visualizzatori:

  • Quando si verifica un accesso alla cache, CloudFront restituisce l'oggetto richiesto.

  • In caso di perdita della cache, CloudFront indirizza la richiesta all'origine primaria del gruppo di origine.

  • Quando l'origine primaria restituisce un codice di stato non configurato per il failover, ad esempio un codice di stato HTTP 2xx o 3xx, invia l' CloudFront oggetto richiesto al visualizzatore.

  • Quando si verifica una delle seguenti condizioni:

    • L'origine primaria restituisce un codice di HTTP stato che hai configurato per il failover

    • CloudFront non riesce a connettersi all'origine primaria

    • La risposta dall'origine primaria richiede troppo tempo (time out)

    Quindi CloudFront indirizza la richiesta all'origine secondaria nel gruppo di origine.

    Nota

    In alcuni casi d'uso, come lo streaming di contenuti video, potresti CloudFront voler eseguire rapidamente il failover sull'origine secondaria. Per regolare la velocità di CloudFront failover sull'origine secondaria, consultaControlla i timeout e i tentativi di origine.

CloudFront indirizza tutte le richieste in entrata all'origine primaria, anche quando una richiesta precedente non è passata all'origine secondaria. CloudFront invia richieste all'origine secondaria solo dopo che una richiesta all'origine primaria ha esito negativo.

CloudFront esegue il failover sull'origine secondaria solo quando il HTTP metodo della richiesta del visualizzatore è GETHEAD, oOPTIONS. CloudFront non esegue il failover quando il visualizzatore invia un HTTP metodo diverso (ad esempio POSTPUT, e così via).

Il diagramma seguente illustrato il funzionamento del failover di origine.

Come funziona il failover di origine

Crea un gruppo di origine

Per creare un gruppo di origine
  1. Accedi a AWS Management Console e apri la CloudFront console all'indirizzohttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Scegli la distribuzione per la quale desideri creare il gruppo di origine.

  3. Seleziona la scheda Origins (Origini).

  4. Assicurati che la distribuzione abbia più di un'origine. In caso contrario, aggiungi una seconda origine.

  5. Nella scheda Origini, nel pannello Gruppi di origine, scegli Crea gruppo di origine.

  6. Scegli le origini per il gruppo di origine. Dopo aver aggiunto le origini, utilizza le frecce per impostare la priorità, ovvero quale origine è primaria e quale secondaria.

  7. Digitare un nome per il gruppo di origine.

  8. Scegli i codici di HTTP stato da utilizzare come criteri di failover. È possibile scegliere qualsiasi combinazione dei seguenti codici di stato: 400, 403, 404, 416, 500, 502, 503 o 504. Quando CloudFront riceve una risposta con uno dei codici di stato specificati, esegue il failover all'origine secondaria.

    Nota

    CloudFront esegue il failover sull'origine secondaria solo quando il HTTP metodo della richiesta del visualizzatore è GETHEAD, oOPTIONS. CloudFront non esegue il failover quando il visualizzatore invia un HTTP metodo diverso (ad esempio POSTPUT, e così via).

  9. Scegliere Crea un gruppo di origine.

Assicurati di assegnare il tuo gruppo di origine come origine per il comportamento della cache della tua distribuzione. Per ulteriori informazioni, consulta Nome.

Controlla i timeout e i tentativi di origine

Per impostazione predefinita, CloudFront tenta di connettersi all'origine primaria in un gruppo di origine per un massimo di 30 secondi (3 tentativi di connessione da 10 secondi ciascuno) prima di eseguire il failover sull'origine secondaria. In alcuni casi d'uso, come lo streaming di contenuti video, potresti CloudFront voler eseguire il failover sull'origine secondaria più rapidamente. È possibile modificare le seguenti impostazioni per influire sulla velocità di CloudFront failover sull'origine secondaria. Se l'origine è un'origine secondaria o un'origine che non fa parte di un gruppo di origine, queste impostazioni influiscono sulla velocità di CloudFront restituzione di una risposta HTTP 504 al visualizzatore.

Per eseguire il failover più rapidamente, specificare un timeout di connessione più breve, un minor numero di tentativi di connessione o entrambi. Per le origini personalizzate (incluse le origini del bucket Amazon S3 che sono configurate con l'hosting di siti web statici), è inoltre possibile regolare il timeout di risposta all'origine.

Timeout connessione origine

L'impostazione del timeout della connessione di origine influisce sulla durata delle CloudFront attese quando si tenta di stabilire una connessione all'origine. Per impostazione predefinita, CloudFront attende 10 secondi per stabilire una connessione, ma è possibile specificare da 1 a 10 secondi (inclusi). Per ulteriori informazioni, consulta Timeout di connessione.

Tentativi di connessione all'origine

L'impostazione dei tentativi di connessione all'origine influisce sul numero di CloudFront tentativi di connessione all'origine. Per impostazione predefinita, CloudFront tenta di connettersi 3 volte, ma è possibile specificare 1—3 (incluso). Per ulteriori informazioni, consulta Tentativi di connessione.

Per un'origine personalizzata (incluso un bucket Amazon S3 configurato con hosting di siti Web statici), questa impostazione influisce anche sul numero di volte in cui si CloudFront tenta di ottenere una risposta dall'origine in caso di timeout della risposta di origine.

Timeout di risposta origine
Nota

Si applica solo alle origini personalizzate.

L'impostazione del timeout della risposta di origine influisce sulla durata di CloudFront attesa per ricevere una risposta (o per ricevere la risposta completa) dall'origine. Per impostazione predefinita, CloudFront attende 30 secondi, ma è possibile specificare da 1 a 60 secondi (inclusi). Per ulteriori informazioni, consulta Timeout di risposta (solo origini personalizzate).

Come modificare queste impostazioni

Per modificare queste impostazioni nella console CloudFront

  • Per una nuova origine o una nuova distribuzione, è necessario specificare questi valori quando si crea la risorsa.

  • Per un'origine esistente in una distribuzione esistente, è necessario specificare questi valori quando si modifica l'origine.

Per ulteriori informazioni, consulta Riferimento alle impostazioni di distribuzione.

Utilizzo del failover di origine con le funzioni Lambda@Edge

Puoi usare le funzioni Lambda @Edge con le CloudFront distribuzioni che hai configurato con i gruppi di origine. Per utilizzare una funzione Lambda, specificarla in una richiesta di origine o in un trigger di risposta di origine per un gruppo di origine quando si crea il comportamento della cache. Quando utilizzi una funzione Lambda@Edge con un gruppo di origine, la funzione può essere attivata due volte per una singola richiesta del visualizzatore. Considera ad esempio questo scenario:

  1. Crei una funzione Lambda@Edge con un trigger di richiesta di origine.

  2. La funzione Lambda viene attivata una volta quando CloudFront invia una richiesta all'origine primaria (in caso di perdita della cache).

  3. L'origine primaria risponde con un codice di HTTP stato configurato per il failover.

  4. La funzione Lambda viene riattivata quando CloudFront invia la stessa richiesta all'origine secondaria.

Il seguente diagramma mostra il modo in cui il failover di origine funziona quando si include una funzione Lambda@Edge in un trigger di richiesta o di risposta dell'origine.

Come funziona il failover di origine con le funzioni Lambda@Edge

Per ulteriori informazioni sull'utilizzo dei trigger Lambda@Edge, consulta Aggiungere trigger per una funzione Lambda @Edge.

Per ulteriori informazioni sulla gestione del DNS failover, consulta la sezione Configurazione del DNS failover nella Amazon Route 53 Developer Guide.

Utilizzo di pagine di errore personalizzate con failover di origine

È possibile utilizzare le pagine di errore personalizzate con i gruppi di origine in modo analogo a come si utilizzano con le origini che non sono impostate per il failover di origine.

Quando utilizzi il failover di origine, puoi configurare la restituzione CloudFront di una pagina di errore personalizzata per l'origine primaria o secondaria (o entrambe):

  • Restituisce una pagina di errore personalizzata per l'origine principale: se l'origine primaria restituisce un codice di HTTP stato non configurato per il failover, CloudFront restituisce la pagina di errore personalizzata ai visualizzatori.

  • Restituisce una pagina di errore personalizzata per l'origine secondaria: se CloudFront riceve un codice di stato di errore dall'origine secondaria, CloudFront restituisce la pagina di errore personalizzata.

Per ulteriori informazioni sull'utilizzo di pagine di errore personalizzate con CloudFront, consultaGenerazione di risposte di errore personalizzate.