Velocizzare il tuo sito web con Amazon CloudFront - Amazon Simple Storage Service

Velocizzare il tuo sito web con Amazon CloudFront

Puoi utilizzare Amazon CloudFront per migliorare le prestazioni del tuo sito Web Amazon S3. CloudFront rende i file del sito Web (come HTML, immagini e video) disponibili da data center in tutto il mondo (detti edge location). Quando un visitatore richiede un file del sito web, CloudFront reindirizza automaticamente la richiesta a una copia del file nella edge location più vicina. Ciò determina tempi di download più rapidi rispetto alla richiesta di contenuto da un data center situato più lontano da parte del visitatore.

CloudFront effettua il caching dei contenuti presso le edge location per un periodo di tempo che specifichi tu. Se un visitatore richiede contenuti di cui è stato effettuato il caching per un periodo superiore alla data di scadenza, CloudFront controlla il server di origine per vedere se è disponibile una versione più recente dei contenuti. Se è disponibile una versione più recente, CloudFront copia la nuova versione nella edge location. Le modifiche apportate ai contenuti originali vengono replicate nelle edge location quando i visitatori richiedono i contenuti.

Automatizzare l'impostazione con un modello AWS CloudFormation

Per ulteriori informazioni sull'utilizzo di un modello AWS CloudFormation per configurare un sito Web statico sicuro che crea una distribuzione CloudFront per servire il tuo sito Web, consulta Nozioni di base su un sito Web statico sicuro nella Guida per gli sviluppatori di Amazon CloudFront.

Passaggio 1: creazione di una distribuzione CloudFront.

Prima di tutto, crea una distribuzione CloudFront. Ciò rende il sito Web accessibile a data center di tutto il mondo.

Per creare una distribuzione con un'origine Amazon S3
  1. Aprire la console CloudFront all'indirizzo https://console.aws.amazon.com/cloudfront/v3/home.

  2. Scegliere Create Distribution (Crea distribuzione).

  3. Nella pagina Select a delivery method for your content (Seleziona un metodo di distribuzione per i contenuti), in Web, scegliere Get Started (Inizia).

  4. Nella pagina Create Distribution (Crea distribuzione), nella sezione Origin Settings (Impostazioni origine), digitare l'endpoint del sito Web Amazon S3 per il bucket in Origin Domain Name (Nome dominio di origine), ad esempio example.com.s3-website.us-west-1.amazonaws.com.

    CloudFront immette automaticamente il valore Origin ID (ID origine).

  5. Lasciare i valori predefiniti in Default Cache Behavior Settings (Impostazioni predefinite comportamento cache).

    Con le impostazioni predefinite per Viewer Protocol Policy (Policy protocollo visualizzatore), è possibile utilizzare HTTPS per il sito Web statico. Per ulteriori informazioni su queste opzioni di configurazione, consulta Valori specificati quando si crea o si aggiorna una distribuzione web nella Guida per gli sviluppatori di Amazon CloudFront.

  6. In Impostazioni distribuzione, esegui quanto indicato di seguito:

    1. Lascia Classe prezzo impostato su Utilizza tutte le edge location (prestazioni migliori).

    2. Impostare Alternate Domain Names (CNAMEs) (Nomi di dominio alternativi (CNAME)) sul dominio root e il sottodominio www. In questo tutorial, questi sono rappresentati da example.com e www.example.com.

      Importante

      Prima di eseguire questa fase, prendi nota dei requisiti per l'utilizzo di nomi di dominio alternativi, in particolare l'esigenza di un certificato SSL/TLS valido.

    3. Per SSL Certificate (Certificato SSL), scegliere Custom SSL Certificate (example.com) (Certificato SSL personalizzato (example.com)), quindi scegliere il certificato personalizzato che copre i nomi di dominio e sottodominio.

      Per ulteriori informazioni, consulta Certificato SSL nella Guida per gli sviluppatori di Amazon CloudFront.

    4. In Default Root Object (Oggetto root predefinito), immettere il nome del documento indice, ad esempio index.html.

      Se l'URL utilizzato per accedere alla distribuzione non contiene un nome di file, la distribuzione CloudFront restituisce il documento indice. L'oggetto root predefinito deve corrispondere esattamente al nome del documento indice per il sito Web statico. Per ulteriori informazioni, consulta Configurazione di un documento indice.

    5. Imposta Log su On.

      Importante

      Quando crei o aggiorni una distribuzione e attivi la registrazione CloudFront, CloudFront aggiorna l'elenco di controllo dell'accesso bucket (ACL) per fornire il awslogsdelivery account FULL_CONTROL autorizzazioni per la scrittura di log nel bucket. Per ulteriori informazioni, consulta Autorizzazioni richieste per configurare la registrazione standard e per accedere ai file di log nella Guida per sviluppatori di Amazon CloudFront. Se il bucket che archivia i registri utilizza l'impostazione proprietario del bucket applicato per S3 Object Ownership per disabilitare le ACL, CloudFront non potrà scrivere i registri nel bucket. Per ulteriori informazioni, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.

    6. In Bucket per log, scegli il bucket log creato.

      Per ulteriori informazioni sulla configurazione di un bucket di registrazione, consulta (Facoltativo) Registrazione del traffico Web.

    7. Per archiviare i log generati dal traffico della distribuzione CloudFront in una cartella, in Log Prefix (Prefisso log), immetti il nome della cartella.

    8. Mantieni i valori predefiniti di tutte le altre impostazioni.

  7. Scegliere Create Distribution (Crea distribuzione).

  8. Per visualizzare lo stato attuale della distribuzione, cercare la distribuzione nella console e controllare la colonna Status (Stato).

    Lo stato InProgress indica che la distribuzione non è ancora completamente distribuita.

    Quando la tua distribuzione è distribuita, si può fare riferimento ai propri contenuti con il nuovo nome dominio CloudFront.

  9. Annota il valore di Domain Name (Nome dominio) visualizzato nella console CloudFront, ad esempio dj4p1rv6mvubz.cloudfront.net.

  10. Per verificare che la tua distribuzione CloudFront funzioni, immetti il nome dominio della distribuzione in un browser Web.

    Se il tuo sito web è visibile, la distribuzione CloudFront funziona. Se il tuo sito web ha un dominio personalizzato registrato con Amazon Route 53, sarà necessario il nome del dominio CloudFront per aggiornare il set di record nel passaggio successivo.

