Installer S3fs sur Linux
Comment installer S3fs et monter le compartiment S3 sur un serveur Linux
S3fs est un outil Linux qui peut être géré pour monter vos compartiments S3 sur le système de fichiers Ubuntu et utiliser vos compartiments S3 comme lecteur réseau. S3fs est un système de fichiers basé sur des fusibles soutenu par Amazon S3. Il vous permet de monter un compartiment S3 et de le faire apparaître comme stockage local sur un serveur. Évidemment, ne vous attendez pas aux mêmes performances qu'un disque local, mais c'est un excellent moyen d'ajouter un stockage illimité à un prix raisonnable.
Dans ce didacticiel, vous apprendrez à installer S3fs et à monter un compartiment S3 sur Ubuntu. Les commandes des autres versions de Linux seront différentes.
Conditions
- Compte AWS. Créez votre propre compte AWS
- Accès en ligne de commande avec un utilisateur disposant du privilège sudo.
Étape 1. Installez S3fs sur
Ouvrez la console du terminal sur votre système et SSH à distance sur votre serveur EC2 Ubuntu. Mettez à jour votre référentiel système, exécutez la commande.
Une fois la mise à jour de l'installation terminée, tapez la commande ci-dessous pour installer S3fs sur votre système.
sudo apt-get update
sudo apt install s3fs awscli -y
Étape 2. Créer le compartiment S3 et configurer l'accès
Dans la console AWS, créez un nouveau compartiment S3. Nous nommerons le nôtre "MyS3Bucket" mais choisissez votre propre nom.
Dans la console IAM, créez un nouvel utilisateur, et sélectionnez " Access key - Programmatic access ", assurez-vous de télécharger l'ID de la clé d'accès et la clé secrète. Créez une nouvelle stratégie IAM accordant à cet utilisateur l'accès à ce compartiment (voir l'exemple ci-dessous) et attachez-la à votre utilisateur.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::MyS3Bucket"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": ["arn:aws:s3:::MyS3Bucket/*"]
}
]
}
Étape 3. Créez le fichier d'informations d'identification S3fs
Revenez à la console du serveur et créez un fichier pour gérer votre ID d'accès utilisateur et votre clé secrète IAM, utilisez la commande (en remplaçant ACCESS_KEY_ID et SECRET_ACCESS_KEY par la valeur de l'étape précédente).
Vous devez également vous assurer de sécuriser les informations d'identification du fichier en définissant les autorisations d'accès appropriées.
Enfin, nous allons également créer un répertoire de point de montage, nous appellerons le nôtre "sauvegarde":
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > /home/ubuntu/.s3fs-creds
chmod 600 /home/ubuntu/.s3fs-creds
mkdir /home/ubuntu/backup
Étape 4. Monter automatiquement S3FS dans Fstab
Afin que le disque soit monté à chaque fois que vous redémarrez le serveur, il est recommandé d'ajouter une entrée au fichier fstab. Soyez prudent lorsque vous éditez ce fichier, car des modifications accidentelles de l'entrée de volume de rood dans ce fichier empêcheront votre serveur de démarrer.
Modifiez le fichier fstab et ajoutez l'entrée ci-dessous à la fin de ce fichier, en remplaçant MyS3Bucket par le nom de votre bucket :
sudo nano /etc/fstab
...
s3fs#MyS3Bucket /home/ubuntu/backup fuse _netdev,allow_other,passwd_file=/home/ubuntu/.s3fs-creds 0 0
Étape 5. Montez le lecteur et testez le téléchargement des fichiers
Ouvrez le répertoire du point de montage, tapez la commande :
cd /home/ubuntu/s3_uploadsCopy
Et créez des fichiers factices à l'aide de la commande touch.
sudo mount /home/ubuntu/backup
df -h
touch /home/ubuntu/backup/file{1..10}.txt
ls -al /home/ubuntu/backup
Les commandes précédentes créeront quelques fichiers vides dans ce répertoire. Pour vérifier que les fichiers ont bien été créés dans S3, utilisez la console AWS pour afficher les fichiers via la console S3.
Consultez les journaux système pour résoudre les problèmes potentiels si le lecteur ne s'est pas monté. Vous pouvez également rencontrer des problèmes d'autorisations, consultez cet article sur la configuration des autorisations par défaut : Plex Media Server .
Quelques commandes supplémentaires utiles :
#Display the system logs
tail -f /var/log/syslog
#Dismount the drive
sudo umount /home/ubuntu/backup