Jak połączyć się z magazynem S3 za pomocą AWS CLI?
Magazyn obiektowy S3 w chmurze kru.pl jest zgodny z API Amazon S3, dzięki czemu możesz zarządzać nim za pomocą oficjalnego narzędzia AWS CLI — bezpośrednio z wiersza poleceń. W tym artykule pokażemy, jak zainstalować i skonfigurować AWS CLI oraz jak wykonywać podstawowe operacje na bucketach i plikach.
Zanim zaczniesz
Będziesz potrzebować:
- włączonego dostępu do magazynu S3 — jak to zrobić, opisujemy w artykule Jak włączyć dostęp do magazynu S3 (Object Storage)?,
- pary kluczy dostępowych (Access Key ID i Secret Access Key) wygenerowanej w panelu,
- adresu endpointu S3 — znajdziesz go na ekranie S3 w panelu klienta.
Krok 1 — Zainstaluj AWS CLI
Zainstaluj narzędzie AWS CLI zgodnie z oficjalną dokumentacją Amazon: Installing the AWS CLI. Instalatory dostępne są dla systemów Linux, macOS i Windows.
Po instalacji sprawdź, czy narzędzie działa:
aws --version
Krok 2 — Skonfiguruj dane dostępowe
Uruchom konfigurator poleceniem:
aws configure
Narzędzie poprosi kolejno o cztery wartości:
- AWS Access Key ID — wklej identyfikator klucza z panelu,
- AWS Secret Access Key — wklej tajny klucz z panelu,
- Default region name — wpisz dowolną wartość, np.
us-east-1, - Default output format — np.
json(lub pozostaw puste).
Wskazówka: parametr regionu nie jest brany pod uwagę podczas wysyłania żądań do magazynu S3 w chmurze kru.pl — routing oparty na regionach nie jest używany, więc możesz podać tu dowolną wartość.
Krok 3 — Wskaż adres endpointu
AWS CLI domyślnie łączy się z serwerami Amazon, dlatego przy każdym poleceniu musisz wskazać endpoint magazynu S3 kru.pl za pomocą parametru --endpoint-url. Aby nie wpisywać go za każdym razem, utwórz alias (Linux/macOS):
alias aws-kru="aws --endpoint-url https://<adres-endpointu>"
W miejsce <adres-endpointu> wstaw adres DNS endpointu S3 widoczny w panelu. Aby alias był dostępny po ponownym uruchomieniu terminala, dodaj powyższą linię do pliku ~/.bashrc lub ~/.zshrc.
Sprawdź połączenie, wyświetlając listę bucketów:
aws-kru s3 ls
Jeśli polecenie wykona się bez błędu (nawet zwracając pustą listę), konfiguracja jest poprawna.
Krok 4 — Operacje na bucketach
Utworzenie nowego bucketa:
aws-kru s3 mb s3://moj-bucket
Ważne: nazwa bucketa musi być zgodna z konwencją nazewnictwa DNS — używaj małych liter, cyfr i myślników, bez spacji i znaków specjalnych.
Wyświetlenie listy wszystkich bucketów:
aws-kru s3 ls
Usunięcie bucketa (bucket musi być pusty):
aws-kru s3 rb s3://moj-bucket
Krok 5 — Operacje na plikach (obiektach)
Przesłanie pliku do bucketa:
aws-kru s3 cp plik s3://moj-bucket
Wyświetlenie zawartości bucketa:
aws-kru s3 ls s3://moj-bucket
Pobranie pliku z bucketa (np. zapis obiektu plik1 pod nazwą plik2):
aws-kru s3 cp s3://moj-bucket/plik1 plik2
Usunięcie pliku z bucketa:
aws-kru s3 rm s3://moj-bucket/plik1
Co dalej?
Masz już w pełni działające połączenie z magazynem S3 przez AWS CLI. Te same dane dostępowe (klucze i endpoint) możesz wykorzystać w innych narzędziach i bibliotekach zgodnych z S3, np. s3cmd, rclone, Cyberduck czy SDK dla języków programowania — świetnie sprawdzą się m.in. do automatycznych kopii zapasowych.
W razie pytań lub problemów skontaktuj się z nami: bok@kru.pl.