Amazon RDS
Database Cloud Practitioner Solutions Architect Associate SysOps Administrator

Amazon RDS

Amazon Relational Database Service

Zarządzane relacyjne bazy danych w chmurze AWS. Automatyczne backupy, patching, replikacja - Ty zajmujesz się danymi, AWS zajmuje się infrastrukturą.

Amazon RDS (Relational Database Service) to w pełni zarządzany serwis bazodanowy, który umożliwia uruchomienie relacyjnej bazy danych w chmurze bez konieczności samodzielnego zarządzania infrastrukturą. Obsługuje sześć popularnych silników: MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server oraz Amazon Aurora. RDS automatycznie zajmuje się czasochłonnymi zadaniami administracyjnymi - instalacją poprawek, tworzeniem kopii zapasowych, wykrywaniem awarii i odtwarzaniem danych - dzięki czemu możesz skupić się na projektowaniu schematu i optymalizacji zapytań zamiast na utrzymaniu serwera.

Kluczową zaletą RDS jest Multi-AZ deployment - automatyczna replikacja bazy do innej strefy dostępności, zapewniająca wysoką dostępność i automatyczny failover w przypadku awarii. Dodatkowo mechanizm Read Replicas pozwala odciążyć bazę główną, kierując zapytania odczytowe do replik. Dla wielu zespołów migracja z samodzielnie zarządzanego MySQL/PostgreSQL na EC2 do RDS oznacza drastyczne zmniejszenie nakładu pracy operacyjnej przy jednoczesnym zwiększeniu niezawodności.

Czy wiesz, ze...

Amazon Aurora automatycznie replikuje dane 6 razy w 3 strefach dostępności i potrafi kontynuować operacje zapisu nawet po utracie 2 kopii danych. To dlatego Aurora oferuje dostępność na poziomie 99.99%.

Pro Tip

Zawsze używaj Multi-AZ dla baz produkcyjnych - kosztuje 2x więcej, ale automatyczny failover może uratować Twój biznes. Dla środowisk dev/test wystarczy Single-AZ. A do zapytań analitycznych zawsze twórz Read Replica, zamiast obciążać bazę produkcyjną.

Uwaga

Multi-AZ failover powoduje krotka przerwe (60-120s), wiec aplikacja musi obslugiwac reconnect. Storage w RDS mozna tylko ZWIEKSZAC, nigdy zmniejszac. Wylaczenie automated backups (retention = 0) TRWALE USUWA wszystkie snapshoty. Przy skalowaniu w gore (zmiana typu instancji) wystapi restart i krotki downtime.

Amazon RDS automatyzuje zarzadzanie relacyjna baza danych - od provisioningu po patching. Ty skupiasz sie na schemacie i zapytaniach, AWS dba o infrastrukture. Oto kluczowe etapy uruchomienia i zarzadzania baza RDS.

1

Wybor silnika bazy danych

RDS wspiera 6 silnikow: MySQL, PostgreSQL, MariaDB, Oracle, SQL Server i Amazon Aurora. Aurora to silnik natywny dla chmury - 5x szybszy niz MySQL i 3x szybszy niz PostgreSQL przy tej samej cenie. Wybor silnika determinuje dostepne funkcje: np. Aurora oferuje wspoldzielony storage i do 15 replik odczytu, a PostgreSQL bogaty ekosystem rozszerzen (PostGIS, pg_vector).

2

Klasa instancji i storage

Klasa instancji (db.t3, db.m5, db.r5) determinuje CPU i RAM. Klasy burstable (db.t3) sa tanie, ale throttluja przy stałym obciazeniu. Dla produkcji uzyj db.m5 (general purpose) lub db.r5 (memory-optimized dla duzych baz). Storage: gp3 daje 3000 IOPS baseline (mozna zwiekszyc do 16000), io1/io2 daje do 64000 IOPS dla wymagajacych workloadow. Storage Auto Scaling automatycznie powiekszy dysk.

3

Multi-AZ - wysoka dostepnosc

