18 Settembre 2022

Guida all’ottimizzazione dei prezzi e dei costi di AWS CloudFront

Scopri come risparmiare budget sul trasferimento dei dati di Amazon AWS CloudFront

Amazon AWS CloudFront

CloudFront è un CDN (Content Delivery Network) di proprietà di AWS. Le CDN vengono utilizzate principalmente per la memorizzazione nella cache e molti clienti utilizzano anche la CDN di AWS CloudFront come livello di sicurezza o la utilizzano per gestire i picchi di rete. Con AWS CloudFront CDN, quando un utente richiede una pagina Web o un’immagine, la richiesta viene instradata a uno degli oltre 225 server perimetrali di Amazon. Se il server perimetrale ha già la risorsa memorizzata nella cache, viene servita al client. Se la risorsa non si trova sul server perimetrale, effettua una richiesta a un server perimetrale più grande chiamato cache perimetrale regionale, se non è presente, la richiesta arriva a un server di origine che ospita la tua applicazione. Il server perimetrale salva quindi una copia della risposta in locale in modo da poter gestire la richiesta successiva senza infastidire il server di origine. Ciò riduce il carico sul server di origine, aiutandoti a mantenere piccola l’istanza che ospita la tua applicazione ed è in grado di ridurre la latenza per i client spostando le risorse comunemente richieste più vicino al richiedente. Questo è ottimo per la latenza e l’esperienza utente, ma in che modo influisce sui costi?

Questa guida di CloudFront ti guiderà attraverso quanto segue:

  • Prezzi di AWS CloudFront
  • Fattori che determinano il costo di Amazon CloudFront
  • Modi per ridurre i costi di CloudFront

Prezzi di AWS CloudFront

I prezzi di AWS CloudFront iniziano con un modello di prezzo molto semplice, ti vengono addebitati i GB trasferiti a Internet e per ogni richiesta HTTP. Ci sono anche molte funzionalità opzionali, come crittografia, registrazione, Origin Shield, invalidamento dei file e invocazioni Lambda del server perimetrale che possono anche comportare costi aggiuntivi di CloudFront .

AWS cloudfront scheme

Costo CloudFront e Costo trasferimento dati AWS

Il costo di AWS CloudFront viene fatturato per GB trasferito da qualsiasi server perimetrale CloudFront a Internet. Una volta che inizi a trasferire più di 40 TB di dati, ti vengono addebitati meno per GB e il costo continua a diminuire con il trasferimento di più dati fino a raggiungere 5 PB. Come la maggior parte dei servizi AWS, questi costi variano in base alla regione. La tariffa iniziale per la pubblicazione dei dati nelle regioni più economiche (Stati Uniti, Messico, Canada, Europa e Israele) è di $ 0,085 per GB e questo costo raddoppia a $ 0,170 quando si servono i dati nella regione più costosa (India). Ti vengono addebitate anche le richieste che inviano dati alla tua applicazione di origine, come le connessioni WebSocket, o i dati allegati alle richieste PUT da un client. Poiché CloudFront è intrinsecamente globale, la regione per la quale ti viene addebitato non è determinata da dove risiede l’applicazione, ma da dove hanno origine le richieste alla tua applicazione. Puoi gestire questi costi impostando una classe di prezzo sulla tua distribuzione CloudFront che esclude determinate regioni dalla tua rete di server perimetrali.

Puoi ottenere uno sconto sui prezzi Amazon CloudFront impegnandoti a un livello di utilizzo regolare (in genere almeno 10 TB trasferiti al mese per un periodo di impegno di un anno). A differenza di molti altri servizi, questi prezzi di “Istanza riservata” di CloudFront non sono pubblicati, ma se la tua organizzazione può ragionevolmente impegnarsi a trasferire quei dati per un lungo periodo di tempo, potrebbe ridurre i tuoi costi, quindi contatta AWS e chiedi. Puoi anche ottenere uno sconto del 30% iscrivendoti al CloudFront Security Savings Bundle . Devi impegnarti a spendere un importo specifico per i servizi CloudFront ogni mese per almeno un anno, ed è un ottimo affare se stai anche pensando di utilizzare Amazon Web Application Firewall (WAF) perché il 10% del valore dell’impegno viene generato come credito WAF.

Costi della richiesta di CloudFront

Un altro fattore dei prezzi di AWS CloudFront viene addebitato per 10.000 richieste HTTP e pagherai un sovrapprezzo di circa il 25% per gestire le richieste HTTPS. Questi costi di CloudFront variano anche in base alla regione in cui ha avuto origine la richiesta, ma la differenza di prezzo è meno drammatica rispetto al trasferimento dei dati, passando da un premio del 100% per il trasferimento dei dati alle regioni più costose a un premio del 10% per la gestione delle richieste da queste aree.

Altri costi di CloudFront

