Creazione di bucket di directory in una zona di disponibilità - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di bucket di directory in una zona di disponibilità

Per iniziare a utilizzare la classe di archiviazione Amazon S3 Express One Zone, crea una bucket di directory. La classe di archiviazione S3 Express One Zone può essere utilizzata solo con i bucket di directory. La classe di archiviazione S3 Express One Zone supporta casi d'uso a bassa latenza e fornisce un'elaborazione dei dati più rapida all'interno di una singola zona di disponibilità. Se l'applicazione è sensibile alle prestazioni e beneficia di latenze PUT e GET di pochi millisecondi, si consiglia di creare un bucket di directory in modo da poter utilizzare la classe di archiviazione S3 Express One Zone.

Esistono due tipi di bucket Amazon S3: i bucket per uso generico e i bucket di directory. È opportuno scegliere il tipo di bucket più adatto ai requisiti applicativi e di prestazioni. I bucket per uso generico sono il tipo di bucket S3 originale. I bucket per uso generico sono consigliati per la maggior parte dei casi d'uso e dei modelli di accesso e consentono di archiviare oggetti in tutte le classi di storage, ad eccezione di S3 Express One Zone. Per ulteriori informazioni sui bucket per uso generico, consulta Panoramica dei bucket.

I bucket di directory utilizzano la classe di archiviazione S3 Express One Zone, che è progettata per l'utilizzo con carichi di lavoro o applicazioni con prestazioni critiche che richiedono una latenza costante di pochi millisecondi. S3 Express One Zone è la prima classe di storage S3 in cui è possibile selezionare una singola zona di disponibilità con la possibilità di co-ubicare l'archiviazione di oggetti con le risorse di calcolo, che offre la massima velocità di accesso possibile. Quando crei un bucket di directory, puoi facoltativamente specificare una Regione AWS e una zona di disponibilità locale per le tue istanze di calcolo Amazon EC2, Amazon Elastic Kubernetes Service o Amazon Elastic Container Service (Amazon ECS) per ottimizzare le prestazioni.

Con S3 Express One Zone, i dati vengono archiviati in modo ridondante su più dispositivi all'interno di un'unica zona di disponibilità. S3 Express One Zone è progettato per una disponibilità del 99,95% all'interno di una singola zona di disponibilità ed è supportato dall'Accordo sul livello di servizio di Amazon S3. Per ulteriori informazioni, consulta Zone di disponibilità

I bucket di directory organizzano i dati in modo gerarchico in directory, a differenza della struttura di archiviazione piatta dei bucket per uso generico. Non ci sono limiti di prefisso per i bucket di directory e le singole directory possono scalare orizzontalmente.

Per ulteriori informazioni sui bucket di directory, consulta Operazioni con i bucket di directory.

Nomi dei bucket di directory

I nomi dei bucket di directory devono seguire questo formato e rispettare le regole di denominazione dei bucket di directory:

bucket-base-name--zone-id--x-s3

Ad esempio, il seguente nome del bucket di directory contiene l'ID zona di disponibilità usw2-az1:

bucket-base-name--usw2-az1--x-s3