Multi-AZ deployment tworzy synchroniczna replike w innej strefie dostepnosci. W razie awarii primary, RDS automatycznie przelacza DNS na standby w ciagu 60-120 sekund. Nie musisz zmieniac connection stringa - endpoint DNS pozostaje ten sam. Multi-AZ nie sluzy do read scalingu - standby nie przyjmuje zapytan. Dla Aurora Multi-AZ to standard - repliki Aurora moga byc rownoczesnie Read Replicas.

4

Parameter Groups - konfiguracja silnika

Parameter Groups to odpowiednik pliku konfiguracyjnego bazy danych (np. my.cnf dla MySQL). Mozesz dostroic parametry: max_connections, innodb_buffer_pool_size, shared_buffers (PostgreSQL). Zmiana parametrow dynamicznych aplikuje sie natychmiast, statycznych wymaga rebootu. Twórz wlasne Parameter Groups - domyslne nie sa edytowalne.

5

Backupy i przywracanie

Automated backups to codzienne snapshoty calej instancji + logi transakcji co 5 minut. Pozwalaja na Point-in-Time Recovery (PITR) z dokladnoscia do sekundy. Retencja: 1-35 dni (domyslnie 7). Manualne snapshoty nie wygasaja i mozesz je kopiowac miedzy regionami. Przywracanie zawsze tworzy nowa instancje - nie nadpisuje istniejacej. Czas przywracania zalezy od rozmiaru bazy.

6

Monitoring i utrzymanie

RDS automatycznie stosuje patche bezpieczenstwa w zdefiniowanym maintenance window (30 min okno, np. niedziela 03:00-03:30). Enhanced Monitoring daje metryki systemu operacyjnego co 1 sekunde (CPU per proces, pamiec, I/O). Performance Insights to darmowe narzedzie do analizy obciazenia bazy - pokazuje Top SQL, waits, sesje. Ustaw CloudWatch Alarmy na FreeStorageSpace i CPUUtilization.

RDS to managed service, ale nadal wymaga doswiadczenia, zeby dzialal optymalnie. Oto wskazowki z produkcyjnych wdrozen - od skalowania po oszczednosci.

Read Replicas - skaluj odczyty, nie instancje

Read Replica to asynchroniczna kopia bazy, ktora obsluguje zapytania SELECT. Mozesz miec do 15 replik (tyle samo dla Aurora). Typowy wzorzec: aplikacja pisze do primary, czyta z replik. Pamietaj o replication lag - dane na replice moga byc opoznione o sekundy. Dla Aurora lag to zazwyczaj ponizej 100ms dzieki wspoldzielonemu storage. Read Replicas mozna promowac na standalone instancje - to tez sposob na migracje miedzy regionami.

Poczatkujacy

Performance Insights - diagnozuj wolne zapytania

Performance Insights (darmowe z 7-dniowa retencja) pokazuje: ktore zapytania obciazaja baze (Top SQL), na co baza czeka (wait events), ile sesji jest aktywnych. Szukaj wait events typu IO:DataFileRead (za maly buffer pool lub brak indeksow), CPU (zle zoptymalizowane zapytania), Lock:Tuple (contention). To pierwsze narzedzie, ktore otwierasz gdy baza zwalnia.

Poczatkujacy

RDS Proxy - connection pooling bez kodu

RDS Proxy siedzi miedzy aplikacja a baza i zarzadza pula polaczen. Kluczowe dla Lambda - kazde wywolanie Lambda otwiera nowe polaczenie, co szybko wyczerpuje max_connections. RDS Proxy utrzymuje stala pule polaczen i multipleksuje zapytania. Dodatkowy bonus: failover Multi-AZ przez Proxy trwa 50% krocej (ok. 30 sekund). Koszt: ~15% ceny instancji RDS.

Zaawansowany

Automated backups vs manualne snapshoty

Automated backups daja PITR, ale wygasaja po max 35 dniach. Manualne snapshoty nie wygasaja - uzywaj ich przed wiekszymi zmianami (migracje schemy, upgrade silnika). Pro tip: przed upgradeem silnika zrob manualny snapshot i przetestuj upgrade na kopii (Restore from Snapshot). Koszt snapshotow: platisz za storage powyzej rozmiaru przydzielonego storage instancji.

