Hoe Monteer een S3 Bucket Lokaal op Linux

0
160

In veel opzichten, S3 emmers handelen zoals cloud harde schijven, maar alleen “object niveau-opslag,” niet blokkeren niveau-opslag als EBS of EFS. Echter, het is mogelijk om te monteren een emmer als een bestandssysteem, en toegang tot het direct door het lezen en schrijven van bestanden.

De Voordelen en Beperkingen van de S3 heeft een Bestandssysteem (filesystem)

De magie die maakt dit hele setup te laten werken is een utility genaamd s3fs-zekering. ZEKERING staat voor Filesystem in Userspace, en het creëert een gemonteerd virtuele bestandssysteem. s3fs interfaces met S3, en ondersteunt een grote subset van POSIX, zoals lezen, schrijven, het maken van mappen en het instellen van metagegevens van bestanden.

Een van de grote voordelen van het gebruik van de S3 dan de traditionele opslag is dat het zeer effectief bij het opslaan van individuele objecten op lange termijn, met geen limiet op het totaal van de emmer grootte. U kunt het opslaan van 10 foto ‘s of 10 miljoen foto’ s in S3, en zal grotendeels hetzelfde. In toepassingen waar u behoefte aan een grote (en goedkope) schijf, S3 gevoel, en als de applicatie die u integreren, wil de toegang tot het bestand, dit is een goede manier om de brug de twee.

Natuurlijk, het is niet zonder beperkingen. Terwijl het werkt vrij relatief aan een S3 API in termen van prestaties bij het opslaan en ophalen van hele bestanden, is het natuurlijk niet vervangen door de veel snellere netwerk aangesloten block storage geheel. Er is een reden deze configuratie wordt niet officieel ondersteund door AWS—je in de gelijktijdigheid van problemen met meerdere klanten gebruik van bestanden, vooral als je klanten in verschillende regio ‘ s toegang verkrijgen tot dezelfde emmer. Natuurlijk, de S3 heeft ook deze beperking, en het maakt niet voorkomen dat u van het hebben van meerdere opdrachtgevers is aangesloten, maar het is duidelijker wanneer ZEKERING lijkt te geven je direct toegang. Het is niet, en je hebt te houden met deze beperkingen in het achterhoofd.

AWS heeft een service gelijk aan deze—Storage Gateway, die kan fungeren als een lokale NAS en biedt lokale block storage ondersteund door S3. Echter, dit is meer van een enterprise-oplossing, en het vereist een hele fysieke server implementeren van een VMWare-image aan. s3fs, aan de andere kant, is een eenvoudige single server-oplossing, hoewel het niet veel caching.

Dus, als u kunt converteren van applicaties naar het gebruik van de S3 API in plaats van een ZEKERING moet u dat doen in de plaats. Maar, als je in orde bent met een beetje een hacky oplossing, s3fs nuttig kan zijn.

Het opzetten van s3fs-zekering

Vergeleken met hoe hacky het is, het is verrassend eenvoudig in te stellen. s3fs-zekering is verkrijgbaar bij de meeste package managers, al is het alleen maar kan worden genoemd s3fs op sommige systemen. Voor Debian-gebaseerde systemen als Ubuntu, dat zou worden:

sudo apt te installeren s3fs

U nodig hebt voor het maken van een IAM gebruiker, en geven toestemming om toegang te krijgen tot de emmer die u wilt activeren. Aan het einde krijg je een geheime sleutel:

U kunt plak deze in de norm AWS referenties bestand ~/.aws/referenties, maar als je gebruik wilt maken van een andere toets zijn, s3fs ondersteunt een aangepaste wachtwoord bestand. Plak de toegang tot sleutel-ID en het geheim in /etc/passwd-s3fs , in het volgende formaat:

echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > /etc/passwd-s3fs

En zorg ervoor dat de permissies op dit keyfile correct zijn ingesteld, of het zal klagen:

chmod 600 /etc/passwd-s3fs

Vervolgens monteert u de emmer met de volgende opdracht:

s3fs emmer-naam /mnt/emmer-naam

Als dat niet werkt, kunt u de debug output met een paar extra vlaggen:

-o dbglevel=info -f -o curldbg

Als u wilt dat deze te mounten bij het opstarten, moet u het volgende toevoegen aan uw /etc/fstab:

s3fs#emmer-naam /mnt/emmer-naam zekering _netdev,allow_other,umask=227,uid=33,gid=33,use_cache=/root/cache 0 0