S3 storage + Free plan CDN setting

Hi,
I need to declare my total ignorance about web services and technical stuff. I’m sorry, I know that I should prepare myself in a better way than this before creating a website. I need something like a step by step explanation on how to set S3 and Cloudflare for my site.

Here’s the situation:

  • My site is a tube website (www.painting.tube). It catch video from youtube and create a lot of different size video-thumbnails.
  • My site is hosted on a private server and it will stay there, I don’t want to move it.
  • I’ve uploaded just all thumbnails folders in a S3 bucket.
  • I’ve created a free plan CDN account on Cloudflare and changed DSN of my site.

Now, I would set all stuff so they work together but my knowledge is so poor that I can’t understand almost nothing of what I’ve read in other post.
I’ve found some tutorial on how to set a CDN for static website but seem that it’s not my situation since I have just media folders on S3 storage.
I hope to find someone so kind to give me some help despite my ignorance.
If I forgot some relevant data, I will try to answer to any questions.
Thank you in advance and sorry for my bad English.

Seem that I’ve convinced everybody that I’m too dumb to understand something…
Any help will be appreciated…thanks

This guide, found via Google, should help.

If you need to share the same hostname (and not use different hostnames) then you would need a Worker script. That is a completely different story.

Read the Worker’s Developer docs. This is a good starting script for this issue.

Thank you Matteo (are you Italian?)
I have just the media folder on S3, not the full site.
I’ve been told that my case is different.

I sure am, Lucio. If you want to change language please do let the know.

Let me understand this a bit more. You have your site on example.com, you have the images for this site stored on S3 and you need to access them in the path example.com/images?

All URLs are examples, let me know if the concept is correct.

IF possible, let’s speak Italian, I’m going crazy trying to explain this stuff in English.
I’ll add some info to give you a better idea:

  • My site domain is painting.tube

  • “WP Offload Media Lite” plugin installed in my Wordpress, create a copy of media files and send it to S3 storage. Basically it turn S3 storage in a CDN but with bad URL.

  • The seller on Fiverr who has created the bucket on S3 has called it “paintingtube” but the name of the bucket should be the same as the domain: “painting.tube” (…I think…)

  • In “WP Offload Media Lite” plugin setting page, it says: " We strongly recommend you configure a CDN to point at your bucket and configure a subdomain of painting.tube to point at your CDN. If you don’t enter a subdomain of your site’s domain in the field below it will negatively impact your site’s SEO."

  • Since the bucket name is “paintingtube”, the URL of the subdomain created will be: https://paintingtube/wp‑content/uploads/2019/05/

  • Such URL is not recognized and it get this message: “Yikes! That’s not a very SEO-friendly URL. We strongly recommend you configure a CDN to point at your bucket and configure a subdomain of painting.tube to point at your CDN.”

  • I’ve added a CNAME record on Cloudflare pointing the name “paintingtube” to S3 URL. This is the right procedure but with the wrong bucket name it doesn’t work as it should, obviously.

S3 storage seem more powerful than Cloudflare free plan so I don’t dislike the idea of collecting media on Amazon S3 working like a CDN and manage them by Cloudflare just redirecting the path of media.

  • Do you think this setting can be done in a right way and can work fine? Or it’s just a bad way to use these services and I need to do it from start?

  • Do you think that it could be easier using a free Cloudflare CDN alone instead of keeping media files on S3? I fear that Cloudflare CDN alone will get me some limitation in near future.

  • Anther question: Cloudflare Analytics reports more than 300 unique visitors in the last 24 hours, Google Analytics report 20 visits for yesterday. Which one is right? If Cloudflare is wrong, all my usage is wrong…

Va benissimo in italiano.

Lasciami un paio d’ore e ti rispondo per bene :slightly_smiling_face:

Grazie 1000!

Vado in ordine in base al tuo post precedente.

S3 non può essere considerato una CDN, essendo una singola location. Devi attivare Cloudfront per avere una CDN, ma costa parecchio.