Poczatkujacy

Maintenance window - planuj z glowa

AWS stosuje patche w maintenance window - instancja moze byc niedostepna na kilka minut. Dla Multi-AZ: patch idzie najpierw na standby, potem failover, potem patch primary (krotka niedostepnosc). Ustaw window na godziny najmniejszego ruchu. Monitoruj pending maintenance w konsoli - mozesz zaaplikowac patche wczesniej w kontrolowany sposob zamiast czekac na automatyczne okno.

Poczatkujacy

Aurora vs standardowy RDS - kiedy upgrade

Aurora kosztuje ~20% wiecej niz standardowy RDS, ale daje: storage auto-scaling do 128 TB bez downtime, replikacje z lagiem ponizej 100ms, szybszy failover (ok. 30 sekund vs 60-120 w RDS), backtrack (cofanie bazy w czasie bez restore). Przejdz na Aurora gdy: potrzebujesz wiecej niz 2 Read Replicas, Twoja baza rosnie ponad 1 TB, SLA wymaga szybszego failover.

Zaawansowany

Screenshoty z AWS Console

Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon RDS bezposrednio w konsoli AWS.

Do czego sluzy Amazon RDS?

01

Backend aplikacji webowych

Klasyczne zastosowanie - baza danych dla aplikacji napisanej w Django, Rails, Laravel czy Spring Boot. RDS zapewnia automatyczne backupy i skalowalność bez zarządzania serwerem bazodanowym.

02

Systemy e-commerce

Przechowywanie katalogów produktów, zamówień, danych klientów i transakcji w relacyjnej bazie z gwarancją ACID i automatycznym failoverem Multi-AZ.

03

Systemy raportowe i analityczne

Wykorzystanie Read Replicas do uruchamiania ciężkich zapytań analitycznych bez obciążania produkcyjnej bazy danych. Idealne do generowania raportów biznesowych.

04

Migracja baz on-premises do chmury

Przeniesienie istniejącej bazy MySQL lub PostgreSQL z własnego serwera do RDS przy użyciu AWS Database Migration Service (DMS) z minimalnym przestojem.

Co musisz wiedziec?

Instancja DB

Izolowane środowisko bazodanowe w chmurze. Wybierasz klasę instancji (CPU, RAM) i silnik bazy danych. Odpowiednik serwera bazy danych.

Multi-AZ

Tryb wysokiej dostępności. RDS automatycznie tworzy replikę synchroniczną w innej strefie dostępności. W razie awarii failover następuje automatycznie w ciągu 60-120 sekund.

Read Replica

Asynchroniczna kopia bazy do obsługi zapytań odczytowych. Odciąża bazę główną. Można mieć do 15 replik zarówno dla MySQL/PostgreSQL, jak i dla Aurora.

Automatyczne backupy

RDS automatycznie tworzy snapshot bazy raz dziennie i przechowuje transaction logi. Umożliwia Point-in-Time Recovery do dowolnej sekundy w oknie retencji (do 35 dni).

Parameter Group

Zbiór parametrów konfiguracyjnych silnika bazy danych (np. max_connections, innodb_buffer_pool_size). Pozwala tuningować bazę bez edycji plików konfiguracyjnych.

Subnet Group

Grupa subnetów VPC, w których RDS może uruchomić instancję bazy. Definiuje w jakich strefach dostępności baza może działać.

Architektura: Wysoko dostepna baza danych na RDS

Architektura produkcyjna z RDS Multi-AZ, Read Replicas i connection poolingiem przez RDS Proxy. Wzorzec zapewnia automatyczny failover, skalowanie odczytow i bezpieczne polaczenia z Lambda.

