AWS S3 is Amazon ‘ s cloud-opslag-dienst, zodat u afzonderlijke bestanden archiveren als objecten in een emmer. U kunt bestanden uploaden vanaf de opdrachtregel op uw Linux-server, of zelfs sync hele mappen naar S3.
Als je gewoon wilt om bestanden te delen tussen EC2 gevallen kunt u gebruik maken van een EFS-volume en monteren rechtstreeks op meerdere servers, het uitsnijden van de “cloud” helemaal. Maar u moet niet gebruiken voor van alles, want het is veel duurder dan de S3, zelfs met weinig Toegang is ingeschakeld.
Limiet S3 Toegang tot een IAM Gebruiker
Uw server waarschijnlijk niet de volledige root toegang tot uw AWS account, dus voordat je ieder soort bestand te synchroniseren, moet u een nieuwe IAM gebruiker naar uw server te gebruiken. Met een IAM gebruiker, kunt u de limiet van uw server alleen het beheren van uw S3 emmers.
Van de IAM Management Console, het maken van een nieuwe gebruiker, en om ‘ Programmatische Toegang.”
U zult worden gevraagd om te kiezen machtigingen voor deze gebruiker. Maak een nieuwe groep toewijzen en de “AmazonS3FullAccess” toestemming.
Na dat, je krijgt een sleutel en een geheime sleutel. Maak een notitie van deze; je zult ze nodig hebben voor authenticatie van uw server.
U kunt ook handmatig toewijzen meer gedetailleerde S3 rechten, zoals toestemming voor het gebruik van een specifieke emmer of alleen om bestanden te uploaden, maar het beperken van de toegang tot het net S3 moet het wel goed in de meeste gevallen.
Bestanden Synchroniseren Met s3cmd
s3cmd is een utiliteitsprogramma dat is ontworpen om te werken met S3 vanaf de commando-regel gemakkelijker. Het is niet een deel van de AWS CLI, dus je moet handmatig installeren van uw distro ‘ s package manager. Voor Debian-gebaseerde systemen als Ubuntu, dat zou worden:
sudo apt-get install s3cmd
Zodra s3cmd is geïnstalleerd, moet u de link naar de IAM gebruiker die u hebt gemaakt voor het beheren van S3. Voer de configuratie met:
s3cmd –configure
U zult worden gevraagd voor de sleutel en een geheime sleutel die de IAM Management Console u heeft gegeven. Plak deze hier. Er zijn een paar meer opties, zoals het wijzigen van de eindpunten voor de S3 of het inschakelen van encryptie, maar laat alle standaard en kies “Y” aan het einde om de configuratie op te slaan.
Om een bestand te uploaden, gebruik:
s3cmd put file s3://emmer
Het vervangen van “emmer” met uw emmer naam. Voor het ophalen van deze bestanden, voer je uit:
s3cmd krijgen s3://emmer/remotefile localfile
En, als u wilt synchroniseren over een hele map, voer je uit:
s3cmd sync-map s3://emmer/
Dit zal kopieer de hele map in een map in de S3. De volgende keer dat u draaien, zal het alleen maar kopiëren van de bestanden die zijn gewijzigd sinds het werd voor het laatst is uitgevoerd. Het zal niet verwijderen van bestanden, tenzij u het met de –delete-verwijderd optie.
s3cmd synchronisatie niet automatisch, dus als u wilt voorkomen dat deze map regelmatig bijgewerkt, moet u deze opdracht uit te voeren regelmatig. U kunt dit automatiseren met cron; Open uw crontab met crontab -e en voeg deze opdracht te beëindigen:
0 0 * * * s3cmd sync-map s3://emmer >/dev/null 2>&1
Dit zal sync “map” te “emmer” een keer per dag. Door de manier, als crontab -e kreeg je vast te zitten in vim, kunt u de standaard tekst editor met export VISUAL=nano; of wat u wilt.
s3cmd heeft veel subcommando ‘ s; u kunt kopiëren tussen de emmers met cp, verplaatsen van bestanden met mv, en zelfs het maken en verwijderen emmers vanaf de commando-regel met mb en rb, respectievelijk. Gebruik s3cmd -h voor een volledige lijst.
Een andere Optie: AWS CLI
Dan s3cmd, er zijn een paar andere commando-regel opties voor het synchroniseren van bestanden naar S3. AWS biedt hun eigen tools met de AWS CLI. Je moet Python 3+, en kan de installatie van de CLI van pip3 met:
pip3 installeren awscli –upgrade –gebruiker
Dit installeert de aws opdracht, die u kunt gebruiken om te communiceren met AWS diensten. U zult moeten configureren op dezelfde manier als s3cmd, wat u kunt doen met:
aws configureren
U zult gevraagd worden om de toegang sleutel en een geheime sleutel voor uw IAM gebruiker.
De syntaxis voor AWS CLI is vergelijkbaar met s3cmd. Om een bestand te uploaden, gebruik:
aws s3 cp-bestand s3://emmer
Synchroniseren van een hele map, gebruikt u:
aws s3 sync-map s3://emmer
U kunt het kopiëren en synchroniseren tussen de emmers met dezelfde opdrachten. U kunt gebruik maken van aws help voor een volledige opdracht lijst, of het lezen van de opdrachten op hun website.
Volledige Back-Ups: Restic, Dubbelhartigheid
Als je wilt om een grote back-ups, kunt u gebruik wilt maken van een ander hulpmiddel in plaats van een eenvoudige synchronisatie utility. Als u de synchronisatie te S3 met s3cmd of de AWS CLI, alle wijzigingen die u hebt aangebracht in het overschrijven van de huidige bestanden. Omdat de belangrijkste zorg van de cloud-opslag van bestanden is meestal niet het falen van schijven, maar het per ongeluk verwijderen zonder toegang tot herziening van de geschiedenis, is dit een probleem.
AWS ondersteunt bestand van versiebeheer, die lost dit probleem enigszins, maar kunt u nog gebruik wilt maken van een meer krachtige back-up-programma voor het verwerken van het zelf, vooral als je aan het doen bent full-schijf back-ups.
Duplicity is een eenvoudig hulpprogramma dat het een back-up van bestanden in de vorm van gecodeerde TEER volumes. Het eerste archief is een complete back-up en vervolgens elke volgende archieven zijn incrementeel, het opslaan van de wijzigingen sinds de laatste archivering.
Dit is zeer efficiënt, maar het terugzetten van een back-up is minder efficiënt, het herstel proces te volgen van de keten van veranderingen om te komen tot de definitieve status van de gegevens. Restic lost dit probleem op door het opslaan van gegevens in ontdubbeld gecodeerd blokken, en blijft een momentopname van elke versie voor restauratie. Op deze manier is de huidige stand van de bestanden is eenvoudig referenceable, en elke wijziging wordt steeds toegankelijk zijn.
Beide instrumenten kunnen worden geconfigureerd om te werken met AWS S3, evenals meerdere andere aanbieders van opslagruimte. Als alternatief, als je gewoon wilt een back-up van EBS op basis van EC2 gevallen kunt u gebruik maken van incrementele EBS-kiekjes’, maar het is duurder dan een back-up handmatig te S3.