Zapowiedź nowej klasy wysokowydajnej pamięci masowej Amazon S3 Express One Zone

6 lutego 2024

Nowa klasa pamięci masowej Amazon S3 Express One Zone została zaprojektowana tak, aby zapewniać do 10 razy lepszą wydajność niż klasa pamięci S3 Standard, jednocześnie obsługując setki tysięcy żądań na sekundę ze stałym jednocyfrowym opóźnieniem milisekundowym, dzięki czemu doskonale nadaje się do najczęściej używanych dostępnych danych i najbardziej wymagających aplikacji.

Obiekty są przechowywane i replikowane na specjalnie zbudowanym sprzęcie w jednej strefie dostępności AWS, co pozwala na kolokację zasobów pamięci masowej i obliczeniowych (Amazon EC2, Amazon ECS i Amazon EKS) w celu dalszego zmniejszenia opóźnień.

Amazon S3 Express One Zone

Dzięki bardzo niskim opóźnieniom między mocą obliczeniową a pamięcią masową, klasa pamięci masowej Amazon S3 Express One Zone może pomóc w znacznym skróceniu czasu działania aplikacji intensywnie przetwarzających dane. Dotyczy to zwłaszcza tych, które korzystają z setek lub tysięcy równoległych węzłów obliczeniowych do przetwarzania dużych ilości danych dla celów szkolenia AI/ML, modelowania finansowego, przetwarzania multimediów, umieszczania reklam w czasie rzeczywistym, obliczeń o wysokiej wydajności i tak dalej. Aplikacje te zazwyczaj przechowują dane przez stosunkowo krótki okres, ale w tym czasie uzyskują do nich bardzo częsty dostęp.

Nowa klasa pamięci może obsługiwać obiekty dowolnej wielkości, ale jest szczególnie przydatna w przypadku mniejszych obiektów. Dzieje się tak, ponieważ w przypadku mniejszych obiektów czas do pierwszego bajtu jest bardzo zbliżony do czasu do ostatniego bajtu. We wszystkich systemach pamięci masowej przesyłanie strumieniowe większych obiektów trwa dłużej, ponieważ podczas przesyłania jest więcej danych do pobrania, dlatego opóźnienie przechowywania ma mniejszy wpływ na całkowity czas odczytu obiektu. W rezultacie mniejsze obiekty uzyskują ogromne korzyści w postaci mniejszych opóźnień w przechowywaniu w porównaniu z dużymi obiektami. Ze względu na stałe, bardzo niskie opóźnienia S3 Express One Zone, małe obiekty można odczytać nawet 10 razy szybciej w porównaniu do standardu S3.

Niezwykle niskie opóźnienia zapewniane przez Amazon S3 Express One Zone w połączeniu z kosztami żądań niższymi o 50% w porównaniu z klasą pamięci masowej S3 Standard oznaczają, że Twoje zasoby obliczeniowe Spot i On-Demand są wykorzystywane efektywniej i można je wcześniej wyłączyć, co prowadzi do ogólnego obniżenia kosztów przetwarzania.

Każdy segment katalogu Amazon S3 Express One Zone istnieje w jednej wybranej strefie Availability Zone i można uzyskać do niego dostęp za pomocą zwykłego zestawu funkcji API S3: CreateBucket, PutObject, GetObject, ListObjectsV2 i tak dalej. Zasobniki obsługują także starannie dobrany zestaw funkcji S3, w tym byte-range fetches, multi-part upload, multi-part copy, presigned URLs i narzędzie Access Analyzer for S3. Możesz przesyłać obiekty bezpośrednio, pisać kod używający CopyObjectlub używać S3 Batch Operations.

