Read Replicas na potrzeby skalowania odczytu
Utworzą Read Replicas, aby odciążyć ruch odczytu, poznają opóźnienia replikacji asynchronicznej i będą promować repliki na potrzeby DR.
Read Replicas na potrzeby skalowania odczytu to bezpłatna lekcja AWS Solutions Architect na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AWS Solutions Architect, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AWS Solutions Architect zawiera 4 lekcji w sumie.
Czym są repliki odczytu?
Repliki odczytu to kopie podstawowej instancji RDS, które otrzymują aktualizacje za pośrednictwem replikacji asynchronicznej. W przeciwieństwie do instancji rezerwowej Multi-AZ repliki odczytu są dostępne dla zapytań SELECT, co pozwala rozdzielać ruch odczytu i zmniejszać obciążenie podstawowej bazy danych.
Repliki odczytu są obsługiwane przez MySQL, PostgreSQL, MariaDB, Oracle (z Active Data Guard) oraz wszystkie wersje Aurora. Można utworzyć maksymalnie 15 replik odczytu dla Aurora MySQL i Aurora PostgreSQL oraz maksymalnie 5 dla standardowych RDS MySQL/PostgreSQL.
Tworzenie repliki odczytu
Aby utworzyć replikę odczytu, w instancji źródłowej muszą być włączone automatyczne kopie zapasowe (okres przechowywania większy niż 0). AWS wykonuje migawkę instancji podstawowej, przywraca ją w nowej instancji DB i ustanawia asynchroniczną replikację z instancji podstawowej.
Każda replika odczytu otrzymuje własny punkt końcowy DNS. Aplikację należy zaktualizować tak, aby kierowała odczyty do punktów końcowych replik. Mechanizmy zarządzania pulą połączeń lub frameworki aplikacyjne z rozdzielaniem odczytów i zapisów mogą automatycznie kierować zapytania SELECT do replik.
# Create a Read Replica from the primary
aws rds create-db-instance-read-replica \
--db-instance-identifier mydb-replica-1 \
--source-db-instance-identifier mydb \
--db-instance-class db.t3.mediumOpóźnienie replikacji i jego konsekwencje
Ponieważ replikacja jest asynchroniczna, repliki odczytu mogą być opóźnione względem instancji podstawowej o kilka milisekund lub sekund, zależnie od ilości operacji zapisu. Nazywa się to opóźnieniem replikacji. Można je monitorować za pomocą metryki CloudWatch ReplicaLag.
Aplikacje należy projektować tak, aby tolerowały spójność ostateczną podczas odczytu z replik. Na przykład natychmiastowy odczyt z repliki po wstawieniu rekordu może jeszcze nie zwrócić nowego wiersza. Aby zapewnić spójność odczytu po zapisie, konkretny odczyt należy ponownie skierować do instancji podstawowej.
# Monitor replication lag via CloudWatch
aws cloudwatch get-metric-statistics \
--namespace AWS/RDS \
--metric-name ReplicaLag \
--dimensions Name=DBInstanceIdentifier,Value=mydb-replica-1 \
--start-time 2026-06-20T00:00:00Z \
--end-time 2026-06-20T01:00:00Z \
--period 60 \
--statistics AverageRepliki odczytu między regionami
RDS umożliwia tworzenie replik odczytu w innym regionie AWS, zapewniając globalną skalowalność odczytu i odzyskiwanie po awarii. Replikacja między regionami korzysta z publicznego internetu lub AWS Global Accelerator, a opóźnienie replikacji jest większe niż w obrębie jednego regionu z powodu opóźnień sieciowych.
Repliki między regionami są przydatne, gdy: chcą Państwo obsługiwać odczyty bliżej użytkowników w innej lokalizacji geograficznej, potrzebują Państwo gotowej do awansowania ciepłej kopii DR w innym regionie albo chcą Państwo odciążyć środowisko produkcyjne od zapytań analitycznych.
# Create a cross-region Read Replica
aws rds create-db-instance-read-replica \
--db-instance-identifier mydb-replica-eu \
--source-db-instance-identifier arn:aws:rds:us-east-1:123456789:db:mydb \
--region eu-west-1 \
--db-instance-class db.t3.mediumAwansowanie repliki odczytu
Awansowanie repliki odczytu zrywa połączenie replikacji i przekształca ją w niezależną instancję DB z możliwością zapisu, pełniącą rolę podstawowej. Stosuje się je w scenariuszach odzyskiwania po awarii, gdy oryginalna instancja podstawowa jest niedostępna, lub gdy chcą Państwo uaktualnić replikę do innej wersji silnika i używać jej jako nowej instancji podstawowej.
Awansowanie jest nieodwracalne — po awansowaniu instancja nie może już pełnić funkcji repliki. Przed awansowaniem należy upewnić się, że replika jest możliwie najbardziej aktualna (ma minimalne opóźnienie), aby ograniczyć utratę danych. Po awansowaniu należy zaktualizować parametry połączenia aplikacji tak, aby wskazywały nowy punkt końcowy instancji podstawowej.
# Promote a Read Replica to standalone primary
aws rds promote-read-replica \
--db-instance-identifier mydb-replica-1Repliki odczytu a Multi-AZ: różnica egzaminacyjna
Na egzaminie SAA-C03 kluczowe jest rozróżnienie replik odczytu i Multi-AZ:
- Jeśli scenariusz dotyczy zwiększenia wydajności odczytu lub skalowania odczytu → repliki odczytu
- Jeśli scenariusz dotyczy automatycznego przełączenia awaryjnego lub wysokiej dostępności → Multi-AZ
- Jeśli scenariusz dotyczy obu kwestii → Multi-AZ dla instancji podstawowej oraz repliki odczytu
Należy również pamiętać: instancje rezerwowe Multi-AZ NIE obsługują odczytów, a repliki odczytu NIE zapewniają automatycznego przełączenia awaryjnego (w przypadku replik innych niż Aurora trzeba je awansować ręcznie).
Repliki odczytu i punkty końcowe Aurora
Aurora obsługuje repliki odczytu inaczej niż standardowy RDS. Aurora korzysta ze współdzielonej, rozproszonej warstwy pamięci masowej, dlatego repliki uzyskują dostęp do tych samych bazowych stron danych co instancja podstawowa. Oznacza to, że repliki Aurora mają minimalne opóźnienie replikacji (zwykle poniżej 100 ms) i każda z nich może obsługiwać ruch odczytu.
Aurora udostępnia punkt końcowy Reader, który równoważy obciążenie połączeń między wszystkimi dostępnymi instancjami replik. Aplikacja łączy się z punktem końcowym Reader, a Aurora automatycznie rozdziela odczyty. Jeśli replika ulegnie awarii, zostaje usunięta z puli odczytu bez wpływu na punkt końcowy.
Przełączenie awaryjne Aurora z replikami odczytu
Jeśli w Aurora instancja podstawowa (writer) ulegnie awarii, Aurora automatycznie awansuje jedną z replik odczytu do roli instancji podstawowej w ciągu około 30 sekund — znacznie szybciej niż przełączenie awaryjne Multi-AZ w standardowym RDS. Awansowana replika natychmiast zaczyna przyjmować zapisy za pośrednictwem punktu końcowego Cluster Writer.
Aurora obsługuje warstwy priorytetu przełączenia awaryjnego (0–15), dzięki czemu można określić, która replika zostanie awansowana jako pierwsza. Wyższy priorytet (warstwę 0) należy przypisać replikom działającym na większych klasach instancji lub w preferowanych strefach AZ.
Wzorzec architektury skalowania odczytu
Typowa architektura skalowania odczytu kieruje ruch za pośrednictwem Application Load Balancer lub logiki aplikacji:
- Wszystkie operacje zapisu (
INSERT,UPDATE,DELETE) → punkt końcowy podstawowej bazy danych - Wszystkie operacje odczytu (
SELECT) → punkty końcowe replik odczytu lub punkt końcowy Reader Aurora - Pamięć podręczna sesji i wyników → ElastiCache (dodatkowo ogranicza odczyty z replik)
W przypadku wyjątkowo wymagających zapytań analitycznych warto rozważyć awansowanie repliki albo użycie funkcji parallel query Aurora, aby przenieść obliczenia do warstwy pamięci masowej i uniknąć wpływu na klaster produkcyjny.
Monitorowanie replik odczytu
Najważniejsze metryki CloudWatch dla replik odczytu to:
ReplicaLag— liczba sekund opóźnienia względem instancji podstawowej; należy wygenerować alarm, jeśli wartość nieoczekiwanie wzrośnieReadIOPS— pozwala upewnić się, że pamięć masowa repliki nadąża za obciążeniem zapytańDatabaseConnections— pozwala upewnić się, że replika nie osiągnęła limitu połączeńCPUUtilization— wysokie użycie procesora na replice wskazuje na potrzebę optymalizacji zapytań
RDS Performance Insights jest dostępne na replikach odczytu i pokazuje najczęściej wykonywane instrukcje SQL zużywające najwięcej czasu bazy danych, pomagając identyfikować i optymalizować kosztowne zapytania odczytu.
Podsumowanie zastosowań replik odczytu
Typowe zastosowania replik odczytu RDS na egzaminie SAA-C03:
- Raportowanie i analityka: wykonywanie ciężkich zapytań
SELECTna replice, aby nie spowalniać zapisów w środowisku produkcyjnym - Dystrybucja geograficzna: repliki między regionami obsługują użytkowników na innych kontynentach z mniejszym opóźnieniem
- Odzyskiwanie po awarii: replikę między regionami można awansować, jeśli region podstawowy ulegnie awarii
- Programowanie i testowanie: awansowanie repliki w celu utworzenia środowiska testowego z aktualną kopią danych produkcyjnych
Repliki odczytu nie zastępują kopii zapasowych — zawsze należy niezależnie utrzymywać automatyczne kopie zapasowe i ręczne migawki.
Szybkie sprawdzenie
Sprawdź swoją znajomość zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji dowiedział się Pan / dowiedziała się Pani, że: repliki odczytu korzystają z replikacji asynchronicznej do rozdzielania ruchu odczytu, opóźnienie replikacji oznacza, że repliki mogą być nieco opóźnione względem instancji podstawowej, a repliki Aurora mają minimalne opóźnienie i obsługują automatyczne awansowanie. Repliki między regionami zapewniają zarówno globalną skalowalność odczytu, jak i możliwość odzyskiwania po awarii. Następnie omówimy bezpieczeństwo RDS z użyciem szyfrowania i grup parametrów.
Często zadawane pytania
Czy lekcja „Read Replicas na potrzeby skalowania odczytu” jest bezpłatna?
Tak — pełny tekst „Read Replicas na potrzeby skalowania odczytu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AWS Solutions Architect, przejdź na CoddyKit PRO. Kurs AWS Solutions Architect zawiera 4 lekcji w sumie.
Co nauczysz się w „Read Replicas na potrzeby skalowania odczytu”?
Utworzą Read Replicas, aby odciążyć ruch odczytu, poznają opóźnienia replikacji asynchronicznej i będą promować repliki na potrzeby DR. Ćwiczysz AWS Solutions Architect z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AWS Solutions Architect?
Nie wymagamy żadnego doświadczenia. AWS Solutions Architect w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Read Replicas na potrzeby skalowania odczytu”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AWS Solutions Architect?
Tak. Każda lekcja AWS Solutions Architect zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Silniki RDS i klasy instancji
- Multi-AZ i automatyczne kopie zapasowe
- Read Replicas na potrzeby skalowania odczytu
- Bezpieczeństwo RDS: szyfrowanie i grupy parametrów