Per ulteriori informazioni sulle regole di denominazione dei bucket di directory, consulta Regole di denominazione dei bucket di directory.

  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nella barra di navigazione nella parte superiore della pagina, scegli il nome del file attualmente visualizzato Regione AWS. Quindi, scegli la Regione in cui creare un bucket.

    Nota

    Scegli una regione nelle tue vicinanze per ridurre al minimo la latenza e i costi o essere conforme ai requisiti normativi. Gli oggetti archiviati in una regione non la lasciano mai a meno che non vengano trasferiti esplicitamente in un'altra regione. Per un elenco di Amazon S3 Regioni AWS, consulta gli Servizio AWS endpoint in. Riferimenti generali di Amazon Web Services

  3. Nel riquadro di navigazione a sinistra, scegli Directory buckets.

  4. Scegliere Create bucket (Crea bucket). Viene visualizzata la pagina Create bucket (Crea bucket).

  5. In Configurazione generale, visualizza Regione AWS dove verrà creato il bucket.

    In Tipo di bucket, scegli Directory.

    Nota
    • Se si è scelta una Regione che non supporta i bucket di directory, l'opzione Tipo di bucket scompare e il tipo di bucket viene impostato su un bucket per uso generico. Per creare un bucket di directory, è necessario scegli una Regione supportata. Per un elenco delle Regioni che supportano i bucket di directory e la classe di storage Amazon S3 Express One Zone, consulta Zone di disponibilità e regioni S3 Express One Zone.

    • Dopo aver creato il bucket, non è possibile modificare il tipo di bucket.

    Nota

    La zona di disponibilità non può essere modificata dopo che il bucket è stato creato.

  6. Per Zona di disponibilità, scegli una zona di disponibilità locale nei servizi di calcolo. Per un elenco delle zone di disponibilità che supportano i bucket di directory e la classe di storage S3 Express One Zone, consulta Zone di disponibilità e regioni S3 Express One Zone.

    In Zona di disponibilità, seleziona la casella di controllo per riconoscere che, in caso di interruzione della zona di disponibilità, i dati potrebbero essere non disponibili o persi.

    Importante

    Sebbene i bucket di directory siano archiviati su più dispositivi all'interno di una singola Zona di disponibilità, i bucket di directory non archiviano i dati in modo ridondante tra le varie Zona di disponibilità.

  7. Per Nome bucket, immetti il nome del bucket di directory.

    Le seguenti regole di denominazione si applicano ai bucket della directory.

    • Sii unico all'interno della zona scelta (zona di AWS disponibilità o zona AWS locale).

    • Il nome deve avere una lunghezza compresa tra 3 (min) e 63 (max) caratteri, incluso il suffisso.

    • Essere costituiti solo da lettere minuscole, numeri e trattini (-).

    • Iniziare e finire con una lettera o un numero.

    • Deve includere il seguente suffisso: --zone-id--x-s3.

    • I nomi dei bucket non devono iniziare con il prefisso xn--.

    • I nomi dei bucket non devono iniziare con il prefisso sthree-.

    • I nomi dei bucket non devono iniziare con il prefisso sthree-configurator.

    • I nomi dei bucket non devono iniziare con il prefisso amzn-s3-demo-.

    • I nomi dei bucket non devono terminare con il suffisso-s3alias. Questo suffisso è riservato ai nomi alias dei punti di accesso. Per ulteriori informazioni, consulta Alias del punto di accesso.

    • I nomi dei bucket non devono terminare con il suffisso--ol-s3. Questo suffisso è riservato ai nomi alias dei punti di accesso Lambda per oggetti. Per ulteriori informazioni, consulta Come utilizzare un alias in stile bucket per il punto di accesso Lambda per oggetti del bucket S3.

    • I nomi dei bucket non devono terminare con il suffisso.mrap. Questo suffisso è riservato ai nomi dei punti di accesso multiregionali. Per ulteriori informazioni, consulta Regole per la denominazione dei punti di accesso multi-regione in Amazon S3.

    Un suffisso viene aggiunto automaticamente al nome di base fornito quando si crea un bucket di directory tramite la console. Questo suffisso include l'ID zona di disponibilità della zona di disponibilità scelta.

    Una volta creato il bucket, non è possibile modificarne il nome. Per ulteriori informazioni sulla denominazione dei bucket, consulta Regole di denominazione dei bucket per uso generico.

    Importante

    Non includere informazioni sensibili, come i numeri di conto, nel nome del bucket. Il nome del bucket è visibile in URLs quel punto agli oggetti nel bucket.

  8. In Object Ownership, l'impostazione imposta dal proprietario del Bucket viene abilitata automaticamente e tutte le liste di controllo degli accessi () ACLs sono disabilitate. Per i bucket di directory, non ACLs può essere abilitata.

    Proprietario del bucket applicato (impostazione predefinita): ACLs sono disabilitati e il proprietario del bucket possiede automaticamente e ha il pieno controllo su ogni oggetto nel bucket. ACLs non influiscono più sulle autorizzazioni di accesso ai dati nel bucket S3. Il bucket utilizza esclusivamente le policy per definire il controllo degli accessi.

  9. In Impostazioni di blocco dell'accesso pubblico per questo bucket, tutte le impostazioni di blocco dell'accesso pubblico per il bucket di directory sono automaticamente attivate. Queste impostazioni non possono essere modificate per i bucket di directory. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta Blocco dell'accesso pubblico allo storage Amazon S3.

  10. Per configurare la crittografia predefinita, in Tipo di crittografia scegli una delle seguenti opzioni:

    • Crittografia lato server con chiave gestita Amazon S3 (SSE-S3)

    • Crittografia lato server con chiave (SSE-KMS) AWS Key Management Service

    Per ulteriori informazioni sull'utilizzo della crittografia lato server di Amazon S3 per crittografare i dati, consulta Protezione e crittografia dei dati.

    Importante

    Se usi l'opzione SSE-KMS per la configurazione della crittografia predefinita, sei soggetto alla quota delle richieste al secondo di AWS KMS. Per ulteriori informazioni sulle quote AWS KMS e su come richiedere un aumento delle quote, consulta Quote nella Guida per gli sviluppatori di AWS Key Management Service .

    Quando abiliti la crittografia predefinita, potresti dover aggiornare la tua policy sui bucket. Per ulteriori informazioni, consulta Utilizzo della crittografia SSE-KMS per operazioni multi-account.

  11. Se hai scelto la crittografia lato server con chiavi gestite Amazon S3 (SSE-S3), in Bucket Key viene visualizzato Enabled. Le S3 Bucket Keys sono sempre abilitate quando configuri il bucket di directory per utilizzare la crittografia predefinita con SSE-S3. Le S3 Bucket Keys sono sempre abilitate per le operazioni GET e PUT in un bucket di directory e non possono essere disabilitate. Le Bucket Key S3 non sono supportate quando copi oggetti crittografati SSE-KMS da bucket generici a bucket di directory, da bucket di directory a bucket generici o tra bucket di directory, tramite CopyObject, UploadPartCopy, il Copy operazione in Batch Operations, oppure import lavori. In questo caso, Amazon S3 effettua una chiamata AWS KMS ogni volta che viene effettuata una richiesta di copia per un oggetto crittografato con KMS.

    S3 Bucket Keys riduce il costo della crittografia diminuendo il traffico di richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consulta Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3.

  12. Se hai scelto la crittografia lato server con AWS Key Management Service chiave (SSE-KMS), sotto AWS KMS chiave, specifica la chiave in uno dei seguenti modi o crea una nuova AWS Key Management Service chiave.

    • Per scegliere da un elenco di chiavi KMS disponibili, scegli tra le tue chiavi KMS e scegli la tua AWS KMS keys chiave KMS da Disponibile. AWS KMS keys

      In questo elenco vengono visualizzate solo le chiavi gestite dai clienti. Il Chiave gestita da AWS (aws/s3) non è supportato nei bucket di directory. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta Chiavi gestite dal cliente e chiavi AWS nella Guida per gli sviluppatori di AWS Key Management Service .

    • Per inserire l'ARN o l'alias della chiave KMS, scegli Inserisci ARN e inserisci l' AWS KMS key ARN o l'alias della chiave KMS in ARN.AWS KMS key

    • Per creare una nuova chiave gestita dal cliente nella console, scegli Crea una chiave KMS AWS KMS .

      Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta Creating keys nella AWS Key Management Service Developer Guide.

    Importante
    • La configurazione di SSE-KMS può supportare solo 1 chiave gestita dal cliente per ogni bucket di directory per tutta la durata del bucket. Il Chiave gestita da AWS(aws/s3) non è supportato. Inoltre, dopo aver specificato una chiave gestita dal cliente per SSE-KMS, non è possibile sovrascrivere la chiave gestita dal cliente per la configurazione SSE-KMS del bucket.

      È possibile identificare la chiave gestita dal cliente specificata per la configurazione SSE-KMS del bucket, nel modo seguente:

      • Si effettua una richiesta di operazione API HeadObject per trovare il valore di x-amz-server-side-encryption-aws-kms-key-id nella risposta.

      Per utilizzare una nuova chiave gestita dal cliente per i propri dati, si consiglia di copiare gli oggetti esistenti in un nuovo bucket della directory con una nuova chiave gestita dal cliente.

    • Puoi utilizzare solo le chiavi KMS disponibili nello Regione AWS stesso bucket. La console Amazon S3 elenca solo le prime 100 chiavi KMS nella stessa Regione del bucket. Per utilizzare una chiave KMS non elencata, devi inserire l'ARN della chiave KMS. Se desideri utilizzare una chiave KMS di proprietà di un account diverso, è necessario innanzitutto disporre dell'autorizzazione necessaria per l'uso della chiave e quindi inserire l'ARN della chiave KMS. Per ulteriori informazioni sulle autorizzazioni tra account per le chiavi KMS, consulta Creazione di chiavi KMS utilizzabili da altri account nella Guida per gli sviluppatori di AWS Key Management Service . Per ulteriori informazioni su SSE-KMS, consulta Specifica della crittografia lato server con AWS KMS (SSE-KMS) per i caricamenti di nuovi oggetti nei bucket della directory.

    • Quando si utilizza una chiave KMS AWS KMS key per la crittografia lato server nei bucket di directory, è necessario scegliere una chiave KMS di crittografia simmetrica. Amazon S3 supporta solo chiavi KMS di crittografia simmetriche e non chiavi KMS asimmetriche. Per ulteriori informazioni, consulta Identificazione delle chiavi KMS simmetriche e asimmetriche nella Guida per gli sviluppatori di AWS Key Management Service .

    Per ulteriori informazioni sull'utilizzo AWS KMS con Amazon S3, consulta. Utilizzo della crittografia lato server con AWS KMS chiavi (SSE-KMS) nei bucket di directory

  13. Seleziona Crea bucket. Dopo aver creato il bucket, puoi aggiungere file e cartelle al bucket. Per ulteriori informazioni, consulta Utilizzo di oggetti in un bucket di directory.

SDK for Go

Questo esempio mostra come creare un bucket di directory utilizzando il comando AWS SDK per Go.

var bucket = "..." func runCreateBucket(c *s3.Client) { resp, err := c.CreateBucket(context.Background(), &s3.CreateBucketInput{ Bucket: &bucket, CreateBucketConfiguration: &types.CreateBucketConfiguration{ Location: &types.LocationInfo{ Name: aws.String("usw2-az1"), Type: types.LocationTypeAvailabilityZone, }, Bucket: &types.BucketInfo{ DataRedundancy: types.DataRedundancySingleAvailabilityZone, Type: types.BucketTypeDirectory, }, }, }) var terr *types.BucketAlreadyOwnedByYou if errors.As(err, &terr) { fmt.Printf("BucketAlreadyOwnedByYou: %s\n", aws.ToString(terr.Message)) fmt.Printf("noop...\n") return } if err != nil { log.Fatal(err) } fmt.Printf("bucket created at %s\n", aws.ToString(resp.Location)) }
SDK for Java 2.x

Questo esempio mostra come creare un bucket di directory utilizzando il comando AWS SDK for Java 2.x.

public static void createBucket(S3Client s3Client, String bucketName) { //Bucket name format is {base-bucket-name}--{az-id}--x-s3 //example: doc-example-bucket--usw2-az1--x-s3 is a valid name for a directory bucket created in //Region us-west-2, Availability Zone 2 CreateBucketConfiguration bucketConfiguration = CreateBucketConfiguration.builder() .location(LocationInfo.builder() .type(LocationType.AVAILABILITY_ZONE) .name("usw2-az1").build()) //this must match the Region and Availability Zone in your bucket name .bucket(BucketInfo.builder() .type(BucketType.DIRECTORY) .dataRedundancy(DataRedundancy.SINGLE_AVAILABILITY_ZONE) .build()).build(); try { CreateBucketRequest bucketRequest = CreateBucketRequest.builder().bucket(bucketName).createBucketConfiguration(bucketConfiguration).build(); CreateBucketResponse response = s3Client.createBucket(bucketRequest); System.out.println(response); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
AWS SDK for JavaScript

Questo esempio mostra come creare un bucket di directory utilizzando il comando AWS SDK for JavaScript.

// file.mjs, run with Node.js v16 or higher // To use with the preview build, place this in a folder // inside the preview build directory, such as /aws-sdk-js-v3/workspace/ import { S3 } from "@aws-sdk/client-s3"; const region = "us-east-1"; const zone = "use1-az4"; const suffix = `${zone}--x-s3`; const s3 = new S3({ region }); const bucketName = `...--${suffix}`; const createResponse = await s3.createBucket( { Bucket: bucketName, CreateBucketConfiguration: {Location: {Type: "AvailabilityZone", Name: zone}, Bucket: { Type: "Directory", DataRedundancy: "SingleAvailabilityZone" }} } );
AWS SDK for .NET

Questo esempio mostra come creare un bucket di directory utilizzando il comando AWS SDK for .NET.

using (var amazonS3Client = new AmazonS3Client()) { var putBucketResponse = await amazonS3Client.PutBucketAsync(new PutBucketRequest { BucketName = "DOC-EXAMPLE-BUCKET--usw2-az1--x-s3", PutBucketConfiguration = new PutBucketConfiguration { BucketInfo = new BucketInfo { DataRedundancy = DataRedundancy.SingleAvailabilityZone, Type = BucketType.Directory }, Location = new LocationInfo { Name = "usw2-az1", Type = LocationType.AvailabilityZone } } }).ConfigureAwait(false); }
SDK for PHP

Questo esempio mostra come creare un bucket di directory utilizzando il comando AWS SDK for PHP.

require 'vendor/autoload.php'; $s3Client = new S3Client([ 'region' => 'us-east-1', ]); $result = $s3Client->createBucket([ 'Bucket' => 'doc-example-bucket--use1-az4--x-s3', 'CreateBucketConfiguration' => [ 'Location' => ['Name'=> 'use1-az4', 'Type'=> 'AvailabilityZone'], 'Bucket' => ["DataRedundancy" => "SingleAvailabilityZone" ,"Type" => "Directory"] ], ]);
SDK for Python

Questo esempio mostra come creare un bucket di directory utilizzando il comando AWS SDK for Python (Boto3).

import logging import boto3 from botocore.exceptions import ClientError def create_bucket(s3_client, bucket_name, availability_zone): ''' Create a directory bucket in a specified Availability Zone :param s3_client: boto3 S3 client :param bucket_name: Bucket to create; for example, 'doc-example-bucket--usw2-az1--x-s3' :param availability_zone: String; Availability Zone ID to create the bucket in, for example, 'usw2-az1' :return: True if bucket is created, else False ''' try: bucket_config = { 'Location': { 'Type': 'AvailabilityZone', 'Name': availability_zone }, 'Bucket': { 'Type': 'Directory', 'DataRedundancy': 'SingleAvailabilityZone' } } s3_client.create_bucket( Bucket = bucket_name, CreateBucketConfiguration = bucket_config ) except ClientError as e: logging.error(e) return False return True if __name__ == '__main__': bucket_name = 'BUCKET_NAME' region = 'us-west-2' availability_zone = 'usw2-az1' s3_client = boto3.client('s3', region_name = region) create_bucket(s3_client, bucket_name, availability_zone)
SDK for Ruby

Questo esempio mostra come creare un bucket di directory utilizzando il comando AWS SDK for Ruby.

s3 = Aws::S3::Client.new(region:'us-west-2') s3.create_bucket( bucket: "bucket_base_name--az_id--x-s3", create_bucket_configuration: { location: { name: 'usw2-az1', type: 'AvailabilityZone' }, bucket: { data_redundancy: 'SingleAvailabilityZone', type: 'Directory' } } )

Questo esempio mostra come creare un bucket di directory utilizzando il comando AWS CLI. Per utilizzare il comando sostituiscili user input placeholders con le tue informazioni.

Quando si crea un bucket di directory, è necessario fornire i dettagli di configurazione e utilizzare la seguente convenzione di denominazione: bucket-base-name--zone-id--x-s3

aws s3api create-bucket --bucket bucket-base-name--zone-id--x-s3 --create-bucket-configuration 'Location={Type=AvailabilityZone,Name=usw2-az1},Bucket={DataRedundancy=SingleAvailabilityZone,Type=Directory}' --region us-west-2

Per ulteriori informazioni, consulta create-bucket in AWS Command Line Interface.