Blog

Co to Amazon S3 i jak z niego korzystać?

25.04.2023
pan serwer Łukasz Kwaśniewicz
Udostępnij

AWS oferuje szeroką gamę możliwości. Na początek jednak trzeba wiedzieć jak z nich korzystać. Jedną z podstawowych usług w ofercie jest Amazon S3. Co to za usługa? Dowiesz się dzięki lekturze tego artykułu.

Czym jest usługa S3?

O tym, czym jest Amazon S3 przeczytać możesz nawet w Wikipedii. W artykule jednak podejdę do tematu od strony praktycznej i skupię się na najbardziej przydatnych funkcjonalnościach usługi oferowanej przez Amazon. S3 to skrót od Simple Storage Service i jest to usługa pamięci masowej oferowana przez Amazon Web Services. Głównym zadaniem tego rozwiązania jest możliwość przechowywania i łatwego dostępu do dowolnej ilości danych. Amazon Simple Storage Service, jest możliwy do wykorzystania w sposób samodzielny, we współpracy z innymi usługami Amazon Web Services oraz daje możliwość współpracy z programami firm trzecich.

Najczęściej wykorzystuje się go do:

  • Analizy Big Data
  • Backupu i archiwizacji
  • Przechowywania i dystrybucji contentu
  • Disaster Recovery
  • Mobile applications
  • Hostingu statycznych plików (np. zdjęcia)

Amazon S3 – kluczowe pojęcia

Warto zapoznać się z kluczowymi pojęciami, które w artykule są często wykorzystywane do opisów działania Amazon Simple Storage Service (Amazon S3).

Najważniejsze sformułowania:

Bucket – jest to rodzaj folderu, w którym przechowywane są obiekty. Jego rolą jest m.in. organizowanie przestrzeni w ramach S3, jak i nadawanie do niego dostępów.
Obiekty – w bucketach przechowywane są pliki, które nazywajmy obiektami.
Klucz – o kluczu mówimy w przypadku unikalnego identyfikatora obiektu w ramach bucketu. W Simple Storage Service Amazon, każdy obiekt można zidentyfikować po kombinacji nazwy bucketu, klucza oraz w formie opcjonalnej, id wersji danego obiektu.
Region – jest geograficzną lokalizacją przechowywania danych przez Amazon. Na dany moment, takich lokalizacji jest 14. To jaki wybierzemy region jest bardzo istotne, gdyż ma on wpływ m.in. na opóźnienia w przesyłaniu danych oraz koszty tej usługi.
Availability Zone (AZ) – jest wyizolowaną lokalizacją w ramach jednego regiony Data Center.

Zalety

Teraz wiesz czym jest Amazon S3 i w jaki sposób możesz go użyć w swoim biznesie. Znasz również kluczowe pojęcia, które ułatwiają korzystanie z tej usługi. Pewnie zastanawiasz się, co czyni to rozwiązanie wyjątkowym i jakie są jego główne korzyści?

Jest ich wiele. W moim odczuciu najważniejszymi są:

  • Natychmiastowy start – Nie musisz martwić się zakupem i konfiguracją infrastruktury.
  • Nieograniczona powierzchnia – W Amazon S3 Twoja przestrzeń dyskowa praktycznie nie ma ograniczeń. Nie ma dzięki temu obawy przed sytuacją, w której mogłoby jej zabraknąć. Pilnować powinnismy jedynie wielkości pojedynczego obiektu, która wynosi 5 TB.
  • Skalowalność – Nie zgaduj jak dużego dysku będziesz potrzebował! Dzięki usłudze Amazon S3 nie ma potrzeby deklarowania, jaka powierzchnia będzie wykorzystywana. Umieszczasz ilość danych jaka jest ci potrzebna, bez obaw o brak miejsca na dysku.
  • Koszty – Dzięki usłudze Amazona masz możliwość płacenia tylko za to, co faktycznie wykorzystasz. Aktualny Amazon S3 – znajdziesz tutaj.
  • Trwałość – 99,999999999% to poziom, na którym Amazon gwarantuje trwałość danych. Możesz mieć dzięki temu pewność, że jeśli umieścisz dane na Amazon S3, są one bezpieczne i rzeczywiście się tam znajdują.
  • Wysoka dostępność – 99,99% – poziom gwarantowany przez AWS. Jest ona mierzona dostępem do danych wtedy, kiedy jest Ci to potrzebne.
  • Dostęp na różne sposoby – W zależności od potrzeb, możesz uzyskać dostęp do swoich danych przez:
    – konsolę AWS,
    – SDK,
    – API,
    – CLI.
  • Bezpieczeństwo – W jaki sposób szyfrowany jest transfer? Stosuje się do tego SSL. Obiekty zabezpiecza się na kilka sposobów, możemy zrobić to za pomocą popularnego SSE, który jest automatycznym szyfrowaniem po stronie serwera (256 bitów) przy zapisie i odczycie danych.

