Ottieni il massimo dai servizi Web gratuiti di Amazon

Il modo migliore per pensare al livello gratuito di Amazon Web Services è come un trampolino di lancio. Ti permette di bagnarti i piedi con i meccanismi di base di AWS ed EC2; comprendere la gestione da parte di Amazon di istanze di macchine virtuali, storage, dati e reti; e per creare un elemento che alla fine possa essere ospitato su un'istanza AWS completa ea pagamento. Ti consente inoltre di imparare a gestire e limitare l'utilizzo di AWS. Se non stai attento, potresti finire per pagare per il tuo utilizzo "gratuito" di AWS, dopotutto.

In questo articolo, esamineremo cosa offre il livello gratuito e in quali termini, quindi daremo uno sguardo più da vicino a ciò che è possibile o pratico all'interno di questi vincoli. A lungo termine, qualsiasi utente serio di AWS vorrà trarre il massimo vantaggio da ciò che il cloud Amazon ha da offrire, ma perché nel frattempo non sfruttare al massimo le risorse gratuite? Con il livello gratuito, puoi trovare le tue gambe con AWS, avviare alcuni progetti e forse anche creare un'applicazione funzionale o tre.

Come nota a margine, controlla una delle dichiarazioni più inquietanti nella documentazione di Amazon sul livello gratuito: "Potremmo smettere di accettare nuove registrazioni per l'Offerta in qualsiasi momento". Questo potrebbe essere un CYA standard da parte di Amazon, ma se stai pensando di creare un account di livello gratuito, potresti anche farlo ora ed entrare in azione finché è disponibile.

Cosa ottieni per i tuoi $ 0 al mese?

Il piano di utilizzo gratuito di AWS fornisce un accesso sufficiente a molti componenti AWS per essere subito operativi. Ma anche se non ti dà tutte le risorse che potresti desiderare o di cui hai bisogno per assemblare il server dei tuoi sogni, puoi sicuramente creare qualcosa di utile. Ma non aspettarti che possa scalare bene per un uso pubblico illimitato. Ecco un riepilogo di alcuni dei componenti AWS più utili e di ciò che ottieni con loro nel livello gratuito.

Calcolare.  Puoi eseguire un'istanza t2.micro di una macchina Linux o Windows Server su EC2, configurata con 1 GB di RAM, per 750 ore al mese. Si tratta di un intero mese di utilizzo gratuito e continuo della CPU.

Amazon mantiene un catalogo di Amazon Machine Images (AMI), che ti consente di eseguire una serie di diversi sistemi Linux e Windows, tra cui Ubuntu Server 12.04 e 14.04, Microsoft Windows Server 2008 e 2012, microdistribuzioni orientate ai contenitori come RancherOS e Amazon's possedere un'AMI Amazon Linux.

Non tutte le AMI possono essere eseguite nel livello gratuito (anche quando si utilizza una microistanza), ma quelle che possono essere contrassegnate chiaramente. AWS Marketplace offre anche tonnellate di appliance e server di applicazioni di terze parti disponibili come istanze AMI, ma ancora una volta, non tutti possono essere eseguiti nel livello gratuito.

Conservazione.  Un'istanza EC2 non è molto utile senza spazio di archiviazione. Nel livello gratuito sono consentiti 30 GB di Elastic Block Storage, 5 GB di storage Amazon S3 e 50 GB di trasferimento dati in uscita da Amazon CloudFront. Tuttavia, tieni presente che Amazon limita l'utilizzo di I / O per ogni servizio, addebitandoti quando li superi. S3 consente 20.000 richieste GET e 2.000 PUT. EBS consente 2 milioni di I / O. CloudFront consente 2 milioni di richieste.

