Modelli comuni di bucket per uso generico per la creazione di applicazioni su Amazon S3 - Amazon Simple Storage Service

Modelli comuni di bucket per uso generico per la creazione di applicazioni su Amazon S3

Quando si costruiscono applicazioni su Amazon S3, è possibile utilizzare bucket univoci per uso generico per separare diversi set di dati o carichi di lavoro. Quando crei applicazioni che servono agli utenti finali o a diversi gruppi di utenti, utilizza le nostre best practice per creare applicazioni che possano sfruttare al meglio le funzionalità e la scalabilità di Amazon S3.

Importante

È consigliabile creare nomi di bucket per uso generico che non siano prevedibili. Non scrivere codice ipotizzando che il nome del bucket scelto sia disponibile, a meno che tu non abbia già creato il bucket. Un metodo per creare nomi di bucket non prevedibili è quello di aggiungere un Globally Unique Identifier (GUID) al nome del bucket, ad esempio amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111. Per ulteriori informazioni sulle regole di denominazione dei bucket per uso generico, consulta Regole di denominazione dei bucket per uso generico.

Modello di bucket per uso generico multi-tenant

Con i bucket multi-tenant, si crea un singolo bucket per uso generico per un team o un carico di lavoro. Si utilizzano prefissi S3 univoci per organizzare gli oggetti memorizzati nel bucket. Un prefisso è una stringa di caratteri all'inizio del nome della chiave dell'oggetto. Un prefisso può essere di qualsiasi lunghezza, soggetto alla lunghezza massima del nome della chiave dell'oggetto (1.024 byte). Puoi pensare ai prefissi come un modo per organizzare i dati in modo simile alle directory. Tuttavia, i prefissi non sono directory.

Ad esempio, per memorizzare le informazioni sulle città, si potrebbe organizzarle per continente, poi per paese, quindi per provincia o stato. Poiché questi nomi in genere non contengono punteggiatura, è possibile selezionare la barra (/) come delimitatore. Gli esempi seguenti mostrano l'uso di prefissi per organizzare i nomi delle città in base al continente, al paese e poi alla provincia o allo stato, utilizzando un delimitatore a barra (/).

  • Europa/Francia/NouvelleA-Aquitaine/Bordeaux

  • America del Nord/Canada/Quebec/Montreal

  • America del Nord/Stati Uniti/Washington/Bellevue

  • America del Nord/Stati Uniti/Washington/Seattle

Questo modello scala in modo ottimale quando si hanno centinaia di set di dati univoci all’interno di un bucket per uso generico. Con i prefissi è possibile organizzare e raggruppare facilmente questi set di dati.

Tuttavia, un potenziale svantaggio del modello di bucket per uso generico multi-tenant è dato dal fatto che molte funzionalità a livello di bucket S3, come la crittografia predefinita del bucket, il controllo delle versioni S3 e i pagamenti a carico del richiedente S3, sono impostate a livello di bucket e non a livello di prefisso. Se i diversi set di dati all'interno del bucket multi-tenant hanno requisiti unici, l'impossibilità di configurare a livello di prefisso molte funzionalità che sono a livello di bucket S3 può rendere difficile specificare le impostazioni corrette per ciascun set di dati. Inoltre, in un bucket multi-tenant, l'allocazione dei costi può diventare complessa in quanto si dedica tempo a comprendere l'archiviazione, le richieste e il trasferimento dei dati associati a prefissi specifici.

Modello bucket-per-use

Con il modello bucket-per-use, si crea un bucket per uso generico per ogni set di dati, utente finale o team distinto. Poiché è possibile configurare le caratteristiche a livello di bucket S3 per ciascuno di questi bucket, è possibile utilizzare questo modello per configurare impostazioni uniche a livello di bucket. Ad esempio, è possibile configurare funzioni come la crittografia predefinita del bucket, il controllo delle versioni S3 e i pagamenti a carico del richiedente S3 in modo personalizzato per il set di dati in ciascun bucket. L'utilizzo di un bucket per ciascun set di dati, utente finale o team distinto può anche aiutare a semplificare le strategie di gestione degli accessi e di allocazione dei costi.

Un potenziale svantaggio di questa strategia è la necessità di gestire potenzialmente migliaia di bucket. Tutti gli Account AWS hanno una quota predefinita di 10.000 bucket per uso generico. È possibile aumentare la quota del bucket di un account inviando una richiesta di aumento della quota. Per richiedere un aumento per i bucket per uso generico, visita la console Service Quotas.

Per gestire il modello bucket-per-use e semplificare la gestione dell'infrastruttura, si può utilizzare AWS CloudFormation. È possibile creare un modello CloudFormation personalizzato per il proprio modello con tutte le impostazioni desiderate per i bucket per uso generico S3 già definite, in modo da poter facilmente implementare e monitorare qualsiasi modifica all’infrastruttura. Per ulteriori informazioni, consulta AWS::S3::Bucket nella Guida all'utente AWS CloudFormation.

Un diagramma che mostra come creare un modello CloudFormation personalizzato per l'applicazione che definisce le impostazioni per i bucket S3.