Origin Shield è un livello di memorizzazione nella cache aggiuntivo che opera (e il prezzo è basato sulla) zona di disponibilità del tuo server di origine. Tutte le richieste al server di origine passano attraverso questo singolo livello di memorizzazione nella cache, in modo che gli utenti che accedono a server periferici diversi in posizioni diverse possano ricevere lo stesso contenuto memorizzato nella cache e le applicazioni che gestiscono più CDN hanno accesso a un livello di memorizzazione nella cache unificante. Questo servizio viene addebitato alla stessa tariffa delle richieste HTTP, aggiungendosi al costo di qualsiasi richiesta che superi un server perimetrale. CloudFront ti consente anche di crittografare campi specifici quindi solo le applicazioni che hanno accesso alla chiave di decrittazione sono in grado di vedere i dati sensibili. Questo servizio costa $ 0,02 per ogni 10.000 richieste crittografate (oltre ai costi delle richieste HTTPS). Hai la possibilità di generare e monitorare i log in tempo reale al costo di $ 0,01 per ogni 1.000.000 di righe di log scritte. Infine, puoi fornire certificati SSL personalizzati e nomi di dominio per le tue distribuzioni CloudFront per $ 600 al mese.

 

Come ridurre i costi di AWS CloudFront

Ora, con la comprensione dei prezzi di Amazon CloudFront e dei numerosi fattori di costo che contribuiscono al suo utilizzo, esistono diversi metodi pratici e comuni per ridurre i costi di CloudFront. Di seguito illustreremo i modi per ridurre i costi S3 ed EC2 con CloudFront, il modo migliore per configurare CloudFront e come aumentare la percentuale di hit della cache per ridurre i costi.

Riduzione dei costi di AWS S3 ed EC2 con CloudFront

Uno degli usi più comuni di CloudFront è la distribuzione di contenuti Web e multimediali archiviati in un bucket S3 o in un’istanza EC2 a clienti di tutto il mondo. A bassi volumi di dati, il costo dell’utilizzo di S3 è in realtà più basso perché ogni mese ricevi i primi GB trasferiti gratuitamente, ma non appena inizi ad aumentare il tuo utilizzo, entra in gioco il costo per GB più basso per servire i dati da CloudFront. In una regione economica come l’Ohio orientale degli Stati Uniti, quel punto di flesso è di 18 GB.

Una volta che la quantità di dati trasferiti su Internet aumenta, il divario di prezzo per i costi di trasferimento dei dati inizia ad aumentare. Una volta che inizi a trasferire terabyte di dati, la distanza tra la pubblicazione di contenuti da un’origine come S3 e l’utilizzo di CloudFront per la distribuzione di contenuti aumenta notevolmente.

È importante rendersi conto che CloudFront ha uno stato speciale nell’universo AWS. Normalmente, ti vengono addebitati i dati trasferiti tra le zone di disponibilità. Tuttavia, i dati trasferiti dai servizi AWS ai server CloudFront non costano un centesimo. Se stai trasferendo una quantità molto piccola di dati su Internet, è più economico non utilizzare CloudFront, ma se stai trasferendo dati tra zone o hai a che fare con costi di trasferimento dati maggiori, CloudFront farà quasi sempre risparmiare denaro. Questo stato speciale rende inoltre conveniente associare sempre CloudFront all’hosting del server di origine sulla rete AWS. Se ospiti autonomamente il tuo server di origine o utilizzi un provider diverso, quei risparmi sul trasferimento dei dati svaniscono e devi pagare per trasferire i dati in CloudFront, il che significa che ogni volta che un elemento non è nella cache, paghi due volte,

Confrontare il costo della gestione delle richieste HTTP tra S3 e CloudFront è meno semplice. Se la tua applicazione fornisce esclusivamente risultati GET, la gestione delle richieste da un bucket S3 è notevolmente più economica. Negli Stati Uniti dell’Ohio orientale, pagherai $ 0,004 per 10.000 richieste effettuate direttamente rispetto a un bucket S3, ma pagherai almeno $ 0,0075 per soddisfare le richieste da CloudFront, il che rende quasi il 90% più costoso. Questo calcolo viene capovolto una volta che inizi a mescolare le richieste POST. Il prezzo non cambia in base al tipo di richiesta per CloudFront, ma aumenta di oltre il 100% per i bucket S3, pagherai $ 0,05 per servire 10.000 richieste POST, quindi CloudFront diventa l’offerta migliore, offrendo uno sconto dell’85% su questo tipo di richieste.