Le spese di I / O possono diventare uno dei maggiori costi invisibili. Con EBS, ad esempio, Amazon ha tariffe variabili per gigabyte e talvolta per milione di richieste di I / O, a seconda del tipo di EBS che stai utilizzando. (Di seguito vengono forniti suggerimenti sulla gestione dell'utilizzo degli I / O.)

Banche dati. Tra i servizi di database relazionali (RDS) di Amazon, puoi scegliere tra MySQL / MariaDB, PostgreSQL, Oracle BYOL o Microsoft SQL Server, ciascuno con 750 ore di utilizzo al mese, 20 GB di spazio di archiviazione, 10 milioni di I / O e 20 GB di archiviazione di backup.

Per coloro che preferiscono NoSQL, Amazon offre DynamoDB, con 25 GB di spazio di archiviazione e 25 unità di capacità di lettura e scrittura. Sono disponibili anche i prodotti ElastiCache e Redshift di Amazon, ognuno dei quali offre 750 ore di utilizzo nel livello gratuito, anche se su tipi di macchina specifici.

Come per l'archiviazione, la stima dell'I / O per i database può essere complicata, ma è disponibile più che sufficiente per sperimentare con un sito a basso traffico basato su database e non incorrere in un eccessivo eccesso.

Analytics. Amazon Elasticsearch può essere eseguito per 750 ore nel livello gratuito, con 10 GB di spazio di archiviazione EBS opzionale. AWS Data Pipeline fornisce tre condizioni preliminari a bassa frequenza e cinque attività a bassa frequenza gratuite ogni mese nel livello gratuito.

Servizi mobili.  Sono disponibili numerosi omaggi, ma il più sorprendente è Amazon Simple Notification Service (SNS), che consente 1 milione di consegne push, 100.000 consegne HTTP / S e 1.000 e-mail nel livello gratuito. Soprattutto, questi omaggi non scadono alla fine del periodo gratuito. Per Amazon Cognito, ottieni un numero illimitato di autenticazioni utente e generazioni di ID e per Amazon Mobile Analytics, 100 milioni di eventi gratuiti al mese. Meno generosa è AWS Device Farm; ottieni una prova gratuita una tantum di 250 minuti sul dispositivo.

Internet delle cose.  Il livello gratuito di Amazon per i suoi servizi IoT fornisce 250.000 messaggi, pubblicati o consegnati, al mese per 12 mesi.

Strumenti di sviluppo. Chi utilizza GitHub per progetti open source è ormai abituato ad avere pochi o nessun limite allo storage o all'utilizzo. Gli strumenti di codice AWS nel livello gratuito hanno dei limiti, ma sono relativamente elevati: 50 GB al mese di storage e 10.000 richieste Git al mese. Purtroppo, AWS fornisce solo un CodePipeline attivo al mese e solo cinque utenti CodeCommit attivi al mese.

Strumenti di gestione.  Amazon CloudWatch fornisce un generoso milione di richieste API, 5 GB di importazione e archiviazione dei registri e 10 parametri personalizzati e 10 allarmi per la durata del livello gratuito, oltre a tre dashboard con un massimo di 50 parametri ciascuno al mese. AWS Trusted Advisor offre solo quattro controlli di best practice.

Gestione delle chiavi.  È possibile effettuare fino a 20.000 richieste gratuite al mese con il servizio di gestione delle chiavi di crittografia di Amazon.

Servizi applicativi. Un numero di omaggi è disponibile sotto questo ombrello generale:

  • API Gateway:  1 milione di chiamate API al mese. Utile come front-end per servizi di creazione di applicazioni come AWS Lambda.
  • AppStream: le  applicazioni Windows possono essere distribuite su qualsiasi dispositivo, per un massimo di 20 ore gratuite al mese.
  • Transcodificatore elastico:  20 minuti di transcodifica audio e video SD, nonché 10 minuti di transcodifica HD, sono inclusi al mese.
  • Servizio  di posta elettronica semplice: i servizi di posta elettronica di Amazon forniscono 62.000 messaggi in uscita e 1.000 in entrata al mese.
  • Servizio di coda semplice:  il sistema di accodamento scalabile fornito da Amazon offre 1 milione di richieste durante il livello gratuito.
  • Servizio flusso di lavoro semplice: il servizio di  coordinamento delle attività e gestione dello stato nel cloud di Amazon fornisce 10.000 attività, 30.000 giorni di flusso di lavoro e 1.000 esecuzioni avviate.

Trasferimento dati. Questa parte è facile. Ottieni 15 GB di larghezza di banda in uscita su tutto AWS, punto. In prospettiva, il mio sito personale con 5.000 visitatori al mese consuma circa 1,2 GB di larghezza di banda in quel lasso di tempo. Per un sito Web relativamente semplice o non pubblico, 15 GB dovrebbero essere più che sufficienti.

Restrizioni oltre i limiti

Ora la cattiva notizia: Amazon ha aggiunto una serie di stringhe al livello gratuito. A parte i limiti di utilizzo descritti sopra, dovresti essere consapevole di queste altre restrizioni.

I servizi principali sono gratuiti solo per 12 mesi.  La maggior parte delle opzioni chiave di AWS, inclusi EC2, S3 e RDS, sono limitate a 12 mesi di utilizzo gratuito dopo la registrazione iniziale. Dopodiché, paga in base al consumo alle solite tariffe. Tra i lati positivi, alcuni degli altri servizi - DynamoDB, Simple Workflow, Simple Queue Service, Simple Notification Service, Amazon Elastic Transcoder e CloudWatch, tra i tanti - sono ancora idonei per il livello gratuito dopo il primo anno.

Aspettatevi che la vostra CPU (e larghezza di banda) venga limitata. Le microistanze sono progettate per fornire la massima CPU in burst intermittenti. Non forniscono un'istanza completa e continua di ciò che Amazon chiama "unità di elaborazione": per questo è necessario passare all'istanza M1 Small. Ciò rende una microistanza "adatta per applicazioni e siti Web a velocità ridotta che richiedono cicli di elaborazione periodici aggiuntivi", secondo la documentazione di Amazon.

Se esegui applicazioni che occasionalmente aumentano la CPU al 100 percento, dovrebbero andare bene. Le app che fissano la CPU al 100% per lunghi periodi di tempo verranno eseguite brevemente al 100%, quindi vengono limitate. Nota che le statistiche interne per una macchina con throttling riporteranno ancora la CPU come in esecuzione al 100 percento, quindi non lasciarti ingannare.

Le istanze di Windows Server nel livello gratuito potrebbero essere una soluzione perfetta.  A seconda di ciò che si intende fare, la quantità di memoria assegnata a un'istanza di Windows Server potrebbe non essere sufficiente per eseguire un progetto ambizioso. Se non stai facendo altro che servire pagine Web statiche, dovrebbe andare bene. Ai tempi in cui le istanze sul livello gratuito fornivano solo 613 MB di RAM, ero in grado di installare istanze MySQL / Apache su una macchina del genere (tramite lo stack Web AMPPS) ed eseguirlo con circa il 20% di RAM libera. Con 1 GB di RAM, probabilmente farai un po 'meglio, ma non sarai comunque in grado di eseguire nulla di troppo laborioso.

Tra i lati positivi, se stai utilizzando un database tramite un'istanza di database ospitata da AWS (RDS), il database viene avviato completamente separatamente dalla macchina in esecuzione. Con RDS, non devi preoccuparti di eseguire un server di database sull'istanza EC2 che stai utilizzando (e quindi di assorbire più memoria con esso).

Non ottieni un indirizzo IP coerente per impostazione predefinita.  A causa del modo in cui AWS fornisce gli indirizzi, le istanze non vengono fornite automaticamente con un indirizzo IP statico o un nome DNS privato coerente. Pertanto, è difficile ospitare un sito gratuito per l'utilizzo da parte del mondo esterno senza trucchi DNS, poiché il ripristino dell'istanza EC2 causerà il ripristino del suo indirizzo IP.

Fortunatamente, questa limitazione è facile da superare. Se desideri che una macchina sia costantemente raggiungibile dal grande pubblico, puoi utilizzare gli indirizzi IP elastici EC2 per fornire un IP statico per un'istanza gratuita. Tieni presente che se prenoti un indirizzo e non lo associ a un'istanza, ti verrà addebitata una piccola commissione.

Best practice con il livello gratuito

Chiaramente, il livello gratuito ha molti trucchi. A causa dei limiti delle risorse, è troppo facile addebitare costi se non stai attento. Mentre ti sforzi di ottenere il massimo dalla tua microistanza, tieni a mente queste linee guida.

Tieni d'occhio la tua fatturazione.  Dovrebbe essere ovvio, ma controlla regolarmente la pagina delle attività del tuo account AWS per vedere se stai facendo pagare. Amazon non ti avvisa se hai superato il livello gratuito; invece, ti vengono fatturati silenziosamente qualsiasi utilizzo non coperto. Se desideri monitorare l'utilizzo stimato o creare allarmi per avvisarti se potresti superare il tuo budget, devi esaminare il sistema di avvisi di fatturazione di Amazon. Tuttavia, il numero di allarmi e notifiche che puoi generare è limitato dal livello gratuito.

Tieni d'occhio il tuo utilizzo I / O. Se stai utilizzando il server per te stesso, è improbabile che tu debba pagare una grande bolletta per l'utilizzo di I / O. Ma se rendi pubblico il tuo server, ciò potrebbe cambiare tutto, drasticamente.

Capire l'utilizzo dell'I / O per le tue istanze non è difficile, ma richiede diligenza e controllo. La console di gestione EC2 fornisce strumenti di monitoraggio, sebbene quelli nel livello gratuito non siano così granulari come le controparti a pagamento. Non puoi eseguire il polling di un'istanza gratuita a intervalli di più di cinque minuti, mentre ottieni un polling di un minuto con istanze a pagamento.

È inoltre possibile eseguire il polling dell'utilizzo dell'I / O dall'interno dell'istanza, utilizzando gli strumenti del sistema operativo. Ecco un modo per farlo su Linux. In Windows è possibile utilizzare il contatore delle prestazioni Trasferimenti disco / Sec.

Assegna un indirizzo elastico per risparmiarti il ​​mal di testa. Un indirizzo elastico non aggiunge un importo significativo alla bolletta e consente connessioni più semplici al sistema. Questo vale il doppio per le istanze di Windows perché lo strumento di connessione Desktop remoto memorizza insieme l'indirizzo di connessione e la password. Ogni volta che il tuo sito viene fornito con un nuovo indirizzo IP, devi creare una connessione desktop remoto completamente nuova per raggiungerlo.

Eseguire il backup degli elementi nel cloud. Non sai mai quando il server con cui lavorerai potrebbe bombardare o dovrà essere reinizializzato. È meglio avere dati pertinenti già nel cloud di Amazon invece di dover essere noiosamente ricaricati. Uno snapshot EBS è un modo conveniente per farlo, anche se ottieni solo 1 GB di spazio di archiviazione per snapshot nel livello gratuito. In alternativa, puoi allegare un volume EBS ed eseguire il backup dei file direttamente ad esso, nello stesso modo in cui eseguiresti i backup da un sistema convenzionale a un'unità esterna. Tieni presente che ottieni 30 GB di spazio di archiviazione EBS per uso generale nel livello gratuito, che è molto di più di quello che ottieni per gli snapshot, ma il processo di backup e ripristino è interamente manuale.

Da dove viene?

Una volta che avrai acquisito familiarità con AWS nel livello gratuito, probabilmente non vedrai l'ora di scalare la catena alimentare amazzonica. I passi successivi dalle microistanze sono le istanze T2 Small, T2 Medium e T2 Large, che forniscono da 2 GB a 8 GB di memoria e una o due unità "CPU virtuali" di Amazon. Un'istanza T2 Small parte da circa $ 18,72 al mese.

Se sei un fannullone che non ha bisogno di un server in esecuzione 24 ore su 24, 7 giorni su 7, considera un'istanza spot, in cui fai un'offerta per la capacità di elaborazione specificando un prezzo massimo che sei disposto a pagare all'ora. Se il prezzo orario corrente per le istanze spot supera tale importo (le tariffe variano in base alla domanda e all'offerta), l'istanza verrà interrotta.

Infine, se vuoi eseguire qualcosa di sporadico, come un server di backup, controlla le istanze riservate. Un'istanza di riserva ti consente di pagare una tariffa una tantum per finestre fisse - da uno a tre anni - e ottenere una tariffa di utilizzo oraria notevolmente scontata. Al momento della stesura di questo documento, è possibile avere una singola istanza riservata T2 Small su Linux per $ 151 all'anno, più una tariffa oraria di 2,6 centesimi, circa $ 170 per l'intero anno ipotizzando un utilizzo del 100%.

T2 Small, istanze spot e istanze riservate: sono tutti abbastanza convenienti. E quando ti diplomerai al livello gratuito, avrai accumulato molta pratica utilizzando gli strumenti di Amazon e mantenendo i costi in linea.