Amazon S3 – porady

Może zastanawiasz się na co zwracać uwagę tworząc bucket w Amazon S3? W jaki sposób wykorzystać jego możliwości? Dzięki opcji konfiguracji bucket’a, znajdziesz kilka ciekawych porad, które opiszemy poniżej.

Jednym z ciekawszych rozwiązań w Amazon S3 jest ustawienie Lifecyle Rules. Dzięki nim możesz automatycznie usuwać obiekty lub je archiwizować. Tworząc bucket możesz tak go skonfigurować, aby obiekty które się w nim znajdują, po pewnym czasie się kasowały.

Jeśli nie masz potrzeby ich kasowania, a jednocześnie z nich nie korzystasz, dobrą opcją jest archiwizacja. AWS pozwala ustawić regułę przenoszącą dane do usługi Amazon Glacier. Czemu warto przenieść dane i nie trzymać wszystkich obiektów na Amazon S3? Odpowiedź to – cena. Glacier to najtańsze rozwiązanie storagowe oferowane przez Amazona. Wybierając tę usługę masz możliwość przechowywania w niej danych dostępnych na żądanie. Uzyskasz do nich dostęp już po ok. 3-5h, po złożeniu odpowiedniej prośby.

Umieszczając obiekty w buckecie, możesz wybrać ich klasę. Decydując się na klasę standardową, gwarantowana trwałość i dostępność będzie na poziomach o których wspomniałem wcześniej (odpowiednio 99,999999999% i 99,99%). Możemy również zdecydować się na rozwiązanie o nazwie reduced redundancy. Ta klasa oferuje niższy poziomy dostępności i trwałości, ale jest ona tańszym rozwiązaniem przechowywania danych, niż w klasie standardowej. Jeszcze tańszym rozwiązaniem jest wspomniany powyżej Amazon Glacier.

Decydując się na klasę standardową AWS, domyślnie nasze dane zapiszą się w minimum 3 AZ. Co oznacza, że będą one przechowywane w minimum 3 lokalizacjach. W wypadku ewentualnej niedostępności jednego z nich, nasze zapytanie zostanie automatycznie przekierowane do innego Availability Zone, w ten sposób zapewniając stały dostęp do danych.

Istnieje także możliwość, aby przechowywać wszystkie wersje danego obiektu. Umożliwia to łatwe odzyskania danych w przypadku ich nieumyślnego nadpisania lub usunięcia.

Chcesz ograniczyć dostęp do bucketu lub obiektu? Możesz to skonfigurować. Określ politykę dostępu na poziomie bucketu albo ustawiając uprawnienia w ramach usługi IAM (służącej do zarządzania kontami użytkowników w AWS). W ten sposób zdecydujesz, kto i w jakim zakresie ma dostęp do przechowywanych przez Ciebie danych.

Są to jedynie wybrane możliwości Amazon S3. Jest ich oczywiście znacznie więcej. AWS daje nam możliwość wyboru, tego jak będzie ostatecznie wyglądał storage, w uzależnieniu od Twoich potrzeb.

Jak założyć Bucket?

Utworzenie bucketu nie należy do trudnych zadań i wystarczy kilka kliknięć, aby cieszyć się jego możliwościami. Na wstępie pokażę Ci jak prosto stworzyć bucket w AWS. Zanim jednak zaczniemy, zadbaj o konto Amazon Web Services, które jest niezbędne do przeprowadzenia tej operacji. Utworzysz je wchodząc na stronę AWS i klikając w prawym górnym rogu strony aws.amazon.com

Rys. 1

Jeśli przeszedłeś już ten proces i założyłeś konto, w widoku AWS Management Console przejdź do działu „Storage”, a następnie wybierz zakładkę S3.

Rys. 2

Po przejściu na podstronę zobaczysz panel zarządzania Twoim Amazon S3. Jeśli dopiero założyłeś konto, tabela w widoku będzie pusta. Aby założyć bucket, kliknij przycisk ”Create bucket”.

Rys. 3

Nazwa i region

