Zasady routingu: Simple, Weighted i Latency
Użyją routingu Simple dla pojedynczych zasobów, Weighted do podziału ruchu A/B oraz Latency, aby obsługiwać użytkowników z najbliższego Regionu.
Zasady routingu: Simple, Weighted i Latency to bezpłatna lekcja AWS Solutions Architect na CoddyKit. To lekcja 2 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.
Przegląd zasad routingu Route 53
Zasady routingu Route 53 określają, jak odpowiadać na zapytania DNS, gdy wiele zestawów rekordów zasobów ma tę samą nazwę DNS. Zasada informuje Route 53, jaki adres IP lub nazwę DNS zwrócić oraz w jakich warunkach. Wybór właściwej zasady routingu jest jednym z najczęściej sprawdzanych zagadnień na egzaminie SAA-C03.
Dostępne zasady routingu to: Simple, Weighted, Latency-based, Failover, Geolocation, Geoproximity i Multivalue Answer. Każda z nich służy innemu zastosowaniu. Większość można połączyć z kontrolami stanu, aby zapewnić automatyczne przełączanie awaryjne.
Prosta zasada routingu
Routing prosty mapuje nazwę DNS na jeden lub więcej adresów IP (w przypadku rekordów A) albo na inną nazwę hosta (w przypadku CNAME/ALIAS). Jeśli skonfigurowano jedną wartość, Route 53 zawsze ją zwraca. Jeśli skonfigurowano wiele wartości, Route 53 zwraca wszystkie wartości w losowej kolejności, a klient wybiera jedną z nich.
Routing prosty jest domyślną zasadą i najlepiej sprawdza się w konfiguracjach z jednym zasobem, gdy nie są potrzebne kontrole stanu, podział ruchu ani różnicowanie geograficzne. Nie obsługuje kontroli stanu — jeśli zasób jest niesprawny, Route 53 nadal zwraca jego adres.
# Create a simple routing record
aws route53 change-resource-record-sets \
--hosted-zone-id Z1234567890 \
--change-batch '{
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "api.example.com",
"Type": "A",
"TTL": 60,
"ResourceRecords": [
{"Value": "10.0.0.1"},
{"Value": "10.0.0.2"}
]
}
}]
}'Ważona zasada routingu
Routing ważony rozdziela zapytania DNS między wiele zasobów zgodnie z przypisanymi wagami. Każdemu rekordowi przypisuje się wagę liczbową od 0 do 255. Route 53 zwraca każdy rekord proporcjonalnie do jego wagi podzielonej przez sumę wszystkich wag.
Przykład: trzy rekordy o wagach 70, 20 i 10 otrzymują odpowiednio około 70%, 20% i 10% ruchu. Waga 0 oznacza wykluczenie rekordu z routingu, ale nie jego usunięcie — jest to przydatne do tymczasowego zatrzymania ruchu bez usuwania rekordu. Routing ważony jest zwykle używany do testów A/B, wdrożeń canary oraz przełączeń blue-green.
# Create two weighted records: 90% to v1, 10% to v2
# Record 1 (v1)
aws route53 change-resource-record-sets \
--hosted-zone-id Z1234567890 \
--change-batch '{
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "app.example.com",
"Type": "A",
"SetIdentifier": "v1",
"Weight": 90,
"TTL": 60,
"ResourceRecords": [{"Value": "1.2.3.4"}]
}
}]
}'Zastosowania routingu ważonego
Routing ważony doskonale sprawdza się w scenariuszach wdrażania i testowania:
- Wydanie canary: kierowanie 5% ruchu do nowej wersji (waga 5), a 95% do wersji stabilnej (waga 95); stopniowe zmienianie wag wraz ze wzrostem pewności
- Wdrożenie blue-green: rozpoczęcie od proporcji 100/0 (cały ruch do środowiska green), powolne przejście do 50/50, następnie do 0/100 (cały ruch do środowiska blue), a na końcu usunięcie rekordu green
- Testy obciążeniowe: kierowanie niewielkiej części ruchu produkcyjnego do środowiska testowego w celu sprawdzenia wydajności przy rzeczywistym obciążeniu
Routing ważony współpracuje z kontrolami stanu. Jeśli kontrola stanu ważonego rekordu zakończy się niepowodzeniem, Route 53 przestaje uwzględniać ten rekord w odpowiedziach i rozdziela jego wagę między zdrowe rekordy.
Zasada routingu oparta na opóźnieniach
Routing oparty na opóźnieniach kieruje każde zapytanie DNS do regionu AWS, który zapewnia użytkownikowi końcowemu najniższe opóźnienie sieciowe. Route 53 mierzy opóźnienie między globalnymi resolverami DNS a regionami AWS i kieruje zapytania do regionu z najlepszym zmierzonym opóźnieniem.
Należy utworzyć jeden rekord dla każdego regionu, w którym znajdują się zasoby, ustawić dla niego typ LATENCY i określić region. Route 53 wybiera opcję o najniższym opóźnieniu dla każdego zapytania, nie porównując rzeczywistych zasobów — korzysta z pomiarów opóźnień AWS, a nie z pomiarów wykonywanych w czasie rzeczywistym z lokalizacji użytkownika.
# Create latency records for us-east-1 and eu-west-1
aws route53 change-resource-record-sets \
--hosted-zone-id Z1234567890 \
--change-batch '{
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "api.example.com",
"Type": "A",
"SetIdentifier": "us-east-1",
"Region": "us-east-1",
"TTL": 60,
"ResourceRecords": [{"Value": "54.100.1.1"}]
}
}]
}'Routing według opóźnienia a routing geolokalizacyjny
Routing według opóźnienia i routing geolokalizacyjny są często mylone na egzaminie:
- Routing według opóźnienia: kieruje ruchem na podstawie wydajności sieci, aby zminimalizować czas podróży w obie strony — użytkownik w Japonii może zostać skierowany do us-west-2, jeśli w danym momencie ma ono mniejsze opóźnienie niż ap-northeast-1
- Routing geolokalizacyjny: kieruje ruchem na podstawie geograficznego pochodzenia zapytania DNS — użytkownik w Japonii jest zawsze kierowany do rekordu dla Japonii, niezależnie od opóźnienia
Proszę używać routingu według opóźnienia do optymalizacji wydajności, a routingu geolokalizacyjnego do personalizacji treści, zgodności z przepisami lub obsługi treści w określonym języku.
Routing Multivalue Answer
Routing Multivalue Answer zwraca w odpowiedzi na każde zapytanie DNS maksymalnie 8 sprawnych rekordów, umożliwiając klientowi losowy wybór jednego z nich. W przeciwieństwie do routingu Simple, który może zwracać nieprawidłowe adresy IP, routing Multivalue integruje się z kontrolami stanu i zwraca wyłącznie adresy IP sprawnych zasobów.
Multivalue Answer nie zastępuje load balancera — równoważenie obciążenia za pomocą DNS jest mniej zaawansowane, a rekordy są buforowane po stronie klienta. Zapewnia jednak prosty i opłacalny sposób rozdzielania ruchu oraz zwiększania odporności, gdy dysponują Państwo wieloma punktami końcowymi o podobnych możliwościach.
Zasady routingu i kontrole stanu
Większość zasad routingu — wszystkie z wyjątkiem Simple — można powiązać z kontrolami stanu. Gdy kontrola stanu zakończy się niepowodzeniem, Route 53 przestaje zwracać dany rekord w odpowiedziach DNS. W przypadku routingu Weighted ruch wykluczonego rekordu zostaje rozdzielony między sprawne rekordy z wagami. W przypadku routingu Latency używany jest kolejny sprawny Region o najniższym opóźnieniu.
Kontrole stanu są wykonywane niezależnie od zasad routingu i można je konfigurować dla punktów końcowych HTTP, HTTPS oraz TCP. Obliczane kontrole stanu łączą wyniki wielu kontroli stanu, stosując logikę AND/OR, aby uzyskać zbiorczą ocenę stanu.
# Associate a health check with a weighted record
aws route53 change-resource-record-sets \
--hosted-zone-id Z1234567890 \
--change-batch '{
"Changes": [{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "app.example.com",
"Type": "A",
"SetIdentifier": "primary-us",
"Weight": 100,
"TTL": 60,
"ResourceRecords": [{"Value": "54.100.1.1"}],
"HealthCheckId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}]
}'Wybór właściwej zasady: wskazówki egzaminacyjne
Szybki przewodnik pomocny podczas wyboru zasad routingu na egzaminie:
- „test A/B”, „canary”, „blue-green” → Weighted
- „najmniejsze opóźnienie”, „najbliższy Region”, „najlepsza wydajność” → Latency
- „pojedynczy zasób”, „prosta konfiguracja” → Simple
- „wiele adresów IP, wszystkie sprawne” → Multivalue Answer
- „aktywne-pasywne przełączanie awaryjne” → Failover
- „treści zależne od kraju”, „ograniczenia regulacyjne” → Geolocation
- „kierowanie na podstawie odległości od zasobów” → Geoproximity
Routing Weighted na potrzeby stopniowej migracji
Routing Weighted jest zalecaną strategią stopniowego przełączania ruchu podczas migracji. Typowy przebieg wygląda następująco:
- Początek: starej infrastrukturze przypisano wagę 100, a nowej 0
- Włączenie nowej infrastruktury: zmiana proporcji na 95/5 i monitorowanie współczynników błędów oraz opóźnienia
- Stopniowe zwiększanie udziału: 80/20 → 50/50 → 20/80 → 5/95 w ciągu kilku godzin lub dni
- Zakończenie: 0/100; wycofanie starej infrastruktury
- Wycofanie zmiany: jeśli wystąpią problemy, należy natychmiast ustawić wagę nowej infrastruktury na 0, aby zatrzymać ruch
Ten schemat minimalizuje ryzyko w porównaniu z natychmiastowym przełączeniem i umożliwia szybki rollback przez zmianę wagi DNS, bez ponownego wdrażania.
Łączenie zasad Latency i Weighted
Route 53 umożliwia tworzenie zaawansowanego routingu przez logiczne łączenie zasad. Można na przykład użyć routingu Latency do wybrania najbliższego Regionu, a następnie routingu Weighted w tym Regionie do podziału ruchu między wiele punktów końcowych. Osiąga się to przez utworzenie rekordów Weighted z określonym elementem SetIdentifier w tym samym Regionie; rekordy te są następnie wybierane przez zasadę Latency.
Pojedynczy rekord może jednak mieć tylko jedną zasadę routingu. W przypadku połączonych schematów należy użyć jednej warstwy rekordów Latency oraz osobnego zestawu rekordów Weighted w każdym Regionie, wskazujących różne ALB lub Elastic IP.
Szybki test
Proszę sprawdzić swoją znajomość zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji poznali Państwo następujące zagadnienia: routing Simple zwraca jedną lub więcej wartości bez sprawdzania stanu, routing Weighted dzieli ruch procentowo na potrzeby testów A/B i stopniowych migracji, a routing oparty na opóźnieniu kieruje użytkowników do Regionu o najmniejszym opóźnieniu w celu optymalizacji wydajności. Większość zasad integruje się z kontrolami stanu, umożliwiając automatyczne przełączanie awaryjne. W następnej części omówimy zasady routingu Failover i Geolocation.
Często zadawane pytania
Czy lekcja „Zasady routingu: Simple, Weighted i Latency” jest bezpłatna?
Tak — pełny tekst „Zasady routingu: Simple, Weighted i Latency” 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 „Zasady routingu: Simple, Weighted i Latency”?
Użyją routingu Simple dla pojedynczych zasobów, Weighted do podziału ruchu A/B oraz Latency, aby obsługiwać użytkowników z najbliższego Regionu. Ć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 2 z 4.
Ile czasu zajmuje lekcja „Zasady routingu: Simple, Weighted i Latency”?
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
- Strefy hostowane i typy rekordów DNS
- Zasady routingu: Simple, Weighted i Latency
- Routing przełączania awaryjnego i geolokalizacyjny
- Kontrole stanu i przełączanie awaryjne DNS