Come montare Amazon S3 come unità per la condivisione di file nel cloud
In Amazon S3, i dati vengono archiviati in “bucket”, l’unità di base dello storage dei dati. È possibile configurare le autorizzazioni per gli utenti per accedere ai bucket tramite l’interfaccia web AWS. Se si desidera che l’accesso ad AWS S3 sia disponibile senza un browser web, è possibile consentire agli utenti di utilizzare l’interfaccia di un sistema operativo come Linux, Windows o macOS.L’accesso allo storage sul cloud Amazon S3 dalla riga di comando può essere utile in diversi scenari. Ciò è particolarmente utile con i sistemi operativi che non dispongono di un’interfaccia grafica utente (GUI), in particolare le VM in esecuzione in un cloud pubblico, e per automatizzare attività come la copia di file o la creazione di backup dei dati su cloud.Continua a leggere per scoprire come montare un bucket Amazon S3 come filesystem su una macchina Linux e come unità su una directory locale su macchine Windows e macOS per poter utilizzare AWS S3 senza un browser web.
Come montare un bucket S3 come filesystem in Linux
AWS fornisce un’API per lavorare con i bucket Amazon S3 utilizzando applicazioni di terze parti. È anche possibile scrivere una propria applicazione in grado di interagire con i bucket S3 utilizzando l’API Amazon. È possibile creare un’applicazione che utilizza lo stesso percorso per caricare i file sul storage sul cloud Amazon S3 e fornire lo stesso percorso su ogni computer montando il bucket S3 nella stessa directory con S3FS. In questo tutorial, utilizziamo S3FS per montare un bucket Amazon S3 come unità disco su una directory Linux.S3FS è una soluzione speciale basata su FUSE (file system in user space), sviluppata per montare bucket S3 su directory di sistemi operativi Linux, in modo simile a come si monta Condivisione CIFS/NFS come unità di rete. S3FS è una soluzione gratuita e open source.Dopo aver montato lo storage sul cloud Amazon S3 con S3FS sul tuo computer Linux, puoi utilizzare cp, mv, rme altri comandi nella console Linux per operare con i file come si fa quando si lavora con unità locali o di rete montate.Montiamo un bucket Amazon S3 su una directory Linux con Ubuntu 18.04 LTS come esempio. In questa procedura guidata viene utilizzata una nuova installazione di Ubuntu. È possibile utilizzare lo stesso principio per le versioni più recenti.
- Aggiorna l’albero del repository:
sudo apt-get update - Se sul tuo sistema Linux è installato un FUSE esistente, rimuovilo prima di configurare l’ambiente e installare fuse-f3fs per evitare conflitti. Poiché stiamo utilizzando una nuova installazione di Ubuntu, non eseguiamo il comando
sudo apt-get remove fusecomando per rimuovere FUSE. - Installa s3fs da repository di software online:
sudo apt-get install s3fs - È necessario generare il ID chiave di accesso e chiave di accesso segreta nell’interfaccia web AWS del tuo account (utente IAM). L’utente IAM deve avere accesso completo a S3. Puoi utilizzare questo link:https://console.aws.amazon.com/iam/home?#/security_credentialsNOTA: Si consiglia di montare i bucket Amazon S3 come utente normale con autorizzazioni limitate e di utilizzare utenti con autorizzazioni di amministrazione solo per la generazione delle chiavi.
- Queste chiavi sono necessarie per l’accesso all’API AWS. È necessario disporre dei permessi di amministrazione per generare l’ID chiave di accesso AWS e la chiave di accesso segreta AWS. Se non si dispone di permessi sufficienti, chiedere all’amministratore di sistema di generare le chiavi AWS. L’amministratore può generare le chiavi AWS per un account utente nel Utenti sezione della console AWS nella Credenziali di sicurezza per la sicurezza scheda cliccando sul Crea chiave di accesso pulsante.

- Nel Crea chiave di accesso finestra popup, clicca Scarica .csv file oppure clicca Mostra sotto il Chiave di accesso segreta nome riga. Questo è l’unico caso in cui è possibile visualizzare la chiave di accesso segreta nell’interfaccia web AWS. Conservare l’ID della chiave di accesso AWS e la chiave di accesso segreta in un luogo sicuro.