Passaggio 2: aggiornare il set di record per il dominio e sottodominio

Dopo aver creato correttamente una distribuzione CloudFront, aggiornare il record alias in Route 53 per puntare alla nuova distribuzione CloudFront.

Per aggiornare il record alias in modo che punti a una distribuzione CloudFront
  1. Aprire la console Route 53 all'indirizzo https://console.aws.amazon.com/route53/.

  2. Nel riquadro di navigazione a sinistra, scegliere Hosted zones (Zone ospitate).

  3. Nella pagina Hosted Zones (Zone ospitate), scegliere la hosted zone creata per il sottodominio, per esempio www.example.com.

  4. In Records, selezionare il record A creato per il sottodominio.

  5. In Record details (Dettagli record), scegliere Edit record (Modifica record).

  6. In Route traffic to (Instradare il traffico verso), scegliere Alias to CloudFront distribution (Distribuzione da Alias a Cloudfront).

  7. In Choose distribution (Scegli distribuzione), scegli la distribuzione CloudFront.

  8. Selezionare Salva.

  9. Per reindirizzare il record A per il dominio root alla distribuzione CloudFront, ripeti questa procedura per il dominio root, per esempio example.com.

    L'aggiornamento ai set di record avviene entro 2-48 ore.

  10. Per verificare se i nuovi record A sono effettivi, in un browser Web immetti l'URL del sottodominio, ad esempio http://www.example.com.

    Se il browser non reindirizza più al dominio root, ad esempio http://example.com, i nuovi record A sono effettivi. Quando il nuovo record A è diventato effettivo, il traffico instradato dal nuovo record A alla distribuzione CloudFront non viene reindirizzato al dominio root. I visitatori che fanno riferimento al sito utilizzando http://example.com o http://www.example.com vengono reindirizzati alla edge location CloudFront più vicina, con il vantaggio di tempi di download più rapidi.

    Suggerimento

    I browser possono effettuare il caching delle impostazioni di reindirizzamento. Se pensi che le impostazioni del nuovo record A dovrebbero essere diventate effettive ma il tuo browser reindirizza ancora http://www.example.com a http://example.com, prova a svuotare la cache e a eliminare la cronologia del browser, a chiudere e riaprire la tua applicazione browser o a utilizzare un browser Web differente.

(Facoltativo) Fase 3: controllare i file di log

I log di accesso indicano quante persone stanno visitando il sito Web. Inoltre contengono preziosi dati aziendali che si possono analizzare con altri servizi, come Amazon EMR.

I registri CloudFront vengono memorizzati nel bucket e nella cartella che si sceglie quando si crea una distribuzione CloudFront e si abilita la registrazione. CloudFront registra i log nel bucket log entro 24 ore dalle richieste corrispondenti.

Per visualizzare i file di log del sito Web
  1. Apri la console Amazon S3 su https://console.aws.amazon.com/s3/.

  2. Scegliere il nome del bucket log per il tuo sito web.

  3. Scegliere la cartella dei Log CloudFront.

  4. Scarica i file .gzip scritti da CloudFront prima di aprirli.

    Se hai creato il tuo sito Web solo come esercizio di apprendimento, puoi eliminare le risorse che hai allocato per non accumulare più addebiti. A questo proposito, consulta Pulizia delle risorse di esempio. Una volta eliminate le risorse AWS, il sito Web non è più disponibile.