PRD-005 - Amazon Simple Storage Service (S3)
-
Upload
cloud-aws -
Category
Technology
-
view
82 -
download
6
Transcript of PRD-005 - Amazon Simple Storage Service (S3)
Community - Cloud AWS su Google+
Cloud AWS
Amazon Web Services
cloud-aws.com
Servizio S3 Simple Storage Service
Hangout 04 del 10.02.2014
● Davide Riboldi● Massimo Della Rovere
In questo hangout vedremo il servizio di Amazon S3 per la gestione dello storage online e operazioni di backup.
CLOUD AWS
#cloudaws
Amazon S3 - Descrizione generale
Cloud AWS
● Amazon Simple Storage Service (S3) è un servizio storage online che ci permette di memorizzazione grandi quantità di dati all’interno del cloud.
● Amazon S3 può essere utilizzato e gestito in due modi: via web tramite la AWS Management Console Interface oppure attraverso le Amazon S3 API.
● Uno dei grossi vantaggi nell’utilizzare la AWSManagement console è quello di poter effettuare molte operazioni senza scrivere una riga di codice.
Amazon S3 - Vantaggi del servizio
Cloud AWS
Storage illimitato nessun limite alla quantità di dati.
Interfaccia Standard utilizzo di standard SOAP e REST.
Scalabilitàscala in termini di spazio disco, numero di richieste e utenti.
Affidabilità99,999999999% di durevolezza del dato e 99,99% di disponibilità in linea.
Sicurezza gestione meccanismo di autenticazione.
Amazon S3 - Termini utilizzati dal servizio
Cloud AWS
Buckets Objects
Keys
Folders
RegionsAccess Control
Data encryption
Data consistency
model
Amazon S3 - Termine “Regions”
Cloud AWS
● E’ possibile scegliere una regione dove memorizzare il bucket che creeremo. La scelta può essere effettuata per ottimizzare la latenza, ridurre i costi o per soddisfare i requisiti normativi.
● Ad esempio nella Regione Europea i dati personali sono tutelati dalle normative “EC Directive 95/46/EC: Personal data protection”, “Safe Harbour EU Compliant”, ect
● Gli oggetti memorizzati all'interno di un bucket non vengono per nessun motivo duplicati da parte di Amazon in altre regioni, solo il responsabile può eseguire questa operazione.
Amazon S3 - Termine “Bucket”
Cloud AWS
● Un bucket è un contenitore di oggetti memorizzato all’interno di Amazon S3 e ogni oggetto memorizzato all'interno di Amazon S3 è contenuto all'interno di un bucket.
● Il nome del bucket deve essere univoco su scala mondiale e non può essere modificato. Questo nome compone la stringa URL che permette di raggiungere via web gli oggetti.
● Ad esempio un oggetto chiamato “audio.mp3” memorizzato in un bucket chiamato “contenitore” sarà raggiungibile attraverso: http://contenitore.s3.amazonaws.com/audio.mp3.
AmazonS3
Amazon S3 - Termine “Bucket”
Cloud AWS
DEMOONLINE
Operazionisui
Buckets
Passiamoalla
demo online
Amazon S3 - Termine “Object”
Cloud AWS
● Gli oggetti sono entità di base memorizzate in S3. L'oggetto è composto da dati e metadati. I dati sono binari mentre i metadati sono nomi e valori che descrivono l'oggetto.
● Un esempio di metadati può essere la data dell'ultima modifica dell'oggetto oppure un metadato HTTP standard come il Content-Type da includere in un richiesta HTTP.
● Un oggetto viene identificato in maniera univoca all'interno del Bucket con una Key (name) e un version ID. In quanto ogni oggetto protebbe avere diverse versioni memorizzate.
Amazon S3 - Termine “Folder”
Cloud AWS
● Le cartelle servono per raggruppare gli oggetti all'interno di un bucket. Quando viene creata una cartella viene creato un oggetto a zero-byte con una slash (/) alla fine del nome.
● Amazon S3 interpreta la slash come un delimitatore durante le operazioni di list. Se venisse creata una nuova cartella chiamata “logs”, S3 andrebbe a creare un oggetto “logs/”.
● Nel momento stesso in cui andassimo a caricare un oggetto con il nome “history.txt” all'interno della cartella “logs”, il nome completo di questo oggetto diverrà logs/history.txt.
Amazon S3 - Termine “Key”
Cloud AWS
● Ogni oggetto memorizzato all'interno dei bucket possiede una Key. Una key può essere considerata come il nome di un file e identifica l’oggetto all'interno dei Bucket.
● All’interno di un bucket la combinazione tra la key e il version ID (solo se si attiva il versioning nel bucket) identificano in maniera univoca ogni oggetto.
● Su http://doc01.s3.amazonaws.com/documenti/varie.txt vediamo che “doc01” è il nome del bucket mentre la stringa “documenti/varie.txt” è la key dell’oggetto.
Amazon S3 - Termine “Access Control”
Cloud AWS
● Amazon S3 utilizza due metodi per poter controllare gli accessi ai bucket e agli oggetti: tramite Access Control List (ACL) e tramite le policy di bucket.
● Le ACL definiscono i permessi associati ad ogni singolo bucket o oggetto. Possiamo definire le classiche funzioni di READ, WRITE, READ_ACP e WRITE_ACP.
● Le policy sono un insieme di istruzioni che definiscono le autorizzazioni di un utente per accedere alle risorse S3, come ad esempio CreateBucker, DeleteBucker, ect.
Amazon S3 - Termine “Access Control”
Cloud AWS
● Per quanto riguarda le ACL possono essere inserite tramite le REST API o tramite la management console usando un’interfaccia sicuramente più familiare.
● Le policy invece vengono inserite tramite un file JSON, il quale può essere creato utilizzando un tools messo a disposizione sul sito ufficiale di amazon aws.
● http://awspolicygen.s3.amazonaws.com/policygen.html
Amazon S3 - Termine “Data Consistency Model”
Cloud AWS
● Amazon S3 realizza l’alta affidabilità dei dati replicando gli oggetti su più server all’interno del data center, e come già detto solo nella zona geografica interessata.
● Solo alla fine di questo processo possiamo considerare i dati memorizzati in modo sicuro e considerare il dato integro e utilizzabile dalle nostre procedure applicative.
● Amazon S3 attualmente non supporta l’object locking, quindi se viene caricato simultaneamente un oggetto nella stessa key, vince l’oggetto con il timestamp più recente.
Amazon S3 - Termine “Data Consistency Model”
Cloud AWS
● Fino a che non viene terminata la replica dell’oggetto si possono riscontrare dei problemi di accesso al dato, alcuni di questi problemi possono essere i seguenti:
○ quando tentiamo di accedere ad un oggetto appena creato Amazon S3 ci risponde che la key non esiste.
○ carichiamo un oggetto all’interno del bucket e questo non compare, perchè la replica ancora non è terminata.
○ quando sostituiamo un oggetto esistente, potrebbe succedere che visualizziamo ancora i dati vecchi.
Amazon S3 - Buckets - Operazioni generali
Cloud AWS
AmazonS3
1 Creazione bucket
2 Cancellazione bucket
3 Browsing list object
4 Managing bucket logging
5 Gestione permessi bucket
6 RRS lost object notification
7 Ciclo di vita (lifecicle)
8 Analisi costi tramite dei tag
Amazon S3 - Buckets - Creazione
Cloud AWS
● Prima di poter caricare dei dati in amazon S3 bisogna creare un bucket. Una delle prime operazioni che bisogna effettuare è scegliere la regione geografica.
● Per la creazione di un bucket non viene addebitato alcun costo, i costi sono calcolati solo sulla quantità di dati memorizzati e sul trasferimento di essi.
● Il nome di un bucket deve essere unico, e non può essere uguale ad altri bucket presenti in Amazon S3. Il nome di un bucket non può essere modificato.
AmazonS3
Amazon S3 - Buckets - Creazione
Cloud AWS
● Il nome può contenere lettere maiuscole, minuscole e numeri. ● i simboli utilizzabili sono il punto ‘.’ underscore ‘_’ e il meno ‘-’● Il nome deve iniziare con lettere o numeri.● deve essere compreso tra i 3 e i 255 caratteri.● non può avere il formato di un indirizzo ip.
Se si vuole rendere il nome conforme alle specifiche DNS:
● non può contenere underscore ‘_’● il nome deve essere compreso tra i 3 e i 63 caratteri.● non può terminare con il meno ‘-’● non può avere due punti ‘.’ adiacenti.● non può contenere il punto vicino al meno ‘-.’ ‘.-’
Amazon S3 - Buckets - Cancellazione
Cloud AWS
● Un bucket per essere cancellato deve essere vuoto, se ci sono degli oggetti all’interno del bucket bisogna per prima cancellare gli oggetti e poi eliminare il bucket.
● Quando un bucket viene cancellato, prima che il nome possa essere riutilizzato bisogna attendere un certo intervallo di tempo che può arrivare fino ad un’ora.
● Se il bucket viene ricreato nella stessa regione e dallo stesso proprietario del bucket non è necessario aspettare questo intervallo di tempo.
Amazon S3 - Buckets - Logging
Cloud AWS
● Questa opzione permette di tenere traccia degli accessi eseguiti sul bucket tramite dei file di log. Questi log potrebbero essere uniti a quelli dei nostri server.
● I log contengono tutti i dettagli che riguardano le richieste effettuate come: il tipo di richiesta, le risorse utilizzate e la data e l’ora della richiesta.
● L’attivazione del servizio non ha costi aggiuntivi, ma i file che vengono memorizzati concorrono alla fatturazione dello spazio di archiviazione utilizzato.
Amazon S3 - Buckets - RRS Notification
Cloud AWS
● Reduced Redundancy Storage (RRS) è un sistema di memorizzazione più economico per la memorizzazione di oggetti con informazioni non critiche.
● È possibile abilitare degli eventi di notifica tramite il servizio di amazon SNS nel momento in cui amazon S3 rileva che un oggetto RRS viene perso.
● Possiamo utilizzare questa tecnica ad esempio per la creazione di miniature da immagini più grandi, infatti se dovessimo perdere il dato lo possiamo sempre ricreare.
Amazon S3 - Buckets - Ciclo di vita
Cloud AWS
● Sul bucket possiamo definire un parametro chiamato lifecycle per controllare il ciclo di vita degli oggetti e può essere impostato direttamente da console.
● Durante l’impostazione del parametro di lifecycle è possibile specificare se l’oggetto deve essere cancellato o memorizzato nel servizio di amazon glacier.
● Questa funzione è molto utile per i file di log che possono essere cancellati o archiviati automaticamente utilizzando un prefisso iniziale del nome oggetto.
Amazon S3 - Buckets - Costi tramite Tag
Cloud AWS
● Su ogni bucket possiamo specificare dei tag particolari con cui possiamo analizzare i costi generali del servizio S3 e poterli dividere per centro di costo di competenza.
● Ad esempio se gestiamo con il nostro account anche servizi per terzi potremmo ottenere i costi del servizio divisi per ogni cliente o per ogni applicazione.
● Per ulteriori informazioni e approfondimenti su questa tecnica vi consiglio la lettura di questo articolo:http://aws.typepad.com/aws/2012/08/aws-cost-allocation.html
AmazonS3
Amazon S3 - Buckets - Demo online
Cloud AWS
DEMOONLINE
Operazionisu
Buckets
Passiamoalla
demo online
Amazon S3 - Buckets - Website Hosting
Cloud AWS
● Un bucket S3 può essere utilizzato anche come contenitore di file HTML statici che verranno serviti tramite HTTP come un qualsiasi server web.
● Inoltre è possibile creare una mappatura DNS in maniera tale da mascherare il bucket S3 con un proprio dominio e simulare un server completo.
● Questa funzione è molto utile anche come siti di backup da mandare online durante le operazioni di manutenzione straordinaria del sito web.
Amazon S3 - Objects - Operazioni generali
Cloud AWS
1 Uploading 7 Operazione di copia
2 Gestione proprietà 8 Operazione di cancellazione
3 Gestione permessi 9 Operazione di rename
4 Gestione metadata 10 Operazione di ripristino
5 Apertura oggetto 11 Operazione di versioning
6 Gestione download 12 Operazione ciclo di vita
Amazon S3 - Objects - Caratteristiche
Cloud AWS
● Key - Il nome che viene assegnato ad un oggetto. ● Version ID - è una stringa aggiunta all’oggetto quando
viene caricato in un bucket. Il Version ID permette di mantenere più versioni di un singolo oggetto.
● Value - Il contenuto che viene archiviato. Un object value può essere una qualsiasi sequenza di bytes. La dimensione dell’oggetto può arrivare fino a 5TB.
● Metadata - una serie di associazioni nome-valore con il quale è possibile memorizzare informazioni aggiuntive. Access Control Information - è possibile controllare gli accessi agli oggetti memorizzati in Amazon S3. Il controllo degli accessi avviene tramite le ACL o IAM.
Amazon S3 - Objects - Data Encryption
Cloud AWS
● Amazon S3 fornisce maggiore sicurezza agli oggetti memorizzati nei bucket dando la possibilità di attivare l'opzione di cifratura (Encryption).
● La crittografia avviene prima che questi vengano salvati sui dischi dei data center e li decifra quando l'oggetto viene scaricato. Può essere un'alternativa alla cifratura client che possiamo gestire prima del caricamento.
● Gli oggetti vengono cifrati con uno degli algoritmi a blocchi più robusti attualmente presenti sul mercato, 256-bit Advanced Encryption Standard (AES-256)
Amazon S3 - Objects - Versioning
Cloud AWS
● Il Versioning mantiene più versioni di un oggetto nello stesso bucket. È possibile avere due oggetti con lo stesso nome ma con differente version ID.
● È possibile utilizzare il versioning per prevenire la cancellazione o la sovrascrittura accidentale degli oggetti e prevenire errori fatti dal software.
● Di base il versioning in un bucket è disabilitato, una volta attivato non è più possibile disattivarlo, ma si può solo metterlo in uno stato di sospensione.
AmazonS3
Amazon S3 - Objects - Demo online
Cloud AWS
DEMOONLINE
ObjectsVersioning
Passiamoalla
demo online
Amazon S3 - Alcune avvertenze
Cloud AWS
● Se utilizzate il servizio di Amazon S3 in prova gratuita per un’anno intero leggete bene i limiti di utilizzo che trovate al seguente indirizzo internet:
http://aws.amazon.com/free/
● Se invece utilizzate il servizio con un’account amazon normale e il classico metodo di pagamento pay-to-use leggete bene la pagina sui costi del servizio.
http://aws.amazon.com/s3/pricing/
Amazon S3 - Ringraziamenti
Cloud AWS
Cloud Computing
Amazon Web Service 1
AmazonSNS
AmazonMFA
AmazonCloudFront
AmazonFree Trial
AmazonS3
AmazonGlacier
Amazon Web Service 2
Video consigliati