Amazon S3 cos’è e come utilizzarlo. Nozioni base

Amazon S3 cos’è e come utilizzarlo. Nozioni base

Amazon s3 è il servizio di Amazon Web Services che ci permette di memorizzare grandi quantità di dati. Il servizio può essere gestito in 2 modi:

  1. Web tramite AWS Management Console ideale per chi non vuole utilizzare righe di codice per queste operazioni
  2. Amazon s3 API

VANTAGGI 

  • Storage illimitato: nessun limite alla quantità di dati archiviabili
  • Interfaccia standard: SOAP e REST
  • Scalabilità: spazio disco, numero di richieste e utenti. Non si deve pensare alla necessità di spazio futuro.
  • Affidabilità: 99,999999999% durevolezza del dato e 99,99% disponibilità di linea
  • Sicurezza: gestione meccanismo di autenticazione

Amazon S3 – il Servizio

Bucket:

un contenitore di oggetti memorizzato all’interno di Amazon S3 nel quale viene memorizzato ogni oggetto. Il nome del bucket è univoco a livello di mondiale per ogni region, questo perchè deve poter essere raggiungo via web con una url univoca. Esempio: bucket con seduteconsiliari e oggetto chiamato “seduta12-3.mp4” sarà ricercabile alla url specifica (è possibile mappare la url tramite DNS per mostrare una URL più familiare agli utenti): http://seduteconsiliari.s3.amazonaws.com/seduta12-3.mp4Si possono creare numero illimitato di bucket. Nella scelta del nome del bucket è consigliabile utilizzare vicino al nome del bucket stesso il nome di dominio in modo da essere quasi sicuri che non sia già preso.
Il bucket non ha costo, con AWS si paga il traffico e lo spazio occupato dagli oggetti.

 

Object:

composto da dati binari e metadati nomi e valori che descrivono l’oggetto (es. data, content type). identificato in maniera univoca con una chiave in teoria è il nome o dal version ID (perché ogni oggetto potrebbe avere diverse versioni memorizzate). Non superiore per ogni object 5 TB. Per trasferimenti di oggetti di dimensione superiore a 5TB o mole di dati è possibile utilizzare il servizio Snowball per esempio su un primo caricamento di backup.

 

Folders:

raggruppano gli oggetti nel bucket. Non esiste una cartella reale ma viene indicata creando un oggetto con lo slash (/). In questo modo S3 identificherà tutti gli oggetti sotto lo slash come raggruppati in una cartella virtuale. Esempio: creiamo un oggetto “seduteconsiliari2017/”. Volendo caricare il nostro oggetto “seduta12-3.mp4” sotto quella “folder” avremo un nuovo oggetto con il nome univoco “seduteconsiliari2017/seduta12-3.mp4” simulando la gestione di cartelle.
N:B: Le folder possono essere create solo dalla Console Management di AWS e non dalle API.

 

Data encryption sull’oggetto in S3 (cifratura):

su AWS, a differenza di altri sistemi Cloud dove per criptare i file è necessario un Client, è possibile utilizzare la criptografia lato server (inviamo l’oggetto e poi AWS lo cripta prima di scriverlo sui propri dischi). Automaticamente viene fatta la stessa cosa in fase di download a AES-256 bit.

 

Keys:

ogni oggetto possiede una key (nome identificativo). All’interno del bucket se è attivata la versioning degli oggetti avremo la combinazione key + version come nome univoco dell’oggetto all’interno del bucket.

 

Regions:

regioni geografiche (Suddivise in località indipendenti tra loro) e zone di disponibilità (datacenter indipendenti tra loro) comunicano solo per lo scambio di dati. E’ possibile scegliere qualsiasi Region dove memorizzare il bucket; la scelta di una region specifica deriva dall’esigenza di tipo normativo e ottimizzazione della latenza.

 

Access Control:

amazon S3 utilizza due differenti metodi di controllo all’accesso al bucket. ACL o Policy Bucket:

  • ACL (Access Control List): permessi associabili ad ogni singlo bucket e oggett definendo funzioni tipo Read, Write, read_ACP etc. Le ACL possono essere inserite tramite REST e API o la Management Console.
  • Policy: insieme di istruzioni che definiscono le autorizzazioni e funzioni per l’accesso al bucket S3 come ad esempio CreateBucket, DeleteBucket etc. Per esempio definire per ogni un ruolo rispetto alla funzione, esempio dare la possibilità di creare bucket ma non cancellarli. Possono essere inserite solo tramite file JSON caricandolo direttamente negli attributi del bucket.

 

Data consistency model:

per l’affidabilità dei dati degli oggetti. La sicurezza dei dati è garantita replicandoli all’interno di altri server nel datacenter nella stessa area geografica. Questo serve ad assicurarsi la durabilità del dato. Secondo AWS la possibilità di perdere un dato caricato su S3 è pari ad 1 ogni 10mln di anni.

 

Versioning:

mantenere più versioni di uno stesso oggetto; in caso in cui avessimo necessità di recuperare una versione precedente di un oggetto per il quale abbiamo avuto problemi con la nuova versione modificata. Questo evita di recuperare il backup completo. Il versioning permette di intervenire in caso di errori software e umani e non hardware. Il versioning viene fatto sia in caso di modifica di contenuto ma anche di attributo/proprietà.

Tutti gli oggetti memorizzati in un bucket non vengono mai duplicati automaticamente su altre region, ma può deciderlo solo il responsabile. Questo è importante perchè per esempio nel caso della Pubblica Amministrazione per i quali le normative sulla privacy del dato sono stringenti potrebbero non avere la possibilità di rendere disponibili i dati in altre region in cui i regolamenti governativi sono differenti.

 

Amazon S3 – non solo storage

Web site hosting: server web con un sito statico (pagine html, java, img) e pubblicarlo su bucket s3 senza installare istanze EC2 o servizi di hosting. Per esempio creare dei siti statici di backup al proprio sito principale per non mettere in manutenzione il sito verso l’utente. Quindi in questo modo utilizzare un mini sito su S3 per avere un sito informativo online mappando i DNS.

Comments are closed.

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi