Configurazione e utilizzo di Mountpoint - Amazon Simple Storage Service

Configurazione e utilizzo di Mountpoint

Per utilizzare Mountpoint per Amazon S3, l’host deve disporre di credenziali AWS valide con accesso al bucket o ai bucket Amazon S3 che desideri montare. Per le diverse modalità di autenticazione, consulta Mountpoint AWS Credentials su GitHub.

Ad esempio, puoi creare un nuovo utente e ruolo AWS Identity and Access Management (IAM) a questo scopo. Assicurati che questo ruolo abbia accesso al bucket o ai bucket che desideri montare. Puoi passare il ruolo IAM all'istanza Amazon EC2 con un profilo dell'istanza.

Utilizzo di Mountpoint per Amazon S3

Usa Mountpoint per Amazon S3 per effettuare le seguenti operazioni:

  1. Montaggio dei bucket Amazon S3.

    1. È possibile montare i bucket Amazon S3 manualmente utilizzando il comando mount-s3.

      Nell'esempio seguente, sostituisci amzn-s3-demo-bucket con il nome del bucket S3 e sostituisci ~/mnt con la directory sull'host in cui desideri che venga montato il bucket S3.

      mkdir ~/mnt mount-s3 amzn-s3-demo-bucket ~/mnt

      Poiché il client Mountpoint viene eseguito in background per impostazione predefinita, la directory ~/mnt ora fornisce l’accesso agli oggetti nel bucket Amazon S3.

    2. In alternativa, è possibile configurare il montaggio automatico dei bucket Amazon S3 all’avvio o al riavvio di un’istanza.

      Per le istanze Amazon EC2 esistenti o in esecuzione, trova il file fstab nella directory /etc/fstab del sistema Linux. Quindi, aggiungi una riga al file fstab. Ad esempio, per eseguire il montaggio di amzn-s3-demo-bucketutilizzando il prefisso example-prefix/ nel percorso di sistema /mnt/mountpoint, attieniti a quanto segue. Per utilizzare l'esempio seguente, sostituire i segnaposto inseriti dall'utente con le tue informazioni.

      s3://amzn-s3-demo-bucket/example-prefix/ /mnt/mountpoint mount-s3 _netdev,nosuid,nodev,nofail,rw 0 0

      Consulta la tabella seguente per una spiegazione delle opzioni utilizzate nell’esempio.

      Opzione Descrizione
      _netdev

      Specifica che il file system richiede una rete per il montaggio.

      nosuid

      Specifica che il file system non può contenere file con ID utente impostati.

      nodev

      Specifica che il file system non può contenere dispositivi speciali.

      nofail

      Specifica che il mancato montaggio del file system deve comunque consentire l’avvio del sistema.

      rw

      Specifica che il punto di montaggio viene creato con autorizzazioni di lettura e scrittura. In alternativa, utilizza ro per la sola lettura.

      Per le nuove istanze Amazon EC2, è possibile modificare i dati utente su un modello Amazon EC2 e configurare il file fstab come segue. Per utilizzare l'esempio seguente, sostituire i segnaposto inseriti dall'utente con le tue informazioni.

      #!/bin/bash -e MP_RPM=$(mktemp --suffix=.rpm) curl https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm > $MP_RPM yum install -y $MP_RPM rm $MP_RPM MNT_PATH=/mnt/mountpoint echo "s3://amzn-s3-demo-bucket/ ${MNT_PATH} mount-s3 _netdev,nosuid,nodev,rw,allow-other,nofail" >> /etc/fstab mkdir $MNT_PATH systemctl daemon-reload mount -a
  2. Accedi agli oggetti nel bucket Amazon S3 tramite Mountpoint.

    Dopo aver montato il bucket localmente, puoi utilizzare comandi Linux comuni, come cat o ls, per lavorare con gli oggetti S3. Mountpoint per Amazon S3 interpreta le chiavi nel bucket Amazon S3 come percorsi di file system suddividendole al carattere barra (/). Ad esempio, se disponi della chiave oggetto Data/2023-01-01.csv nel bucket, nel file system Mountpoint avrai una directory denominata Data, con un file denominato 2023-01-01.csv al suo interno.

    Mountpoint per Amazon S3 non implementa intenzionalmente la specifica standard completa POSIX per i file system. Mountpoint è ottimizzato per carichi di lavoro che richiedono un accesso in lettura e scrittura con elevato throughput ai dati archiviati in Amazon S3 tramite un'interfaccia di file system, ma che per il resto non si basano sulle funzionalità del file system. Per ulteriori informazioni, consulta Mountpoint for Amazon S3 file system behavior su GitHub. I clienti che necessitano di una semantica dei file system più ricca dovrebbero prendere in considerazione altri servizi di file AWS, come Amazon Elastic File System (Amazon EFS) o Amazon FSx.

  3. Smonta il bucket Amazon S3 utilizzando il comando umount. Questo comando smonta il bucket S3 ed esce da Mountpoint.

    Per utilizzare il comando di esempio seguente, sostituisci ~/mnt con la directory sull'host in cui è montato il bucket S3.

    umount ~/mnt
    Nota

    Per ottenere un elenco di opzioni per questo comando, eseguiumount --help.

Per ulteriori dettagli sulla configurazione di Mountpoint, consulta Amazon S3 bucket configuration e File system configuration in GitHub.

Configurazione della memorizzazione nella cache in Mountpoint

Mountpoint per Amazon S3 supporta diversi tipi di cache dei dati. Per accelerare le richieste di lettura ripetute, è possibile scegliere quanto segue:

  • Cache locale - È possibile utilizzare una cache locale nello storage dell'istanza Amazon EC2 o in un volume Amazon Elastic Block Store. Se si leggono ripetutamente gli stessi dati dalla stessa istanza di calcolo e se si dispone di spazio inutilizzato nello storage dell'istanza locale per il set di dati letto ripetutamente, si dovrebbe optare per una cache locale.

  • Cache condivisa - È possibile utilizzare una cache condivisa su S3 Express One Zone. Se si leggono ripetutamente oggetti di piccole dimensioni da più istanze di calcolo o se non si conoscono le dimensioni del set di dati letto ripetutamente e si vuole beneficiare dell'elasticità delle dimensioni della cache, si dovrebbe optare per la cache condivisa. Una volta effettuata l'iscrizione, Mountpoint conserva gli oggetti con dimensioni fino a un megabyte in un bucket di directory che utilizza S3 Express One Zone.

  • Cache locale e condivisa combinate - Se si dispone di spazio inutilizzato nella cache locale, ma si desidera anche una cache condivisa tra più istanze, è possibile optare per una cache locale e una cache condivisa.

La memorizzazione nella cache in Mountpoint è ideale per i casi d'uso in cui si leggono ripetutamente gli stessi dati che non cambiano durante le letture multiple. Ad esempio, puoi utilizzare la memorizzazione nella cache per le attività di training di machine learning che richiedono una lettura ripetuta di un set di dati di training per migliorare l'accuratezza del modello.

Per ulteriori informazioni su come configurare la cache in Mountpoint, consulta gli esempi seguenti.

Cache locale

È possibile accedere a una cache locale con il flag --cache CACHE_PATH. Nell'esempio seguente, sostituisci CACHE_PATH con il percorso file della directory in cui desideri memorizzare i dati nella cache. Sostituisci amzn-s3-demo-bucket con il nome del bucket Amazon S3 e sostituisci ~/mnt con la directory dell’host in cui desideri che venga montato il bucket S3.

mkdir ~/mnt mount-s3 --cache CACHE_PATH amzn-s3-demo-bucket ~/mnt

Quando si opta per la cache locale durante l’installazione di un bucket Amazon S3, Mountpoint crea nella posizione della cache configurata una sottodirectory vuota, se non esiste già. Quando si installa per la prima volta un bucket e quando lo si disinstalla, Mountpoint cancella il contenuto della cache locale.

Importante

Se si abilita la cache locale, Mountpoint mantiene il contenuto degli oggetti non crittografati del bucket Amazon S3 montato nella posizione della cache locale fornita al momento del montaggio. Per proteggere i dati, è necessario limitare l'accesso alla posizione della cache dei dati utilizzando i meccanismi di controllo dell'accesso al file system.

Cache condivisa

Se si leggono ripetutamente oggetti di piccole dimensioni (fino a 1 MB) da più istanze di calcolo o se le dimensioni dei set di dati letti ripetutamente superano spesso le dimensioni della cache locale, è consigliabile utilizzare una cache condivisa in S3 Express One Zone. Quando si leggono ripetutamente gli stessi dati da più istanze, questo approccio migliora la latenza evitando richieste ridondanti al bucket Amazon S3 montato.

Una volta che si opta per la cache condivisa, si paga per i dati memorizzati nella cache del proprio bucket di directory in S3 Express One Zone. Paga anche per le richieste effettuate sui dati nel bucket della directory in S3 Express One Zone. Per ulteriori informazioni, consulta Prezzi di Amazon S3. Mountpoint non cancella mai gli oggetti memorizzati nella cache dai bucket di directory. Per gestire i costi di archiviazione, è necessario impostare una policy del ciclo di vita sul bucket della directory, in modo che Amazon S3 faccia scadere i dati memorizzati nella cache in S3 Express One Zone dopo un periodo di tempo specificato dall'utente. Per ulteriori informazioni, consulta Configurazione della cache Mountpoint per Amazon S3 su GitHub.

Per abilitare la cache in S3 Express One Zone quando si monta un bucket Amazon S3 sull’istanza di calcolo, occorre utilizzare il flag --cache-xz e specificare un bucket di directory come posizione della cache. Nel seguente esempio, sostituisci i segnaposto per l’input dell’utente.

mount-s3 amzn-s3-demo-bucket ~/mnt --cache-xz amzn-s3-demo-bucket--usw2-az1--x-s3

Cache locale e condivisa combinate

Se si dispone di spazio inutilizzato nell'istanza ma si desidera anche una cache condivisa tra più istanze, è possibile optare per una cache locale e una cache condivisa. Con questa configurazione della cache, è possibile evitare richieste di lettura ridondanti dalla stessa istanza alla cache condivisa nel bucket della directory quando i dati richiesti sono memorizzati nella cache locale. Questo può ridurre i costi di richiesta e migliorare le prestazioni.

Per abilitare sia la cache locale sia la cache condivisa quando si monta un bucket Amazon S3, si specificano entrambe le posizioni della cache utilizzando i flag --cache e --cache-xz. Per utilizzare l'esempio seguente per optare sia per la cache locale sia per quella condivisa, sostituisci i segnaposto inseriti dall'utente.

mount -s3 amzn-s3-demo-bucket ~/mnt --cache /path/to/mountpoint/cache --cache -xz amzn-s3-demo-bucket--usw2-az1--x-s3

Per ulteriori informazioni, consulta Configurazione della cache Mountpoint per Amazon S3 su GitHub.

Importante

Se si abilita la cache condivisa, Mountpoint copia il contenuto degli oggetti dal bucket Amazon S3 montato nel bucket di directory S3 fornito come posizione della cache condivisa, rendendolo accessibile a qualsiasi chiamante con accesso al bucket di directory S3. Per proteggere i dati memorizzati nella cache, è necessario seguire Best practice di sicurezza per Amazon S3 per assicurarsi che i bucket utilizzino le policy corrette e non siano accessibili pubblicamente. È necessario utilizzare un bucket di directory dedicato alla cache condivisa di Mountpoint e concedere l'accesso solo ai client Mountpoint.