AWS CLI i HostArena S3: podešavanje i osnovne komande

AWS CLI i HostArena S3: podešavanje i osnovne komande

AWS CLI je zvanični alat komandne linije za rad sa S3 skladištem. Pošto je HostArena S3 storage kompatibilan sa S3 standardom, sa AWS CLI možete otpremati i preuzimati fajlove, praviti skripte za bekap i sinhronizovati foldere. Potrebno je samo da mu kažete koju adresu i koji region da koristi.

Šta vam je potrebno

PodatakVrednostGde ga nalazite
Endpointhttps://s3.hostarena.rsIsti za sve korisnike
RegiongarageObavezno tačno ovako
Bucketvas-bucketHostArena korisnički panel, kod S3 usluge
Access KeyVAS_ACCESS_KEYHostArena korisnički panel, kod S3 usluge
Secret KeyVAS_SECRET_KEYHostArena korisnički panel, kod S3 usluge

Potreban vam je i instaliran AWS CLI (preporučujemo verziju 2). Instalaciju proverite komandom:

aws --version

Podešavanje

  1. Napravite poseban profil hostarena, da ne biste pokvarili eventualna postojeća AWS podešavanja:

    aws configure --profile hostarena

    Program postavlja četiri pitanja. Odgovorite ovako:

    AWS Access Key ID [None]: VAS_ACCESS_KEY
    AWS Secret Access Key [None]: VAS_SECRET_KEY
    Default region name [None]: garage
    Default output format [None]: json
  2. Uključite path-style adrese, što je najpouzdaniji način rada:

    aws configure set s3.addressing_style path --profile hostarena
  3. Svakoj komandi dodajte --profile hostarena i --endpoint-url https://s3.hostarena.rs. Bez adrese AWS CLI pokušava da se poveže na Amazon, a ne na HostArena.

Ako ne želite da ključeve čuvate u fajlu, preskočite aws configure i postavite promenljive okruženja:

export AWS_ACCESS_KEY_ID="VAS_ACCESS_KEY"
export AWS_SECRET_ACCESS_KEY="VAS_SECRET_KEY"
export AWS_DEFAULT_REGION="garage"

Tada u komandama ne navodite --profile, ali --endpoint-url i dalje ostaje.

Osnovne komande

Spisak bucketa i sadržaj bucketa:

aws s3 ls --profile hostarena --endpoint-url https://s3.hostarena.rs
aws s3 ls s3://vas-bucket/ --profile hostarena --endpoint-url https://s3.hostarena.rs

Otpremanje jednog fajla i celog foldera:

aws s3 cp bekap.zip s3://vas-bucket/bekapi/ --profile hostarena --endpoint-url https://s3.hostarena.rs
aws s3 cp ./bekap s3://vas-bucket/bekap/ --recursive --profile hostarena --endpoint-url https://s3.hostarena.rs

Preuzimanje fajla i foldera na računar:

aws s3 cp s3://vas-bucket/bekapi/bekap.zip . --profile hostarena --endpoint-url https://s3.hostarena.rs
aws s3 cp s3://vas-bucket/bekap/ ./vracanje --recursive --profile hostarena --endpoint-url https://s3.hostarena.rs

Sinhronizacija foldera

Komanda sync prenosi samo nove i izmenjene fajlove. Uvek je prvo pokrenite sa --dryrun: tada samo ispisuje šta bi uradila, bez ikakvih izmena.

aws s3 sync ./bekap s3://vas-bucket/bekap/ --dryrun --profile hostarena --endpoint-url https://s3.hostarena.rs
aws s3 sync ./bekap s3://vas-bucket/bekap/ --profile hostarena --endpoint-url https://s3.hostarena.rs

Pažnja: ako dodate opciju --delete, sync briše na odredištu sve fajlove kojih nema u izvoru. Ako zamenite izvor i odredište (aws s3 sync s3://vas-bucket/bekap/ ./bekap), menjate fajlove na svom računaru. Pre prave sinhronizacije proverite ispis sa --dryrun.

Brisanje

aws s3 rm s3://vas-bucket/bekapi/stari.zip --profile hostarena --endpoint-url https://s3.hostarena.rs
aws s3 rm s3://vas-bucket/stari-bekap/ --recursive --dryrun --profile hostarena --endpoint-url https://s3.hostarena.rs

Pažnja: rm --recursive briše sve fajlove pod navedenom putanjom i obrisani fajlovi se ne mogu vratiti. Prvo pokrenite komandu sa --dryrun, pa tek onda bez nje.

Privremeni link za deljenje

Link koji važi ograničeno vreme (ovde jedan sat), bez otvaranja bucketa za javnost:

aws s3 presign s3://vas-bucket/dokument.pdf --expires-in 3600 --profile hostarena --endpoint-url https://s3.hostarena.rs

Provera da radi

Pokrenite aws s3 ls s3://vas-bucket/ sa opcijama iz primera. Ako dobijete spisak fajlova ili prazan odgovor bez greške, veza radi. Za potpunu proveru otpremite mali test fajl, pa ga preuzmite nazad.

Najčešći problemi

AuthorizationHeaderMalformed

Region nije garage. Pokrenite aws configure set region garage --profile hostarena. Region us-east-1 ne radi.

InvalidAccessKeyId ili SignatureDoesNotMatch

Access Key ili Secret Key nisu dobro prepisani. Ponovo pokrenite aws configure --profile hostarena i unesite ključeve iz HostArena korisničkog panela.

Could not connect to the endpoint URL

Proverite da adresa glasi tačno https://s3.hostarena.rs, bez naziva bucketa ispred, i da firewall dozvoljava izlazne HTTPS veze na port 443.

Komanda radi sa Amazon-om, a ne sa HostArena

Zaboravili ste --endpoint-url. Novije verzije AWS CLI (2.13 i novije) dozvoljavaju da adresu upišete trajno u profil: aws configure set endpoint_url https://s3.hostarena.rs --profile hostarena. Tada opciju više ne morate da kucate.

Greška vezana za checksum pri otpremanju

Novije verzije AWS CLI same dodaju kontrolni zbir (checksum) svakom otpremanju. Ako dobijete grešku koja ga pominje, podesite da se šalje samo kada je obavezan:

aws configure set request_checksum_calculation when_required --profile hostarena
aws configure set response_checksum_validation when_required --profile hostarena

Zaključak

Za grafički rad pogledajte Cyberduck, a za automatsku sinhronizaciju i rclone i MinIO Client (mc). Tehnički detalji o adresama i potpisivanju zahteva nalaze se u uputstvu HostArena S3 API: adrese, potpisivanje i kompatibilnost. Nemate S3 uslugu? Pogledajte pakete na stranici HostArena S3 storage. Ako zapne, otvorite tiket u korisničkom panelu.

Tags: , , ,