Esistono casi d'uso che si prestano meglio al cloudfront Amazon rispetto a s3 o viceversa? Sto cercando di capire la differenza tra i 2 attraverso esempi.
Esistono casi d'uso che si prestano meglio al cloudfront Amazon rispetto a s3 o viceversa? Sto cercando di capire la differenza tra i 2 attraverso esempi.
Risposte:
Amazon S3 è progettato per l'archiviazione di file a grande capacità ea basso costo in una regione geografica specifica. * I costi di archiviazione e larghezza di banda sono piuttosto bassi.
Amazon CloudFront è una rete di distribuzione di contenuti (CDN) che inoltra e memorizza nella cache i dati Web in posizioni periferiche il più vicino possibile agli utenti.
Quando gli utenti finali richiedono un oggetto utilizzando questo nome di dominio, vengono automaticamente instradati verso la posizione laterale più vicina per la consegna ad alte prestazioni dei contenuti. ( Amazon )
I dati forniti da CloudFront possono o meno provenire da S3. Poiché è più ottimizzato per la velocità di consegna, la larghezza di banda costa un po 'di più.
Se la tua base utenti è localizzata , non vedrai troppe differenze lavorando con S3 o CloudFront (ma devi scegliere la posizione giusta per il tuo bucket S3: USA, UE, APAC). Se la tua base di utenti è diffusa a livello globale e la velocità è importante, CloudFront potrebbe essere un'opzione migliore.
Sia S3 che CloudFront consentono alias di dominio, tuttavia CloudFront consente più alias in modo che d1.mystatics.com
, d2.mystatics.com
e d3.mystatics.com
tutti possano puntare nella stessa posizione aumentando la capacità di download paralleli (questo era consigliato da Google ma con l'introduzione di SPDY e HTTP / 2 è di minore importanza).
CloudFront supporta anche CORS dal 2014 (grazie sergiopantoja).
* Nota: S3 ora può replicare automaticamente in aree aggiuntive a partire dal 2015.
CloudFront e S3 Bucket non sono uguali . In parole povere: CloudFront ti consente di accelerare la consegna dei contenuti dei tuoi contenuti web tramite Content Delivery Network (CDN) in posizioni periferiche, mentre i secchi S3 sono i punti in cui archivi i tuoi file effettivi. Le fonti CloudFront potrebbero non provenire necessariamente da S3 ma per una più facile visualizzazione dell'integrazione S3 con CloudFront:
Un'altra grande differenza è che CloudFront ti consente di eseguire il mirroring del sito sul tuo server. Cloudfront quindi memorizza nella cache i file come immagini, mp3 o video utilizzando la sua rete di distribuzione dei contenuti.
Ciò ti consente di evitare di duplicare le tue risorse come faresti quando usi Amazon S3.
Tuttavia, dopo la scadenza di un file, CloudFront lo recupererà nuovamente dal tuo sito live (a costo). Quindi cloud front è il migliore per i file a cui si accede di frequente, e meno per quelli a cui si accede raramente.
Un modo per impostare la scadenza del file per apache è in .htaccess. Per esempio
<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>
Amazon CLOUDFRONT e S3 sono due diversi servizi forniti da Amazon Web Services.
Amazon S3 è un servizio di archiviazione in cui possiamo archiviare file statici come:
css, immagini, javascript, video, ecc ...
Amazon CloudFront è un middleware che si colloca tra un utente che richiede un file da AWS e il data center S3 in una regione specifica, CloudFront viene utilizzato per accelerare la distribuzione dei contenuti Web statici e dinamici da S3 all'utente.
Puoi capirlo meglio con un esempio: -
Ad esempio, l'S3 si trova nella regione AWS degli Stati Uniti orientali (Virginia settentrionale) in cui si trova un centro dati in cui archiviare i file.
Se un utente dall'India tenta di accedere a un file da un server AWS in Virginia, l'utente dovrebbe andare in quella posizione specifica con una richiesta, e ciò richiederà molto tempo.
Quello che fa CloudFront è che si pone come un middleware tra l'utente e AWS S3.
I file più utilizzati possono essere memorizzati nella cache su CloudFront e ciò che fa è, replica quei file in posizioni marginali (Per distribuire contenuti agli utenti finali con bassa latenza, Amazon CloudFront utilizza una rete globale di località marginali per la consegna dei contenuti).
Se il contenuto è già nella posizione limite con la latenza più bassa, CloudFront lo consegna immediatamente. Se il contenuto non è attualmente in quella posizione perimetrale, CloudFront lo recupera da un bucket Amazon S3 e lo fornisce all'utente il più velocemente possibile.
A ogni richiesta viene assegnato un nuovo DNS da CloudFront a S3, quindi ciò comporterebbe una riduzione del traffico e una maggiore elaborazione parallela delle richieste.
Di seguito è riportato l'elenco delle posizioni dei bordi correnti a luglio-2016: -
stati Uniti
Europa
Amsterdam, Paesi Bassi (2)
Dublino, Irlanda
Francoforte, Germania (3)
Londra, Inghilterra (3)
Madrid, Spagna
Marsiglia, Francia
Milano, Italia
Parigi, Francia (2)
Stoccolma, Svezia
Varsavia, Polonia
Asia
Chennai, India
Hong Kong (2)
Mumbai, India
Manila, le Filippine
Nuova Delhi, India
Osaka, Giappone
Seoul, Corea (3)
Singapore (2)
Taipei, Taiwan
Tokyo, Giappone (2)
Australia
Melbourne, Australia
Sydney, Australia
Sud America
San Paolo, Brasile
Rio de Janeiro, Brasile
Da questo puoi concludere che se gli utenti sono limitati provengono dalla stessa regione in cui è ospitato il tuo S3, allora non devi andare su CloudFront e se il numero di utenti è aumentato a livello globale, dovresti sicuramente usare CloudFront per una migliore latenza e controllo del traffico.
Amazon S3 è un servizio di archiviazione semplice, che può essere utilizzato con una grande quantità di informazioni, ad esempio video, immagini, PDF, ecc.
CloudFront è una rete di distribuzione di contenuti, più vicina all'utente finale e utilizzata per rendere le informazioni disponibili su Amazon S3 nel minor tempo possibile.
Un esempio di utilizzo è Video on Demand.
Alcuni vantaggi dell'utilizzo di CloudFront per il caso d'uso corretto:
Altri possibili casi d'uso:
Un aspetto mancato qui è:
Amazon Cloudfront offre anche prezzi inferiori rispetto ad Amazon S3 a livelli di utilizzo più elevati.
Cloudfront CDN è per la distribuzione di contenuti su più server distribuiti geograficamente (CSS, JS)
Considerando che s3 è più di un archivio di risorse per utente meno utilizzato (immagini utente, PDF).
Puoi servire le tue risorse Cloudfront da un bucket s3 bypassando completamente il tuo server web.
( Utile in situazioni in cui il tuo server web precompila e archivia immagini e java-script. Memorizzandole su s3 significa che il footprint della memoria del tuo server è ridotto )
Es .: Su Heroku Slugs (le dimensioni delle applicazioni rispettate possono essere ridotte usando s3 e avvolgendolo con un CDN fronte cloud migliorerà la produttività)
Come prima cosa vorrei spiegare che Amazon S3 è il cloud Storage e Cloud Front è la rete di distribuzione dei contenuti (CDN).
Quindi puoi usare per archiviare i file su S3 e creare la distribuzione per servire il contenuto su Internet. Inoltre puoi creare una distribuzione per le regioni specifiche.
Puoi vedere alcuni confronti tra Amazon S3 e Amazon Cloudfront da qui: http://www.bucketexplorer.com/documentation/cloudfront--amazon-s3-vs-amazon-cloudfront.html
[Divulgazione: Bucket Explorer]
Amazon S3 è un'ottima piattaforma di archiviazione di oggetti se stai cercando un sistema di archiviazione distribuito a livello globale per proteggere da regioni / zone in calo. È anche ottimo per contenuti statici / fissi che non sono transazionali e cambiano come immagini, video, immagini, backup, ecc. Spero che sia d'aiuto!