- È possibile aprire il file CSV scaricato contenente le chiavi di accesso, ad esempio in Microsoft Office 365 Excel.

- Torna alla console Ubuntu per creare un file di configurazione in cui memorizzare la chiave di accesso AWS e la chiave di accesso segreta necessarie per montare un bucket S3 con S3FS. Il comando da utilizzare è:
echo ACCESS_KEY:SECRET_ACCESS_KEY > PATH_TO_FILEModifica ACCESS_KEY alla tua chiave di accesso AWS e CHIAVE_DI_ACCESSO_SEGRETA alla tua chiave di accesso segreta.In questo esempio, salveremo il file di configurazione con le chiavi AWS nella directory home del nostro utente. Assicurati di salvare il file con le chiavi in un luogo sicuro, non accessibile a persone non autorizzate.echo AKIA4SK3HPQ9FLWO8AMB:esrhLH4m1Da+3fJoU5xet1/ivsZ+Pay73BcSnzP > ~/.passwd-s3fs - Controlla se le chiavi sono state scritte nel file:
cat ~/.passwd-s3fs - Imposta i permessi corretti per il passwd-s3fs file in cui sono memorizzate le chiavi di accesso:
chmod 600 ~/.passwd-s3fs - Crea la directory (punto di montaggio) che verrà utilizzata come punto di montaggio per il tuo bucket S3. In questo esempio, creiamo la directory Amazon Cloud Drive S3 nella directory dell’utente home.
mkdir ~/s3-bucketÈ anche possibile utilizzare una directory vuota esistente. - Il nome del bucket utilizzato in questa procedura guidata è blog-secchio01. Il testo1.txt Il file viene caricato sul nostro blog-secchio01 in Amazon S3 prima di montare il bucket su una directory Linux. Si sconsiglia di utilizzare un punto (.) nei nomi dei bucket.

- Montiamo il bucket. Utilizza il seguente comando per impostare il nome del bucket, il percorso della directory utilizzata come punto di montaggio e il file che contiene la chiave di accesso AWS e la chiave di accesso segreta.
s3fs bucket-name /path/to/mountpoint -o passwd_file=/path/passwd-s3fsNel nostro caso, il comando che utilizziamo per montare il nostro bucket è:s3fs blog-bucket01 ~/s3-bucket -o passwd_file=~/.passwd-s3fs - Il bucket è stato montato. Possiamo eseguire i comandi per verificare se il nostro bucket (blog-secchio-01) è stato montato sul s3-bucket directory:
mount | grep bucketdf -h | grep bucket - Controlliamo il contenuto della directory su cui è stato montato il bucket:
ls -al ~/s3-bucketCome puoi vedere nella schermata qui sotto, il test1.txt Il file caricato in precedenza tramite l’interfaccia web è presente e visualizzato nell’output della console.
- Ora puoi provare a creare un nuovo file sul tuo disco rigido e copiare quel file nel bucket S3 nella tua console Linux.
echo test2 > test2.txtcp test2.txt ~/s3-bucket/ - Aggiorna la pagina web AWS in cui sono visualizzati i tuoi file nel bucket. Dovresti vedere il nuovo test2.txt file copiato nel bucket S3 nella console Linux utilizzando la directory in cui è montato il bucket.

Come montare automaticamente un bucket S3 all’avvio di Linux
Se desideri configurare il montaggio automatico di un bucket S3 con S3FS sul tuo computer Linux, devi creare il file passwd-s3fs file in /etc/passwd-s3fs, che è la ubicazione standard. Dopo aver creato questo file, non è necessario utilizzare il comando -o file_password tasto per impostare manualmente l’ubicazione del file con le tue chiavi AWS.
- Crea il /etc/passwd-s3fs file:
vim /etc/passwd-s3fsNOTA: Se vim L’editor di testo non è ancora stato installato nel tuo Linux, esegui il comandoapt-get install vimcomando. - Inserisci la tua chiave di accesso AWS e la chiave di accesso segreta come spiegato sopra.AKIA4SK3HPQ9FLWO8AMB:esrhLH4m1Da+3fJoU5xet1/ivsZ+Pay73BcSnzcPIn alternativa, è possibile memorizzare le chiavi nel /etc/passwd-s3fs file con il comando:
echo AKIA4SK3HPQ9FLWO8AMB:esrhLH4m1Da+3fJoU5xet1/ivsZ+Pay73BcSnzcP > /etc/passwd-s3fs - Imposta le autorizzazioni obbligatorie per il /etc/passwd-s3fs file:
chmod 640 /etc/passwd-s3fs - Modifica il file di configurazione FUSE:
vim /etc/fuse.conf - Rimuovi il commento dal consenti_altri_utenti stringa se desideri consentire l’utilizzo di Amazon S3 per la condivisione di file da parte di altri utenti (utenti non root) sul tuo computer Linux.

