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
| Podatak | Vrednost | Gde ga nalazite |
|---|---|---|
| Endpoint | https://s3.hostarena.rs | Isti za sve korisnike |
| Region | garage | Obavezno tačno ovako |
| Bucket | vas-bucket | HostArena korisnički panel, kod S3 usluge |
| Access Key | VAS_ACCESS_KEY | HostArena korisnički panel, kod S3 usluge |
| Secret Key | VAS_SECRET_KEY | HostArena korisnički panel, kod S3 usluge |
Potreban vam je i instaliran AWS CLI (preporučujemo verziju 2). Instalaciju proverite komandom:
aws --versionPodešavanje
Napravite poseban profil
hostarena, da ne biste pokvarili eventualna postojeća AWS podešavanja:aws configure --profile hostarenaProgram 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]: jsonUključite path-style adrese, što je najpouzdaniji način rada:
aws configure set s3.addressing_style path --profile hostarenaSvakoj komandi dodajte
--profile hostarenai--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.rsOtpremanje 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.rsPreuzimanje 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.rsSinhronizacija 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.rsPaž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.rsPaž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.rsProvera 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 hostarenaZaključ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.
