Che cos'è Amazon CloudFront? - Amazon CloudFront

Che cos'è Amazon CloudFront?

Amazon CloudFront è un servizio Web che velocizza la distribuzione di contenuto Web statico e dinamico, come file immagine, .html, .css e .js, agli utenti. CloudFront offre i contenuti mediante una rete mondiale di data center chiamate edge location. Quando un utente richiede contenuto che distribuisci tramite CloudFront, viene instradato all'edge location che fornisce la latenza (ritardo) più bassa, affinché la distribuzione venga eseguita con le migliori prestazioni possibili.

  • Se il contenuto si trova già nella edge location con la latenza più bassa, CloudFront lo distribuisce immediatamente.

  • Se i contenuti non si trovano in una tale edge location, CloudFront li recupera da un'origine definita dall'utente, come un bucket di Amazon S3, un canale MediaPackage o un server HTTP (ad esempio, un server Web) che hai identificato come l'origine della versione definitiva dei contenuti.

Ad esempio, supponiamo tu stia distribuendo un'immagine da un server Web tradizionale, e non mediante CloudFront. Ad esempio, è possibile distribuire un'immagine, sunsetphoto.png, utilizzando l'URL http://example.com/sunsetphoto.png.

I tuoi utenti possono facilmente passare a questo URL e visualizzare l'immagine. Probabilmente ignorano che la loro richiesta è stata instradata da una rete all'altra (attraverso l'insieme complesso di reti interconnesse che costituiscono Internet) fino a che l'immagine è stata trovata.

CloudFront accelera la distribuzione dei contenuti instradando ogni richiesta utente tramite la rete dorsale AWS alla edge location che può servire meglio i contenuti. Di solito si tratta di un edge server CloudFront che fornisce la distribuzione più veloce per il visualizzatore. L'uso della rete AWS riduce drasticamente il numero di reti attraverso le quali le richieste degli utenti devono transitare e di conseguenza migliora le prestazioni. Gli utenti usufruiscono di una latenza più bassa (il periodo di tempo necessario per caricare il primo byte del file) e velocità di trasferimento dati più elevate.

I vantaggi sono evidenti anche a livello di affidabilità e disponibilità, in quanto copie dei tuoi file (note anche come oggetti) si trovano (o sono memorizzate nella cache) in più edge location in tutto il mondo.

Come configurare CloudFront per distribuire contenuti

È possibile creare una distribuzione CloudFront per dire a CloudFront dove prendere i contenuti e fornire i dettagli su come tenere traccia e gestire la distribuzione di contenuti. Quindi CloudFront utilizza computer - edge server - che sono vicini ai visualizzatori per distribuire i contenuti in modo rapido quando un utente desidera visualizzare o utilizzare tali contenuti.

 
				Funzionamento di CloudFront

Configurazione di CloudFront per la distribuzione di contenuti

  1. È possibile specificare i server di origine, ad esempio un bucket Amazon S3 o il tuo server HTTP, da cui CloudFront ottiene i file che verranno poi distribuiti da edge location CloudFront in tutto il mondo.

    Un server di origine archivia la versione originale e definitiva dei tuoi oggetti. Se distribuisci contenuto via HTTP, il server di origine è un bucket Amazon S3 o un server HTTP, ad esempio un server Web. Il server HTTP può essere eseguito su un'istanza di Amazon Elastic Compute Cloud (Amazon EC2) o su un server che gestisci; questi server sono anche noti come origini personalizzate.

    Se utilizzi il protocollo RTMP di Adobe Flash Media Server per distribuire i file multimediali on demand, il tuo server di origine è sempre un bucket Amazon S3.

  2. Carica i file nei server di origine. I tuoi file, detti anche oggetti, in genere includono pagine Web, immagini e file multimediali, ma anche qualsiasi altro elemento che può essere distribuito via HTTP o una versione supportata di Adobe RTMP, il protocollo utilizzato da Adobe Flash Media Server.

    Se utilizzi un bucket Amazon S3 come server di origine, puoi rendere gli oggetti nel bucket leggibili pubblicamente e quindi consentire agli utenti che conoscono gli URL di CloudFront dei tuoi oggetti di accedervi. Hai anche la possibilità di conservare gli oggetti privati e di controllare chi accede agli stessi. Per informazioni, consulta Esecuzione di contenuti privati con URL firmati e cookie firmati.

  3. Crea una distribuzione CloudFront che indica a CloudFront i server di origine da cui ottenere i file quando gli utenti li richiedono tramite il tuo sito Web o applicazione. Specifica inoltre i dettagli, ad esempio se CloudFront deve registrare tutte le richieste e se la distribuzione deve essere attivata non appena viene creata.

  4. CloudFront assegna un nome di dominio alla nuova distribuzione che puoi visualizzare nella console di CloudFront oppure lo restituisce nella risposta a una richiesta programmatica, ad esempio una richiesta API. Se lo si desidera, è possibile aggiungere un nome di dominio alternativo da utilizzare.

  5. CloudFront invia la configurazione della distribuzione (ma non il contenuto) a tutte le relative edge location o points of presence (POP)—, ovvero gruppi di server in data center situati in differenti zone geografiche dove CloudFront memorizza nella cache le copie dei file.

Durante lo sviluppo del sito Web o dell'applicazione, utilizzi il nome di dominio che CloudFront fornisce per i tuoi URL. Ad esempio, se CloudFront restituisce d111111abcdef8.cloudfront.net come nome di dominio per la distribuzione, l'URL per logo.jpg nel tuo bucket Amazon S3 (o nella directory principale in un server HTTP) è http://d111111abcdef8.cloudfront.net/logo.jpg.

Oppure, è possibile configurare CloudFront affinché utilizzi il tuo nome di dominio con la distribuzione. In tal caso, l'URL potrebbe essere http://www.example.com/logo.jpg.

Eventualmente, puoi configurare il tuo server di origine per aggiungere intestazioni ai file, in modo da indicare il periodo di tempo durante il quale i file rimangono nella cache delle edge location di CloudFront. Per impostazione predefinita, ogni file rimane in una edge location per 24 ore prima della scadenza. La scadenza minima è 0 secondi e non esiste un tempo massimo. Per ulteriori informazioni, consulta Gestione della durata di permanenza dei contenuti in una cache edge (scadenza).