Amazon Aurora
Amazon Aurora
Relacyjna baza danych klasy enterprise w chmurze AWS. Kompatybilna z MySQL i PostgreSQL, do 5x szybsza niz MySQL i 3x szybsza niz PostgreSQL - przy zlomku kosztow komercyjnych baz danych.
Amazon Aurora to w pelni zarzadzana relacyjna baza danych stworzona przez AWS, ktora laczy wydajnosc i dostepnosc komercyjnych baz danych z prostota i oplacalnoscia baz open source. Aurora jest kompatybilna z MySQL i PostgreSQL, co oznacza, ze mozesz uzywac istniejacych narzedzi, sterownikow i kodu aplikacji.
Aurora zostala zaprojektowana od zera z mysla o chmurze. Dzieki temu oferuje automatyczne skalowanie storage do 256 TiB, do 15 replik odczytu, Multi-AZ z automatycznym failoverem i Global Database dla aplikacji globalnych. Jesli potrzebujesz relacyjnej bazy danych w AWS - Aurora to najczesciej najlepszy wybor.
Aurora zostala zaprojektowana od zera przez AWS - to nie jest fork MySQL ani PostgreSQL. Oddziela warstwe obliczeniowa od storage, wykorzystujac rozproszona warstwe przechowywania danych w 3 strefach dostepnosci z 6 kopiami danych. Amazon.com zmigrowal 75 PB wewnetrznych baz danych do Aurora.
Zacznij od Aurora Serverless v2 dla nieprzewidywalnych obciazen - skaluje sie od 0.5 do 128 ACU w kilka sekund. Dla stabilnej produkcji uzyj trybu provisioned z 1 writerem + 2 readerami w roznych AZ. Zawsze wlaczaj Enhanced Monitoring i Performance Insights (darmowe przy 7-dniowej retencji).
Aurora kosztuje okolo 2x wiecej niz standardowy RDS. Uzywaj jej, gdy faktycznie potrzebujesz tej wydajnosci, a nie do malych aplikacji, gdzie RDS MySQL w zupelnosci wystarczy.
Aurora to w pelni zarzadzana relacyjna baza danych kompatybilna z MySQL i PostgreSQL, zaprojektowana od podstaw dla chmury. Oferuje do 5x wieksza wydajnosc niz standardowy MySQL i 3x wieksza niz PostgreSQL, przy jednoczesnej kompatybilnosci z istniejacymi aplikacjami. Storage jest oddzielony od compute i automatycznie rosnie w krokach po 10 GB az do 128 TB.
Tworzenie klastra Aurora
Klaster Aurora sklada sie z jednej instancji writer i do 15 instancji reader. Przy tworzeniu wybierasz: klase instancji (np. db.r6g.xlarge), konfiguracje sieci (VPC, subnety w min. 2 AZ), Security Groups i ustawienia szyfrowania (KMS). Aurora automatycznie replikuje dane 6 razy w 3 Availability Zones - kazdy zapis wymaga potwierdzenia z 4 z 6 kopii.
Wybor silnika: MySQL vs PostgreSQL
Aurora MySQL (kompatybilny z MySQL 5.7/8.0) oferuje lepsze wsparcie dla parallel query i backtrack. Aurora PostgreSQL (kompatybilny z PG 13-16) daje bogatsze typy danych (JSONB, arrays), rozszerzenia (PostGIS, pgvector) i lepsze wsparcie dla Babelfish (kompatybilnosc z SQL Server). Wybor zalezy od istniejacego kodu i wymaganych funkcjonalnosci.
Endpointy: Writer i Reader
Klaster Aurora udostepnia osobne endpointy: Writer Endpoint zawsze wskazuje na aktywna instancje primary (automatyczny failover w ok. 30 sekund). Reader Endpoint rozdziela ruch miedzy wszystkie repliki read (round-robin). Mozesz tworzyc custom endpoints - np. dla raportowania kierujesz ruch na wieksza instancje db.r6g.4xlarge, a OLTP na mniejsze repliki.
Storage auto-scaling do 128 TB
Storage Aurora rosnie automatycznie w krokach po 10 GB az do 128 TB - nie musisz provisionowac dysku z gory jak w RDS. Dane sa zapisywane w Aurora Storage Engine - rozproszonym, samonaprawiajacym sie storage opartym na SSD. Kazdy blok danych jest replikowany 6 razy w 3 AZ. Aurora toleruje utrate do 2 kopii bez wplywu na zapis i do 3 kopii bez wplywu na odczyt.
Global Database - replikacja cross-region
Aurora Global Database replikuje dane do max 5 regionow wtornych z opoznieniem ponizej 1 sekundy (typowo 200-500 ms). Kazdy region wtorny moze miec do 16 read replik. W przypadku awarii calego regionu, promowanie regionu wtornego do primary zajmuje ponizej 1 minuty z RPO ponizej 1 sekundy. Idealny dla globalnych aplikacji wymagajacych niskiego latency i disaster recovery.
Backtrack - cofanie bazy w czasie
Backtrack (dostepny dla Aurora MySQL) pozwala cofnac baze danych do dowolnego punktu w ciagu ostatnich 72 godzin bez koniecznosci przywracania z backupu. Operacja trwa sekundy zamiast godzin. Idealne do szybkiego cofania blednych operacji DELETE/UPDATE na produkcji. Backtrack dziala na poziomie calego klastra - cofasz wszystkie dane jednoczesnie. Koszt to ok. $0.012 za milion zmian.
Sprawdzone praktyki z produkcyjnego uzycia Aurora - od optymalizacji kosztow po strategie disaster recovery dla krytycznych aplikacji.
Reader Endpoint dla skalowania odczytow
Kieruj zapytania SELECT (raporty, dashboardy, API read-only) na Reader Endpoint. Aurora automatycznie rozdziela ruch miedzy repliki. Kazda replika dzieli ten sam storage z writerem - nie ma opoznienia replikacji typowego dla MySQL (Aurora replica lag to typowo ponizej 20 ms). Przy 15 replikach mozesz obsluzyc setki tysiecy odczytow na sekunde.
PoczatkujacyBacktrack zamiast PITR do szybkiego cofania
Point-in-Time Restore (PITR) tworzy nowy klaster z backupu - trwa minuty do godzin i wymaga zmiany connection stringa. Backtrack cofa istniejacy klaster w sekundach bez zmiany endpointow. Ustaw okno backtrack na 24-72h. Koszt jest minimalny ($0.012/milion zmian), a wartosc przy incydentach - bezcenna. Pamietaj: backtrack jest dostepny tylko dla Aurora MySQL.
ZaawansowanyAurora Serverless v2 dla zmiennych obciazen
Serverless v2 skaluje sie w krokach po 0.5 ACU (2 GB RAM) od minimalnych 0.5 ACU do 256 ACU w sekundach. Idealny dla srodowisk dev/test (skaluje do minimum poza godzinami pracy), aplikacji z nieprzewidywalnymi spikami i multi-tenant SaaS. Konfiguruj min/max ACU - ustaw minimum na 1-2 ACU dla produkcji, aby uniknac cold startow. Koszt: $0.12/ACU/godzine.
ZaawansowanyGlobal Database dla disaster recovery
Skonfiguruj Aurora Global Database z regionem wtornym w odleglosci geograficznej (np. eu-west-1 primary, us-east-1 secondary). Testuj failover co kwartal - procedura managed planned failover trwa ok. 1-2 minuty z zerowym RPO. Dla nieplanowanych awarii (detach + promote) RPO wynosi ponizej 1 sekundy. Global Database to najtansza opcja multi-region DR dla relacyjnych baz danych.
ZaawansowanyKlonowanie bazy do testow
Aurora Clone tworzy kopie calej bazy danych w minuty, niezaleznie od rozmiaru (nawet 64 TB). Klon uzywa copy-on-write - nie kopiuje danych, wiec poczatkowo nie zajmuje dodatkowego storage. Uzywaj klonow do: testowania migracji, debugowania problemow produkcyjnych, szkolenia zespolu na realnych danych (po anonimizacji). Klon jest niezalezny - mozesz go usunac bez wplywu na zrodlo.
PoczatkujacyPerformance Insights do diagnostyki
Wlacz Performance Insights (darmowe 7 dni retencji, platne do 2 lat) na kazdym klastrze Aurora. Dashboard pokazuje top wait events (np. io/table/sql/handler, synch/mutex), top SQL queries wedlug obciazenia i aktywne sesje w czasie. Gdy baza zwalnia, Performance Insights natychmiast pokazuje, ktore zapytania i jakie waity sa przyczyna - bez potrzeby recznego analizowania slow query logow.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon Aurora bezposrednio w konsoli AWS.
Do czego sluzy Amazon Aurora?
Aplikacje webowe i SaaS
Backend dla aplikacji wymagajacych wysokiej dostepnosci i niskich opoznien. Aurora Serverless v2 automatycznie skaluje moc do ruchu.
Migracja z MySQL/PostgreSQL
Przenies istniejaca baze MySQL lub PostgreSQL do Aurora z minimalnymi zmianami w kodzie i zyskaj lepsza wydajnosc.
Aplikacje globalne
Aurora Global Database replikuje dane do 5 regionow z opoznieniem ponizej sekundy. Idealna dla aplikacji z uzytkownikami na calym swiecie.
Analityka i raportowanie
Do 15 replik odczytu pozwala odciazyc glowna baze od ciezkich zapytan analitycznych bez wplywu na wydajnosc produkcji.
Co musisz wiedziec?
Aurora Cluster
Klaster sklada sie z instancji primary (zapis/odczyt) i opcjonalnych replik (odczyt). Storage jest wspoldzielony i replikowany w 3 strefach dostepnosci.
Aurora Serverless v2
Tryb bezserwerowy, ktory automatycznie skaluje moc obliczeniowa w zakresie od 0.5 do 256 ACU. Placisz tylko za zuzycie - idealny dla zmiennego obciazenia.
Read Replica
Replika odczytu, ktora odciarza instancje primary. Aurora obsluguje do 15 replik z opoznieniem replikacji ponizej 10 ms.
Global Database
Replikacja danych do maksymalnie 5 regionow AWS z opoznieniem ponizej 1 sekundy. W razie awarii regionu - failover w ponizej minuty.
Multi-AZ
Dane sa automatycznie replikowane w 6 kopiach w 3 strefach dostepnosci (AZ). Aurora przetrwa utrate do 2 kopii bez wplywu na zapis.
Cluster Endpoint
Punkt dostepu do klastra. Writer endpoint kieruje do instancji primary, reader endpoint rozklada ruch miedzy repliki odczytu.
Architektura: Wysoko dostepny klaster Aurora Multi-AZ
Typowa architektura produkcyjna Aurora z rozdzieleniem ruchu write/read, automatycznym failoverem i ciaglym backupem do S3. Ten wzorzec zapewnia RTO ponizej 30 sekund i RPO bliskie zeru.
Porownanie Aurora vs RDS vs DynamoDB
| Cecha | Aurora | RDS (MySQL/PostgreSQL) | DynamoDB |
|---|---|---|---|
| Typ | Relacyjna (SQL) | Relacyjna (SQL) | NoSQL (key-value/document) |
| Wydajnosc | 5x MySQL, 3x PostgreSQL | Standardowa | Milisekundowa, dowolna skala |
| Max storage | 128 TB (auto) | 64 TB (reczne) | Nieograniczony |
| Read Replicas | Do 15 | Do 5 (15 dla MySQL) | Global Tables |
| Serverless | Aurora Serverless v2 | Nie | On-Demand/Provisioned |
| Koszt | ~2x RDS | Bazowy | Pay-per-request lub provisioned |
Ile kosztuje Amazon Aurora?
On-Demand
Placisz za godzine dzialania instancji. Cena zalezy od klasy instancji i silnika (MySQL/PostgreSQL).
db.r6g.large: ~$0.26/godz. (~$190/mies.)
Aurora Serverless v2
Placisz za zuzycie w ACU (Aurora Capacity Units) na sekunde. Minimum 0.5 ACU.
1 ACU: ~$0.12/godz. Przy niskim ruchu moze kosztowac kilka dolarow miesiecznie.
Storage i I/O
Automatyczne skalowanie storage. Placisz za zuzyty storage i operacje I/O.
Storage: $0.10/GB/mies. I/O: $0.20 za milion requestow
Free Tier
Aurora nie jest objeta Free Tier, ale mozesz korzystac z RDS Free Tier z MySQL/PostgreSQL na db.t3.micro.
Alternatywa: RDS Free Tier - 750 godz. db.t3.micro/mies.
Przyklady AWS CLI
Utworz klaster Aurora MySQL
Tworzy nowy klaster Aurora kompatybilny z MySQL 8.0
aws rds create-db-cluster \
--db-cluster-identifier moj-klaster \
--engine aurora-mysql \
--engine-version 8.0.mysql_aurora.3.04.0 \
--master-username admin \
--master-user-password MojeSilneHaslo123! \
--db-subnet-group-name moja-subnet-grupa \
--vpc-security-group-ids sg-0123456789abcdef0
Dodaj instancje do klastra
Tworzy instancje primary w klastrze Aurora
aws rds create-db-instance \
--db-instance-identifier moj-klaster-instancja-1 \
--db-cluster-identifier moj-klaster \
--engine aurora-mysql \
--db-instance-class db.r6g.large
Sprawdz status klastra
Wyswietla informacje o klastrach Aurora
aws rds describe-db-clusters \
--query "DBClusters[].{Klaster:DBClusterIdentifier,Status:Status,Engine:Engine,Endpoint:Endpoint}" \
--output table
Utworz replike odczytu
Dodaje replike odczytu do istniejacego klastra
aws rds create-db-instance \
--db-instance-identifier moj-klaster-reader-1 \
--db-cluster-identifier moj-klaster \
--engine aurora-mysql \
--db-instance-class db.r6g.large
Quiz: Amazon Aurora
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Ile replik odczytu moze miec klaster Amazon Aurora?
2. Aurora jest kompatybilna z jakimi silnikami baz danych?
3. Do jakiego rozmiaru moze automatycznie rosnac storage Aurora?
4. Czym jest Aurora Serverless v2?
Czesto uzywane razem z Amazon Aurora
Czytaj więcej o Amazon Aurora
Chcesz poznac Amazon Aurora w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon Aurora krok po kroku. Teoria + praktyka od zera.