Corretto, in base a cosa vuoi fare. Questa guida (https://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html) è valida, alla fine hai un hosting di un sito statico anche se metti solo immagini.

Se vuoi tutte le immagini in un percorso come painting.tube/images invece dell’attuale painting.tube/wp-content/content/... allora secondo me non conviene nemmeno usare S3, ma direttamente il tuo server e Cloudflare + Workers.

Se vuoi le immagini in un sotto-dominio tipo images.painting.tube/... allora S3 non è male, anche se volendo potresti usare lo stesso server (dipende dalla configurazione e dalle possibilità del server).

Non proprio, non funziona perchè hai bisogno un record DNS verso un dominio valido, quindi non andrebbe proprio. Il nome dovrebbe essere o painting.tube o images.painting.tube in base a cosa vuoi fare prima.

Tu hai creato un CNAME da paintingtube.painting.tube a S3, non funzionerà mai perchè quello non è il nome del bucket. Proseguimento del problema di prima in pratica. Devi avere un nome di dominio valido e poi usare o il dominio di base o un suo sotto dominio. paitingtube, senza TLD finale, non è nemmeno un dominio valido.

S3 e Cloudflare sono prodotti completamente diversi, non sono paragonabili. Che limitazioni immagini? Una volta che hai un host/server, Cloudflare fa da CDN/protezione a quell’host.


mia opinione

Io sinceramente lascerei tutto com’è, mi preoccuperei più che altro di mettere gli header corretti per avere un buon caching del server e posizionerei il server in un posto vicino alla maggioranza degli utenti. Purtroppo come Wordpress non so aiutarti molto, mai usato e sinceramente non lo adoro per vari problemi tra sicurezza e lentezza. Capisco la comodità di tanti e non biasimo nessuno che lo usa, specialmente se il sito non è troppo grosso.

Come seconda opzione, se proprio vuoi vedere gli URL migliori, usa un Worker che riscriva gli URL, però è incasinato se Wordpress scrive nell’HTML gli URL sbagliati.

Usare un sotto-dominio, avendo la CDN sul primario e con HTTP/2, non ha quasi nessun senso ormai a meno di altri problemi di risorse sul server (spazio, principalmente).


La risposta è più o meno in mezzo, Cloudflare conta anche i bot di Google, Bing, ecc. e normalmente 1 IP = 1 visitatore, che non è sempre così. Google Analytics è corretto, ma limita solo a chi ha JS attivo e non ha nessun blocco di tracker. Direi circa 40/60 potrebbe essere corretto? Però è una mia ipotesi.

1 Like

Grazie Matteo per l’esauriente e dettagliata risposta, non sai quanto mi stai aiutando.

Forse è meglio che parta da più lontano:

  • Il mio sito crea circa 17 immagini di dimensioni diverse per ogni video di Youtube che condivido. ( I video rimangono su Youtube ma le thumbnails sono sul mio hosting)

  • L’idea del sito è quella di offrire una scrematura qualitativa dei video inerenti la pittura e il disegno presenti su YouTube ma per renderlo minimamente interessante ho bisogno di una o due migliaia di video per categoria (32 per adesso…facendo i conti con 1000 video ciascuna arriverei a più di 540.000 thumbnails)

  • Il primo hosting su cui caricai il sito aveva un “File counting limitation” di 262.000 file quindi era destinato a riempirsi molto presto anche perchè venivano contati anche i file del sito stesso ovviamente.

  • Per quel che ho capito, sembra che tutti gli hosting più diffusi abbiano un limite sul numero di file che si possono caricare, così decisi di migrare su un server privato condiviso (attualmente con una media di 40 video per categoria ho questi dati: Utilizzo Disco 3,63 GB/14,65 GB; Utilizzo Disco MySQL® 73,52 MB/11,09 GB Larghezza Di Banda 189,84 MB/9,54 TB)

  • I rapporti di GTMetrix indicavano la necessità di integrare un CDN per migliorare la pessima velocità di caricamento. Chiedendo in giro in molti mi hanno consigliato S3 più che altro, credo, per la questione del numero e delle dimensioni dei file.

  • L’idea di tenere le immagini separate dal sito mi permetterebbe di non preoccuparmi del limite sul numero di file, così potrei migrare il sito su un servizio che funzioni meglio dell’attuale (anche perchè è in India e la comunicazione con lo “staff” non è delle migliori…)

  • Spaventato dalla mole di servizi offerti da Amazon AWS, ho chiesto aiuto su Fiverr.com. Il ragazzo che ho contattato avrebbe voluto settare S3 + CloudFront ma visti i costi gli chiesi se si poteva fare a meno del Cloud e lui disse di sì…

  • In pratica, aveva installato un plugin che copia il contenuto della cartella delle immagini nel bucket S3. Il plugin però avvertiva di settare un CDN con i messaggi che ho riportato prima.

Riassumendo:

  • Il sito nel tempo accumulerà un alto numero di immagini
  • Il mio obiettivo primario è aumentare le prestazioni in termini di velocità di caricamento e assicurarmi sufficienti risorse per gli anni a venire.
  • Se avessi le risorse economiche opterei per un VPS come mi è stato suggerito da molti ma sono costretto a cercare la soluzione più economica possibile per il momento.
  • Cloudflare ha un limite di cache di 512MB per pagina, non ho idea se sia o sarà un problema a dire la verità…in più non ho capito se usando CloudFlare come CDN le immagini resteranno sul server in India o se verranno caricare su Cloudflare.

Cosa mi consigli? Rimani dell’idea di restare su S3 e settare correttamente il tutto o mi converrebbe semplificare e risparmiare del tutto usando solo Cloudflare?

Grazie ancora

Mmm, allora.

Posso chiedere perchè così tante? A prescindere dal discorso successivo. Se le compatti sufficientemente non vedo motivo a meno che siano thumbnail di vari pezzi del video.

Visto quello storage mettere sul server è impensabile, con 20GB di spazio è impensabile.

GTMetrix non riconosce Cloudflare ad esempio, il consiglio è giusto a prescindere però. S3 però è alla fine equiparabile al server che hai, solo che ha spazio infinito.

Ha molto senso visto il numero di immagini. Considera che usare un server in India è al 99% la maggioranza dei tuoi problemi. La latenza verso la maggioranza del mondo dall’India è altissima.

AWS è il più caro che tu possa aver preso. Io consiglierei DigitalOcean, sia per il server che per lo storage. Ti danno anche una CDN integrata (info: https://www.digitalocean.com/docs/spaces/overview/) inclusa nel prezzo (integrabile con Cloudflare immagino per ridurne l’uso).

Su DigitalOcean sono 5$/mese per la VPS basilare che si può aumentare senza problemi e senza perdere nulla. Installano anche Worpress/SQL con un solo click.

Il limite è 512MB per file, ovvio che non è garantito che staranno in cache per sempre.


mia opinione

Io metterei tutto su DigitalOcean. Come costi non sono alti. Gli Spaces di DigitalOcean sono compatibili con le API di S3.

Abiliti il sotto-dominio puntato allo Space di DO e metti la cache davanti di Cloudflare che ti riduce eventuali costi di storage.


Info extra:

1 Like
  • Il sito crea 17 versioni per ogni thumbnails per far sì che la visualizzazione sia corretta per ogni risoluzione di schermo, in più la stessa immagine viene riproposta in differenti dimensioni anche all’interno del sito stesso. Ho provato a scartare qualche formato ed il risultato è stato un disastro, meglio non toccare niente nella gestione delle thumbnails…

  • Non sembra che GTMetrix non riconosca Cloudflare, mi dà un 100% verde sul parametro CDN mentre prima era uno 0 spaccato. Anche se è abbastanza strano che riconosca Clouflare visto il settaggio…vabè, teniamo da parte questo mistero.

  • Non sapevo nulla sulla latenza dall’India. Informazione illuminante direi!

  • S3 da solo costa qualche dollaro, Cloudflare è gratis…così avevo pensato di starci dentro con le spese ma rimane fuori il discorso server che Digital Ocean (mi pare di capire) risolverebbe.

  • Riguardo i VPS mi spaventa molto il discorso “gestione”: ho letto che non sono gestiti e necessitano di interventi da parte dell’amministratore. Non sarei in grado…credo.

  • Sui dati analytics di Cloudflare: così è una bella fregatura però, non si parla di una differenza di dati nell’ordine di qualche unitò o decina…Google dice 20 e Cloudflare 375…non ho ben capito cosa indicano i vari “limit requests” ma con questi numeri qualsiasi limite è già…al limite!

Ho letto le pagine di DigitalOcean e da semianalfabeta-digitale quale sono devo dire che il primo istinto è quello di cercare qualcuno che si occupi di tutta la faccenda perchè sono troppi i punti in cui potrei fare un errore.

Gli Indiani che gestiscono il server vorrebbero usare solo la CDN Clouflare e sbarazzarsi di S3. Io non ho ancora risposto ma mi sembra di capire che anche col sito snellito (senza immagini perchè spostate sulla CDN), non posso usare un server qualsiasi…ho cmq bisogno di un server come quello offerto da DigitalOcean, giusto?

E’ decisamente più difficile di quel che pensavo organizzare questo sito, spero di saltarci fuori prima o poi perchè è da due mesi che vivo davanti al pc.

Comunque ancora grazie per il tuo preziosissimo aiuto, sei gentilissimo.

Secondo me, ma non so né com’è strutturato il sito né altre motivazioni tecniche, sono sinceramente tante e creano grossi problemi di caching (Cloudflare non terrà mai 500000 immagini di un singolo sito, specialmente se su un sito con meno traffico e su un piano Free, in cache creando consumi di banda allucinante).

Di solito un server per un sito EU/USA va o a New York o Amsterdam/Francoforte/Londra.

Considera il consumo di banda in uscita da S3, sono 0.10$ al GB di solito. Dipende da quanto traffico hai.

Secondo me con 10$/mese dovresti cavartela, al massimo 15$ se non hai troppi dati al momento, poi volendo aumentando in base alle necessità.

Questo è vero, devi gestirtelo tu, ma non credo facciano molto di più in India però. DigitalOcean ha tante guide.

É sempre una buona cosa, quello è sicuro. Considera che il costo può essere alto.

Un server per Wordpress serve a prescindere (che sia l’hosting condiviso ora o il Droplet di DO), puoi ridurre le necessità del server usando uno storage esterno (S3, DO Spaces, ecc.).

Puoi usare un server qualsiasi, però se ti sbarazzi di S3 le immagini non ti staranno, magari ora si, ma non nel futuro, sul tuo server.

Eh lo so, è così, ma è un buon modo per imparare!

Figurati comunque!

1 Like
  • Non so se è possibile comprimerle in un unico file, sarebbe un bel vantaggio. Mi preoccupa ciò che hai scritto poichè davo per scontato che si potessero gestire anche alti numeri di file su Cloudflare o sui Cloud in generale.

  • Altra informazione illuminante…io avevo capito che fossero 0,10$/GB di Storage e non di banda…con i numeri che dà Cloudflare per esempio sarei in bancarotta in meno di un anno. Già i 10$ al mese di cui parli sono al limite delle mie risorse quindi credo che lascerò S3 molto presto.

  • Ho cercato su Fiverr…c’è un buon numero di sellers che installano wordpress e siti su server virtuali Digital Ocean. Magari prima proverò a fare un tentativo altrimenti mi toccherà delegare e su Fiverr è sempre un bel rischio.

Riassumendo, tu mi consigli di:

  • Migrare Wordpress su un Droplet DO
  • Migrare le immagini su uno Space DO
  • Usare CDN integrata DO
  • Aggiungere sito a Cloudflare

Ho capito bene?
Anche in questo modo le future 500.000 immagini saranno un problema?

Scusami se continuo a farti domande ma sto capendo più cose oggi che in due mesi passati a leggere…

Grazie

Non si può unire il tutto, tecnicamente sarebbe anche possibile, ma non avresti il vantaggio perchè dovresti scaricare tutto il file. Per il numero di file non hai problemi se hai lo spazio sufficiente e non hai limiti di numero nell’host. Nessuno dei quali è un problema con DO Spaces, S3, ecc.

Cloudflare non garantisce la cache infinita, specialmente nel piano Free. Se non c’è sufficiente accesso a un file dopo un po’ viene rimosso e nel caso richiesto al server originale.

Per quello suggerivo DO, sono molto più economici e includono già una CDN (che puoi anche usare in aggiunta al caching di Cloudflare), 250GB di storage con 1TB di download mensili sono 5$ con loro (0.02$/GB/mese per storage extra, 0.01$/GB per la banda extra), quasi 100$ con S3. Lo storage è molto più economico di solito, eccetto per DO. Su S3 è 0.09$/GB di banda, ~0.02$/GB/mese per storage, ma varia molto in base al tipo di storage e alla location.

Mai usato Fiverr, io però prima proverei per conto tuo e nel caso ci pensi dopo. Segui le guide di DO che sono ottime.

Si, praticamente si. Mi raccomando metti i record :orange: nel DNS, ma fai attenzione a quello che fai.

L’errore che tanti fanno è che non mettono il certificato SSL nell’origine, ma mettilo che se no è più o meno inutile.

Capito bene. NON saranno un problema.

Grazie mille Matteo!
Ne so davvero troppo poco per tentare di migrare il sito su DO.
Ho già contattato un freelance su Fiverr, vediamo cosa mi dice…

Credo di aver già impostato i DSN di Cloudflare ma non ho impostato nessun certificato. Controllerò.

Volevo chiederti: c’è modo di contattarti, pagando ovviamente, per avere assistenza nel caso avessi bisogno?

Grazie!

1 Like

Il certificato lato Cloudflare c’è già, stai usando Cloudflare già adesso.

Nel caso ci sentiamo, ma sono solo uno studente al momento! In particolare non sono molto esperto su Wordpress nello specifico.

Ok allora intanto grazie di cuore per tutto il tempo che mi hai dedicato.
Non sai la fatica che ho fatto per cercare (invano) le informazioni che mi hai dato.
Ti contatterò qui nel caso avessi bisogno ma tranquillo, ti chiamerò solo in caso di catastrofe :slight_smile: …ho già approffittato abbastanza della tua disponibilità.
Grazie ancora e alla prossima!

Figurati, siamo qui per aiutare!

This topic was automatically closed after 31 days. New replies are no longer allowed.