Nazwij Bucket unikalną, niepowtarzalną nazwą w skali całej infrastruktury AWS, nie tylko Twojego konta. W późniejszych etapach nie możesz już jej zmienić, dlatego dobrze przemyśl swój wybór. Dobrą praktyką jest umieszczenie w nazwie odniesienia do tego co będziemy znajdowało się wewnątrz.

W polu region wybierz ten, odpowiedni dla swoich wymagań. Jakie dane wybrać w danym regionie? Jeśli działasz na terenie Europy i zależy Ci na szybkości najlepiej niech będzie to Frankfurt (eu-central-1,) Irlandia(eu-west-1) albo Londyn (eu-west-2). Jeśli ważniejsza jest dla Ciebie cena, lepiej wybrać region w USA, np. N.Virginia (us-east). Po wykonaniu tych czynności, można by było zakończyć proces i utworzyć bucket, wybierając opcję „Create”. Nie rób tego jeszcze. Poniżej pokażemy Ci konfigurację zaawansowaną.

Rys. 4

Istnieje możliwość, skorzystania z kreatora zaawansowanego, przez którego konfiguracje teraz wspólnie przejdziemy.  Zamiast przycisku „Create” kliknij „Next”. Powinieneś zobaczyć następujący widok :

Rys. 5

Za co odpowiadają poszczególne zakładki?

  1. Versioning – Dzięki tej opcji, masz możliwość trzymania wielu wersji tego samego pliku w buckecie. Przyda się to jako zabezpieczenie plików przed ich przypadkowym nadpisaniem lub usunięciem.
  2. Server access logging – Dzięki niemu możesz śledzić żądania dostępu. Zasady dostępu umożliwiają wybór informacji, które mają dla nas wysoki priorytet. Uruchomienie tej opcji pozwala określić żądającego, nazwę bucketu, czas żądania, żądaną akcję, status odpowiedzi oraz ewentualny kod błędu. Funkcja ta, znajduje zastosowanie przy audytach bezpieczeństwa i dostępów oraz przy kontroli wydatków.
  3. Tags – Monitorują Twoje aktualne koszty w stosunku do kosztów założonych.
  4. Object – level logging (funkcja dodatkowo płatna). Korzystając z usługi Cloudtrail, pozwala śledzić wcześniej określone wydarzenia związane z bucketem ( t.j. usunięcie z niego plików o określonej nazwie).
  5. Default encryption – Oferuje możliwość ustawienia szyfrowania domyślnego, tak aby wszystkie obiekty przechowywane w buckecie były szyfrowane.

Po wybraniu preferowanych ustawień, możesz przejść do kolejnego kroku klikając „Next”.

Uprawnienia

Ta zakładka służy do nadawania uprawnień (uprawnienia publiczne lub konkretnym osobom) do umieszczenia i usuwania obiektów w buckecie, jak i do ich odczytu i nadpisywania. To jakie dostępy nadasz, zależy od ciebie.

Rys. 6

Gdy skonfigurujesz uprawnienia odpowiednio do Twoich potrzeb, kliknij przycisk „Next”.

Na końcu procesu, pojawi się podsumowanie ze wszystkimi wybranymi opcjami. Jeśli jednak chcesz zdecydować się coś zmienić na tym etapie, możesz to zrobić za pomocą przycisku ”Edit”. Jeśli natomiast wszystko się zgadza, kliknij przycisk „Create”.
Podczas konfiguracji, nie wybierałem dodatkowych funkcjonalności. Mój ekran wygląda następująco:

Rys. 7

Amazon S3 – zakończenie

W powyższym artykule została przybliżona usługa Amazon S3. Po jego przeczytaniu wiesz już, do czego służy i jakie są jej zalety. Znasz również przykłady ciekawych konfiguracji, wiesz jak utworzyć pierwszy bucket w Amazon S3.

Oczywiście to tylko niewielki ułamek tego, co oferuje Amazon Web Services. Amazon S3 można użyć również do hostowania statycznej strony internetowej. Prawdziwy ocean możliwości, które daje nam Amazon, to możliwość łączenia usług. Do tego potrzebna jest jednak dobra znajomość oferty AWS i obszerne doświadczenia w tym zakresie. Jeśli więc potrzebujesz pomocy w konfiguracji Amazon Web Services, skontaktuj się z nami. A może zastanawiałeś się jak postawić stronę internetową na Amazon S3? Nasi certyfikowani eksperci są gotowi Ci pomóc. Po więcej informacji kieruj się tutaj.

Kontakt

Masz pytania? Skontaktuj się z nami