Per la maggior parte delle applicazioni, i costi di trasferimento dei dati e il risparmio sulle dimensioni dell’istanza metteranno in ombra in modo significativo il costo di elaborazione delle richieste, quindi questa differenza è raramente significativa, ma se gran parte dei costi per l’applicazione CloudFront è causata da molte richieste di file di piccole dimensioni e puoi garantire che tali richieste saranno principalmente GET e considera di saltare CloudFront. In merito alle richieste, dovresti anche valutare quanto sia necessario l’utilizzo di HTTPS per la tua applicazione. La gestione delle richieste HTTPS aggiunge circa il 25% ai costi delle richieste, quindi se non ricevi dati sensibili, l’utilizzo di un semplice HTTP può farti risparmiare un bel po’ di modifiche.

Configurazione di Amazon CloudFront per ridurre i costi

Uno dei modi migliori per ridurre le richieste a qualsiasi server Web è memorizzare nella cache il contenuto nel browser del client. Questa idea di base si applica due volte quando si utilizza CloudFront, poiché CloudFront aggiunge un secondo livello di memorizzazione nella cache, i file vengono anche memorizzati nella cache sui server perimetrali. Per impostazione predefinita, tutti i file serviti dal server perimetrale di CloudFront scadono dopo 24 ore, un numero troppo basso per molti tipi di contenuto. Puoi aumentare il valore della tua rete CloudFront memorizzando opportunamente nella cache gli oggetti, in particolare quelli che sei sicuro non cambieranno per un po’. Puoi impostare per quanto tempo sia il client che il server perimetrale memorizzano nella cache gli oggetti impostando l’ Cache-Controlintestazione HTTP sul server di origine. Puoi anche istruire i tuoi server perimetrali a implementare i propri criteri di memorizzazione nella cache impostando i valori Time To Live (TTL). quando crei o aggiorni la tua distribuzione CloudFront. Tieni presente che la memorizzazione nella cache del server perimetrale è importante da pianificare e implementare con attenzione perché se desideri invalidare i file prima che scadano, puoi invalidare 1.000 percorsi gratuitamente ogni mese, ma pagherai $ 0,005 per percorso invalidato dopo tale limite.

Aumento della percentuale di hit della cache di AWS CloudFront

Uno degli obiettivi principali di CloudFront CDN è evitare di inondare il server di origine consentendo ai server edge di rispondere in modo efficiente alle richieste dei client. Questa funzionalità è compromessa se la maggior parte dei client finisce per richiedere contenuto che non è memorizzato nella cache. Il rapporto tra le richieste che vengono gestite dal server perimetrale rispetto al numero di richieste che arrivano al server di origine è chiamato cache hit ratio. Puoi aumentare questo rapporto comprendendo come funziona la chiave della cache. Quando una risorsa viene richiesta da un client, CloudFront genera una chiave cache (per impostazione predefinita, questa utilizza il dominio della distribuzione e il percorso dell’oggetto richiesto, ma puoi modificare tali impostazioni quindi memorizza la chiave della cache e la utilizza per soddisfare future richieste di corrispondenza. Per aumentare la percentuale di hit, consolida le visualizzazioni dell’applicazione per risolvere in un’unica chiave della cache ed evita di aggiungere dati che potrebbero causare due richieste con gli stessi risultati per generare chiavi della cache diverse, come la creazione di due URL che puntano alla stessa risorsa.

Compressione per ridurre i costi di Amazon CloudFront

CloudFront può essere configurato per comprimere automaticamente alcuni tipi di file. La compressione di CloudFront comporterà un tempo di caricamento più rapido per i client e ridurrà i costi poiché i server periferici trasferiranno quantità minori di dati ai client. Oltre a utilizzare la compressione predefinita, comprimi le risorse quando vengono generate dal server di origine.

Piano gratuito di AWS CloudFront

Il livello gratuito di CloudFront è uno dei più generosi della famiglia AWS, ricevi 50 GB di trasferimento dati in uscita e due milioni di richieste ogni mese per un anno. Se non stai già utilizzando CloudFront, il piano gratuito può aiutarti a decidere se può aiutarti a ridimensionare l’istanza che serve la tua applicazione o a migliorare notevolmente l’esperienza del cliente diminuendo il tempo di caricamento.

 

Conclusione

Amazon CloudFront CDN semplifica la gestione delle risorse da una CDN distribuita a livello globale. Ciò può ridurre la latenza, gestire i picchi di domanda e diminuire il carico sui server delle applicazioni. Sfruttare buone politiche di memorizzazione nella cache, compressione e comprensione del funzionamento della chiave della cache consente a CloudFront di eseguire queste attività in modo efficace, il che ti aiuta a ottenere il massimo dal servizio. Se hai bisogno di aiuto per monitorare e ridurre i costi dei tuoi servizi AWS , ricorda che puoi sempre contattare Managed Server Srl per chiedere aiuto.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Hetzner Online GmbH detiene i diritti su Hetzner®; OVHcloud è un marchio registrato di OVH Groupe SAS; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Facebook, Inc. detiene i diritti su Facebook®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

Torna in alto