- Apri /etc/fstab con un editor di testo:
vim /etc/fstab - Aggiungi la riga alla fine del file:s3fs#blog-bucket01 /home/user1/s3-bucket/ fuse _netdev,allow_other,url=https://s3.amazonaws.com 0 0

- Salva le modifiche /etc/fstab file e chiudi l’editor di testo.Nota: Se desideri impostare il proprietario e il gruppo, puoi utilizzare il comando -o uid=1001 -o gid=1001 -o mp_umask=002 parametri (modificare i valori digitali dell’ID utente, dell’ID gruppo e dell’umask in base alla propria configurazione). Se si desidera abilitare la cache, utilizzare il parametro -ouse_cache=/tmp parametro (impostare una directory personalizzata invece di /tmp/ se necessario). È possibile impostare il numero di volte in cui tentare il montaggio di un bucket se il bucket non è stato montato inizialmente utilizzando il parametro retries. Ad esempio, riprova=5 segna cinque mete.
- Riavvia il computer Ubuntu per verificare se il bucket S3 viene montato automaticamente all’avvio del sistema:
init 6 - Attendi fino a quando il tuo computer Linux è avviato.
- È possibile eseguire comandi per verificare se il bucket AWS S3 è stato montato automaticamente su s3-bucket directory figlio di avvio Ubuntu.
mount | grep bucketdf -h | grep bucketls -al /home/user1/s3-bucket/
Nel nostro caso, l’unità cloud Amazon S3 è stata montata automaticamente nella directory Linux specificata all’avvio di Ubuntu (vedere la schermata sottostante). La configurazione è stata applicata con successo.
S3FS supporta anche il lavoro con rsync e la memorizzazione nella cache dei file per ridurre il traffico.
Montaggio dello storage sul cloud Amazon S3 in Windows
Puoi provare wins3fs, che è una soluzione equivalente a S3FS per il montaggio dello storage sul cloud Amazon S3 come disco di rete in Windows. Tuttavia, in questa sezione utilizzeremo rclone. Rclone è uno strumento da riga di comando che può essere utilizzato per montare e sincronizzare l’storage sul cloud, come i bucket Amazon S3, Storage sul cloud, Google Drive, Microsoft OneDrive, DropBox e così via.Rclone è uno strumento gratuito open source che può essere scaricato dal sito web ufficiale e da GitHub. È possibile scaricare la versione necessaria di rclone utilizzando uno dei seguenti link:
Utilizziamo il link diretto dal sito web ufficiale:
È possibile utilizzare questo flusso di lavoro per le versioni più recenti di rclone dopo il loro rilascio. Le seguenti azioni vengono eseguite nell’interfaccia della riga di comando e possono essere utili per gli utenti che utilizzano Windows senza GUI su server o VM.
- Apri Windows PowerShell come Amministratore.
- Crea la directory per scaricare e archiviare rclone file:
mkdir c:\rclone - Vai alla directory creata:
cd c:\rclone - Scarica rclone utilizzando il link diretto sopra indicato. Modifica il numero di versione nel link se scarichi un’altra versione.
Invoke-WebRequest -Uri \"https://downloads.rclone.org/v1.51.0/rclone-v1.51.0-windows-amd64.zip\" -OutFile \"c:\rclone\rclone.zip\" - Estrai i file dall’archivio scaricato:
Expand-Archive -path 'c:\rclone\rclone.zip' -destinationpath '.\' - Controlla il contenuto della directory:
dir
- I file vengono estratti in C:rclonerclone-v1.51.0-windows-amd64 in questo caso.NOTA: In questo esempio, il nome del rclone La directory dopo l’estrazione dei file è rclone-v1.51.0-windows-amd64. Tuttavia, si sconsiglia l’uso dei punti (.) nei nomi delle directory. È possibile rinominare la directory in rclone-v1-51-win64, per esempio.
- Copiamo i file estratti in C:rclone per evitare i punti nel nome della directory:
cp C:\rclone\rclone-v1.51.0-windows-amd64\*.* C:\rclone\
- Esegui rclone in modalità di configurazione:
.\rclone.exe config
- Il configuratore è attivo come una procedura guidata in modalità riga di comando. È necessario selezionare i parametri richiesti in ogni fase della procedura guidata.
- Tipo n e premi Inserisci per selezionare il Nuova opzione remota.n/s/q> n
- Inserisci il nome del tuo bucket S3:nome> blog-secchio01
- Dopo aver inserito il nome, seleziona il tipo di storage sul cloud da configurare. Tipo 4 per selezionare l’storage sul cloud Amazon S3.Storage> 4
- Scegli il tuo provider S3. Digita 1 per selezionare Amazon Web Services S3.fornitore> 1