Aby zmniejszyć opóźnienia i uczynić tę klasę pamięci tak wydajną i skalowalną, jak to tylko możliwe, AWS wprowadza nowy typ zasobnika, nowy model uwierzytelniania i konwencję nazewnictwa zasobników:

  • Nowy typ zasobnika – nowe zasobniki katalogów są specyficzne dla tej klasy pamięci masowej i obsługują setki tysięcy żądań na sekundę. Mają hierarchiczną przestrzeń nazw i przechowują nazwy kluczy obiektów w sposób podobny do katalogu. Separatorem ścieżki musi być „/”, a wszelkie przedrostki podawane do ListObjectsV2 muszą kończyć się separatorem. Ponadto operacje zwracają wyniki bez ich uprzedniego sortowania, więc nie można odzyskiwać jako „start after”.
  • Nowy model uwierzytelniania – nowa funkcja CreateSession zwraca token sesji, który zapewnia dostęp do określonego zasobnika przez pięć minut. Musisz uwzględnić ten token w żądaniach kierowanych do innych funkcji API S3, które działają na zasobniku lub znajdujących się w nim obiektach, z wyjątkiem obiektu CopyObject, który wymaga poświadczeń IAM. Najnowsze wersje zestawów AWS SDK automatycznie obsługują tworzenie sesji.
  • Nazewnictwo zasobników – nazwy segmentów katalogów muszą być unikalne w obrębie regionu AWS i określać Availability Zone ID w specjalnie utworzonym sufiksie. Jeśli przykładowa podstawowa nazwa zasobnika to jbarr i istnieje w Strefie dostępności use1-az5 (Strefa dostępności 5 w regionie wschodnich Stanów Zjednoczonych (płn. Wirginia), nazwa, którą poda się do CreateBucket będzie jbarr--use1-az5--x- s3. Chociaż zasobnik znajduje się w określonej Availability Zone, jest dostępny z innych stref w regionie i nie obowiązują opłaty za transfer danych w przypadku żądań z zasobów obliczeniowych w jednej Availability Zone do zasobników katalogów w innej Availability Zone w tym samym regionie.

Amazon S3 Express One Zone w akcji

Pora wykorzystać tę nową klasę pamięci. Autorzy skupią się na wierszu poleceń, ale dostępny jest także dostęp do AWS Management Console i API.

Instancja EC2 działa w wybranej strefie dostępności us-east-1f. Autor używa jq do mapowania tej wartości na Availability Zone ID:

$ aws ec2 describe-availability-zones --output json | \
  jq -r  '.AvailabilityZones[] | select(.ZoneName == "us-east-1f") | .ZoneId'
use1-az5

Kolejny krok to tworzenie konfiguracji zasobnika (s3express-bucket-config.json) i dołączenie identyfikatora:

{
        "Location" :
        {
                "Type" : "AvailabilityZone",
                "Name" : "use1-az5"
        },
        "Bucket":
        {
                "DataRedundancy" : "SingleAvailabilityZone",
                "Type"           : "Directory"
        }
}

Po zainstalowaniu najnowszej wersji AWS Command Line Interface (AWS CLI) należy utworzyć katalog:

$ aws s3api create-bucket --bucket jbarr--use1-az5--x-s3 \
  --create-bucket-configuration file://s3express-bucket-config.json \
  --region us-east-1
-------------------------------------------------------------------------------------------
|                                       CreateBucket                                      |
+----------+------------------------------------------------------------------------------+
|  Location|  https://jbarr--use1-az5--x-s3.s3express-use1-az5.us-east-1.amazonaws.com/   |
+----------+------------------------------------------------------------------------------+

Następnie można jak zwykle użyć zasobnika katalogów jako miejsca docelowego dla innych poleceń CLI (drugi aws to katalog, w którym rozpakowano CLI AWS):

$ aws s3 cp aws s3://jbarr--use1-az5--x-s3 --recursive

Kiedy wyświetlana jest zawartość zasobnika katalogów, można zauważyć, że StorageClass to EXPRESS_ONEZONE:

$ aws s3api list-objects-v2 --bucket jbarr--use1-az5--x-s3 --output json | \
  jq -r '.Contents[] | {Key: .Key, StorageClass: .StorageClass}'
...
{
  "Key": "install",
  "StorageClass": "EXPRESS_ONEZONE"
}
...

Konsola zarządzająca dla S3 wyświetla zasobniki ogólnego przeznaczenia i zasobniki katalogów na oddzielnych zakładkach:

Konsola zarządzająca dla S3 wyświetla zasobniki ogólnego przeznaczenia i zasobniki katalogów na oddzielnych zakładkach:

Możesz zaimportować zawartość istniejącego zasobnika (lub poprzedzonego podzbioru zawartości) do zasobnika katalogu za pomocą przycisku Import, jak pokazano powyżej. Wybierz zasobnik źródłowy, kliknij Import i wprowadź parametry, które zostaną użyte do wygenerowania spisu zasobnika źródłowego oraz do utworzenia zadania S3 Batch Operations.

Możesz zaimportować zawartość istniejącego zasobnika (lub poprzedzonego podzbioru zawartości) do zasobnika katalogu za pomocą przycisku Import, jak pokazano powyżej. Wybierz zasobnik źródłowy, kliknij Import i wprowadź parametry, które zostaną użyte do wygenerowania spisu zasobnika źródłowego oraz do utworzenia zadania S3 Batch Operations.

Zadanie zostaje utworzone i rozpoczynają się czynności wykonawcze:

Zadanie zostaje utworzone i rozpoczynają się czynności wykonawcze:

Warto wiedzieć

Oto kilka istotnych rzeczy, które warto wiedzieć o tej nowej klasie pamięci masowej S3:

  • Regiony – usługa Amazon S3 Express One Zone jest dostępna w regionach wschodnich Stanów Zjednoczonych (płn. Wirginia), zachodnich Stanów Zjednoczonych (Oregon), Azji i Pacyfiku (Tokio) oraz Europy (Sztokholm). Z czasem planuje się rozszerzyć usługę na pozostałe obszary.
  • Inne usługi AWS – możesz używać Amazon S3 Express One Zone z innymi usługami AWS, w tym Amazon SageMaker Model Training, Amazon Athena, Amazon EMR i AWS Glue Data Catalog, aby przyspieszyć swoje obciążenia związane z uczeniem maszynowym i analizą. Możesz także użyć Mountpoint for Amazon S3 do przetwarzania obiektów S3 w sposób zorientowany na pliki.
  • Koszty – podobnie jak w przypadku innych klas pamięci masowej S3, ceny są ustalane na podstawie rzeczywistego zużycia. Płacisz 0,16 USD/GB/miesiąc w regionie wschodnich Stanów Zjednoczonych (płn. Wirginia), przy minimalnym czasie rozliczeniowym wynoszącym jedną godzinę za każdy obiekt i dodatkowych opłatach za określone typy żądań. Płacisz dodatkową opłatę za GB za część żądania przekraczającą 512 KB. Więcej informacji na ten temat można znaleźć na stronie Amazon S3 Pricing.
  • Wytrzymałość – w mało prawdopodobnym przypadku utraty lub uszkodzenia całości lub części AWS Availability Zone, dane w klasie przechowywania One Zone mogą zostać utracone. Na przykład zdarzenia losowe, takie jak pożar lub zalanie mogą spowodować utratę danych. Oprócz tego typu zdarzeń klasy pamięci masowej One Zone korzystają z podobnych projektów inżynieryjnych, co regionalne klasy pamięci masowej. Dzięki temu można chronić obiekty przed niezależnymi awariami na poziomie dysku, hosta , a każdy z nich zapewnia trwałość danych na poziomie 99,999999999%.
  • SLA – Amazon S3 Express One Zone ma zapewniać dostępność na poziomie 99,95% przy umowie SLA dostępności na poziomie 99,9%; Aby uzyskać dodatkowe informacje, zapoznaj się ze stroną Amazon S3 Service Level Agreement.

Nowa klasa pamięci jest już dostępna i możesz zacząć korzystać z niej już dziś!

źródło: AWS

Case Studies
Referencje

Jesteśmy ogromnie zadowoleni ze współpracy z firmą Hostersi. Ich specjaliści doradzili nam rozwiązanie, które dało nam stabilną, skalowalną infrastrukturę, która umożliwia obsłużenie ciągle rosnącego ruchu związanego z COVID-19

Jakub Sperczyński
Prezes Zarządu EduNect
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.