Aplikacja / Lambda
Aplikacja / Lambda Backend aplikacji lub funkcje Lambda wysylajace zapytania SQL
SQL (pula polaczen)
RDS Proxy
RDS Proxy Connection pooling, multipleksowanie polaczen, szybszy failover
Read/Write
RDS Primary (Multi-AZ)
RDS Primary (Multi-AZ) Glowna instancja bazy - obsluguje zapisy i odczyty, synchroniczna replikacja do standby
Sync replication
RDS Standby (AZ-b)
RDS Standby (AZ-b) Synchroniczna replika - przejmuje ruch w razie awarii primary w 60-120 sekund
Async replication
Read Replica Asynchroniczna kopia do odczytow - odciaza primary z zapytan SELECT i raportow
Backup / PITR
Amazon S3
Amazon S3 Przechowywanie automated backups i manualnych snapshotow bazy
Multi-AZ gwarantuje failover bez zmiany connection stringa - DNS endpoint automatycznie wskazuje nowy primary.
RDS Proxy jest kluczowy dla Lambda - eliminuje problem wyczerpania polaczen przy wysokim concurrency.
Automated backups + manual snapshoty przed zmianami to minimum bezpieczenstwa dla produkcyjnej bazy.

Porównanie silników bazodanowych w RDS

Cecha MySQL PostgreSQL Aurora MariaDB
Wydajność Dobra Bardzo dobra Do 5x lepsza od MySQL Dobra
Max Read Replicas 15 15 15 15
Replikacja storage Standardowa Standardowa Automatyczna w 3 AZ Standardowa
Max rozmiar storage 64 TB 64 TB 128 TB 64 TB
Automatyczny failover Multi-AZ Multi-AZ Wbudowany (~30s) Multi-AZ
Serverless Nie Nie Aurora Serverless v2 Nie
Koszt Najniższy Niski Wyższy (~20%) Najniższy

Ile kosztuje Amazon RDS?

On-Demand

Płacisz za godzinę działania instancji. Bez zobowiązań, idealne na start i testy.

db.t3.micro MySQL: ~$0.017/godz. (~$12.50/mies.)

Reserved Instances

Rezerwujesz na 1-3 lata. Znacząca oszczędność dla stałych obciążeń produkcyjnych.

db.t3.micro RI 1 rok: do 40% taniej niż On-Demand

Aurora Serverless

Płacisz za ACU (Aurora Capacity Units). Baza automatycznie skaluje się w górę i w dół, a nawet może się zatrzymać przy braku ruchu.

Aurora Serverless v2: od $0.12/ACU-godz.

Free Tier

750 godzin db.t2.micro/db.t3.micro miesięcznie przez 12 miesięcy. 20 GB storage, 20 GB na backupy.

Wystarczy na 1 instancję bazy 24/7 przez rok

Przyklady AWS CLI

Utwórz instancję RDS MySQL

Tworzy bazę MySQL 8.0 na instancji db.t3.micro w Free Tier

aws rds create-db-instance \
 --db-instance-identifier moja-baza \
 --db-instance-class db.t3.micro \
 --engine mysql \
 --engine-version 8.0 \
 --master-username admin \
 --master-user-password MojeSilneHaslo123! \
 --allocated-storage 20

Sprawdź status instancji

Wyświetla informacje o instancji bazy danych

aws rds describe-db-instances \
 --db-instance-identifier moja-baza \
 --query 'DBInstances[0].{Status:DBInstanceStatus,Engine:Engine,Endpoint:Endpoint.Address}' \
 --output table

Utwórz snapshot bazy

Ręczny backup bazy danych (przechowywany do momentu usunięcia)

aws rds create-db-snapshot \
 --db-instance-identifier moja-baza \
 --db-snapshot-identifier moja-baza-backup-2024

Utwórz Read Replica

Tworzy replikę odczytową bazy w innym regionie

aws rds create-db-instance-read-replica \
 --db-instance-identifier moja-baza-replica \
 --source-db-instance-identifier moja-baza \
 --db-instance-class db.t3.small

Quiz: Amazon RDS

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.

Twoj wynik: 0 / 4

1. Co zapewnia Multi-AZ deployment w RDS?

2. Ile Read Replicas może mieć instancja Amazon Aurora?

3. Jak długo RDS przechowuje automatyczne backupy?

4. Który silnik bazodanowy jest natywny dla AWS i oferuje kompatybilność z MySQL i PostgreSQL?

Chcesz poznac Amazon RDS w praktyce?

Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon RDS krok po kroku. Teoria + praktyka od zera.

Zacznij darmowy kurs Wszystkie serwisy