- Ottieni le credenziali AWS dal runtime (vero o falso). 1 (false) è utilizzato per impostazione predefinita. Premere Inserisci senza digitare nulla per utilizzare il valore predefinito.env_auth> 1
- Inserisci la tua chiave di accesso AWS:access_key_id> AKIA4SK3HPQ9FLWO8AMB
- Inserisci la tua chiave di accesso segreta:chiave_di_accesso_segreta> esrhLH4m1Da+3fJoU5xet1/ivsZ+Pay73BcSnzcP

- Regione a cui connettersi. UE (Irlanda) eu-west-1 viene utilizzato per il nostro bucket in questo esempio e dovremmo digitare 6.regione> 6

- Endpoint per l’API S3. Lasciare vuoto se si utilizza AWS per utilizzare l’endpoint predefinito per la regione. Premere Inserisci.Punto finale>
- La vincolazione di ubicazione deve essere impostata in modo da corrispondere alla regione. Tipo 6 per selezionare il Regione UE (Irlanda) “eu-west-1”.vincoli_di_posizione> 6
- ACL predefinito utilizzato durante la creazione di bucket e l’archiviazione o la copia di oggetti. Premere Inserisci utilizzare i parametri predefiniti.acl>
- Specificare il algoritmo di crittografia lato server utilizzato quando si archivia questo oggetto in S3. Nel nostro caso la crittografia è disabilitata e dobbiamo digitare 1 (Nessuno).crittografia_lato_server> 1

- Se si utilizza l’ID KMS, è necessario fornire l’ARN della chiave. Poiché la crittografia non viene utilizzata, digitare 1 (Nessuna).sse_kms_key_id> 1
- Selezionare la classe di storage da utilizzare per l’archiviazione di nuovi oggetti in S3. Immettere un valore stringa. L’opzione di classe di storage standard (2) è adatto al nostro caso.classe_di_archiviazione> 2

- Modifica le impostazioni avanzate? (sì/no)sì/no> n
- Controlla la tua configurazione e il tuo tipo y (sì) se tutto è corretto.t/e/d> y

- Tipo q per uscire dalla procedura guidata di configurazione.e/n/d/r/c/s/q> q
- Rclone è ora configurato per funzionare con l’storage sul cloud Amazon S3. Assicurati che le impostazioni di data e ora sul tuo computer Windows siano corrette. In caso contrario, potrebbe verificarsi un errore durante il montaggio di un bucket S3 come unità di rete sul tuo computer Windows: L’ora potrebbe essere impostata in modo errato. La differenza tra l’ora della richiesta e l’ora corrente è troppo grande..
- Esegui rclone nella directory in cui rclone.exe individuare e elencare i bucket disponibili per il tuo account AWS:
.\rclone.exe lsd blog-bucket01:
- È possibile inserire c: clone dir al Percorso variabile d’ambiente. Consente di eseguire rclone da qualsiasi directory senza passare alla directory in cui è memorizzato rclone.exe.
- Come puoi vedere nella schermata sopra, l’accesso allo storage sul cloud Amazon S3 è configurato correttamente e viene visualizzato un elenco di bucket (incluso il blog-secchio01 utilizzato in questo tutorial).
- Installa Cioccolatoso, che è un gestore di pacchetti Windows che può essere utilizzato per installare applicazioni da repository online:
Set-ExecutionPolicy Bypass -Scope Process -Force; `iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) - WinFSP (Windows File System Proxy) è l’analogo Windows di Linux FUSE ed è veloce, stabile e consente di creare file system in modalità utente.Installa WinFSP dai repository Chocolatey:
choco install winfsp -y
- Ora puoi montare il tuo bucket Amazon S3 sul tuo sistema Windows come unità di rete. Montiamo il blog-secchio01 come S:
.\rclone mount blog-bucket01:blog-bucket01/ S: --vfs-cache-mode fullDove il primo “blog-bucket” è il nome del bucket inserito nel primo passaggio della procedura guidata di configurazione di rclone e il secondo “blog-bucket” definito dopo “:” è il nome del bucket Amazon S3 impostato nell’interfaccia web AWS.
- Elenca tutti i dischi e le partizioni collegati:
gdr -PSProvider 'FileSystem' - Controlla il contenuto dell’unità di rete mappata:
ls S: - Il bucket S3 è ora montato come unità di rete (S:). È possibile visualizzare tre file txt memorizzati nel blog-secchio01 nell’archivio di storage sul cloud Amazon S3 utilizzando un’altra istanza di Windows PowerShell o la riga di comando di Windows.

Se Windows dispone di un’interfaccia utente grafica, è possibile utilizzarla per scaricare e caricare file sul proprio storage sul cloud Amazon S3. Se si copia un file utilizzando un’interfaccia Windows (un’interfaccia utente grafica o un’interfaccia a riga di comando), i dati verranno sincronizzati in un attimo e sarà possibile vedere un nuovo file sia nell’interfaccia Windows che nell’interfaccia web AWS.
Se premi Ctrl+C oppure chiudi la finestra CMD o PowerShell in cui rclone è in esecuzione (in quell’istanza CMD o PowerShell viene visualizzato il messaggio “Il clone del servizio è stato avviato”), il bucket Amazon S3 verrà disconnesso dal punto di montaggio (in questo caso S:).
Come automatizzare il montaggio di un bucket S3 all’avvio di Windows
È comodo quando il bucket viene montato automaticamente come unità di rete all’avvio di Windows. Scopriamo come configurare il montaggio automatico del bucket S3 in Windows.
- Crea il rclone-S3.cmd file nel C:rclone directory.
- Aggiungi la stringa al rclone-S3.cmd file:C:rclonerclone.exe mount blog-bucket01:blog-bucket01/ S: –vfs-cache-mode full
- Salva il file CMD. Puoi eseguire questo file CMD invece di digitare manualmente il comando per montare il bucket S3.
- Copia il rclone-S3.cmd file nella cartella di avvio per tutti gli utenti:C:ProgramDataMicrosoftWindowsMenu StartProgrammiAvvio
- In alternativa, è possibile creare un collegamento a C:WindowsSystem32cmd.exe e imposta gli argomenti necessari per montare un bucket S3 nelle impostazioni di destinazione:C:WindowsSystem32cmd.exe /k cd c:rclone & rclone mount blog-bucket01:blog-bucket01/ S: –vfs-cache-mode full

- Quindi aggiungi il collegamento modificato alla cartella di avvio di Windows:C:ProgramDataMicrosoftWindowsMenu StartProgrammiAvvio
C’è un piccolo svantaggio: una finestra della riga di comando con il comando “Il servizio rclone è stato avviatoIl messaggio “Non è possibile eseguire il montaggio del bucket S3” viene visualizzato dopo aver collegato un bucket S3 al computer Windows come unità di rete. È possibile provare a configurare il montaggio automatico del bucket S3 utilizzando lo scheduler di Windows o NSSM, uno strumento gratuito che consente di creare e configurare servizi Windows e il loro avvio automatico.
Montaggio del bucket S3 come file system in macOS
È possibile montare un bucket Amazon S3 su macOS allo stesso modo di Linux. È necessario installare S3FS su macOS e impostare le autorizzazioni e le chiavi Amazon.In questo esempio viene utilizzato macOS 10.15 Catalina. È possibile utilizzare questo principio di configurazione anche nelle versioni più recenti. Il nome del bucket S3 è blog-secchio01, il nome utente macOS è utente1e la directory utilizzata come punto di montaggio per il bucket è /Volumi/s3-bucket/.Esaminiamo la configurazione passo dopo passo.
- Installa fatto in casa, che è un gestore di pacchetti per macOS utilizzato per installare applicazioni da repository software online:
/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)\" - Installa osxfuse:
brew cask install osxfuse - Riavviare il sistema:
sudo shutdown -r now - Installa S3FS:
brew install s3fs - Una volta installato S3FS, imposta la chiave di accesso e la chiave di accesso segreta per il tuo bucket Amazon S3. Puoi definire le chiavi per la sessione corrente se devi montare il bucket una sola volta o se prevedi di montarlo raramente:
export AWSACCESSKEYID=AKIA4SK3HPQ9FLWO8AMBexport AWSSECRETACCESSKEY=esrhLH4m1Da+3fJoU5xet1/ivsZ+Pay73BcSnzP - Se prevedi di utilizzare regolarmente una bucket montata, imposta le tue chiavi AWS nel file di configurazione utilizzato da S3FS per il tuo account utente macOS:
echo AKIA4SK3HPQ9FLWO8AMB:esrhLH4m1Da+3fJoU5xet1/ivsZ+Pay73BcSnzP > ~/.passwd-s3fs - Se disponi di più bucket e chiavi per accedere ai bucket, definiscili nel formato:
echo bucket-name:access-key:secret-key > ~/.passwd-s3fs - Imposta le autorizzazioni corrette per consentire l’accesso in lettura e scrittura solo al proprietario:
chmod 600 ~/.passwd-s3fs - Crea una directory da utilizzare come punto di montaggio per il bucket Amazon S3:
sudo mkdir -p /Volumes/s3-bucket/ - Il tuo account utente deve essere impostato come proprietario della directory creata:
sudo chown user1 /Volumes/s3-bucket/
- Monta la bucket con S3FS:
s3fs blog-bucket01 /Volumes/s3-bucket/ - L’avvertenza di sicurezza macOS viene visualizzata nella finestra di dialogo. Fare clic su Apri Preferenze di Sistema per consentire l’applicazione S3FS e le connessioni correlate.

- Nel Sicurezza & Privacy finestra clicca sul lucchetto per apportare modifiche e poi premi il tasto Consenti pulsante.

- Esegui nuovamente il comando di montaggio:
s3fs blog-bucket01 /Volumes/s3-bucket/ - Viene visualizzato un messaggio di avvertenza a comparsa: Il terminale desidera accedere ai file su un volume di rete. Clicca OK per consentire l’accesso.

- Controllare se il secchio è stato montato:
mount | grep bucket - Controlla il contenuto del secchio:
ls -al /Volumes/s3-bucket/ - Il bucket è stato montato correttamente. È possibile visualizzare, copiare ed eliminare i file nel bucket.

Puoi provare a configurare il montaggio di un bucket S3 al login dell’utente con launchd.
Conclusione
Quando si sa come montare l’storage sul cloud Amazon S3 come file system sui sistemi operativi più diffusi, la condivisione dei file con Amazon S3 diventa più comoda. Un bucket Amazon S3 può essere montato utilizzando S3FS in Linux, macOS e utilizzando rclone o wins3fs in Windows. Automatizzare il processo di copia dei dati nei bucket Amazon S3 dopo averli montati nelle directory locali del sistema operativo è più comodo rispetto all’utilizzo dell’interfaccia web.È possibile copiare i dati su Amazon S3 per creare un backup utilizzando l’interfaccia del sistema operativo. È possibile provare a utilizzare applicazioni di backup dedicate che utilizzano le API AWS per accedere ai bucket S3. NAKIVO Backup & Replication è una soluzione completa per la protezione dei dati con supporto integrato per i bucket S3 come destinazioni di backup. È possibile utilizzare la soluzione per eseguire il backup dei dati in macchine virtuali VMware, macchine virtuali Hyper-V e istanze di Amazon EC2 su Amazon S3.