Multi-Region aktiv-aktiv og aktiv-passiv
Rout trafikk til flere Region-er samtidig med forsinkelsesbasert ruting i Route 53, eller bytt over til en varm reserve med helsesjekkbasert failover
Multi-Region aktiv-aktiv og aktiv-passiv er en gratis leksjon i Cloud & IT Cert Prep på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cloud & IT Cert Prep, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.
Hvorfor multi-region-arkitektur?
Multi-AZ beskytter mot feil i én enkelt AZ, men en hel AWS-region kan bli utilgjengelig under storskalaulykker, omfattende driftsavbrudd eller på grunn av regulatoriske krav. Multi-region-arkitekturer håndterer dette ved å kjøre arbeidsbelastninger i to eller flere geografisk adskilte regioner. Det finnes to hovedmønstre: active-passive (én region betjener trafikk mens en annen venter som standby) og active-active (begge regionene betjener trafikk samtidig).
Active-passive: mønsteret med varm standby
I et active-passive-oppsett på tvers av flere regioner håndterer primærregionen all produksjonstrafikk. Sekundærregionen kjører en nedskalert, men funksjonell kopi som holdes varm og klar. Data replikeres kontinuerlig fra primærregionen til sekundærregionen. Når primærregionen svikter, aktiverer De sekundærregionen ved hjelp av failover-ruting i Route 53. Dette mønsteret er rimeligere enn active-active, men har høyere RTO (tiden det tar å aktivere og skalere standby-regionen).
# Route 53 failover routing configuration
# Primary record: us-east-1 ALB (primary)
# Secondary record: us-west-2 ALB (failover)
aws route53 change-resource-record-sets \
--hosted-zone-id Z123 \
--change-batch '{
"Changes": [{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "app.example.com",
"Type": "A",
"Failover": "PRIMARY",
"HealthCheckId": "hc-primary"
}
}]
}'Active-active: trafikk i begge regioner
I et active-active-oppsett betjener begge regionene produksjonstrafikk samtidig. Route 53 med latency-based routing eller weighted routing fordeler brukerne til den nærmeste eller mest egnede regionen. Når én region svikter, oppdager Route 53 helsekontrollene feilen og ruter all trafikk til den friske regionen. Active-active gir best RTO (nær null), reduserer forsinkelsen for brukere som er geografisk spredt, og øker gjennomstrømningen ved å fordele belastningen på tvers av regioner.
# Route 53 latency-based routing for active-active
aws route53 change-resource-record-sets \
--hosted-zone-id Z123 \
--change-batch '{
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "app.example.com",
"Type": "A",
"Region": "us-east-1",
"SetIdentifier": "us-east-1",
"HealthCheckId": "hc-use1",
"AliasTarget": {"DNSName": "alb-use1.amazonaws.com"}
}
}
]
}'Datareplikering på tvers av regioner
Den vanskeligste delen av multi-region-arkitektur er å holde data konsistente på tvers av regioner. Viktige verktøy er: S3 Cross-Region Replication (CRR), som replikerer S3-objekter asynkront til en bøtte i en annen region. DynamoDB Global Tables tilbyr multi-master-replikering på tvers av flere regioner med eventual consistency. Aurora Global Database replikerer fra én primærregion til opptil fem sekundærregioner med under ett sekunds forsinkelse. Hver replikeringsmekanisme har ulike garantier for konsistens og egenskaper knyttet til replikeringsefterslep.
# Enable S3 Cross-Region Replication
aws s3api put-bucket-replication \
--bucket source-bucket-us-east-1 \
--replication-configuration '{
"Role": "arn:aws:iam::123:role/replication-role",
"Rules": [{
"Status": "Enabled",
"Destination": {
"Bucket": "arn:aws:s3:::dest-bucket-us-west-2"
}
}]
}'DynamoDB Global Tables for active-active
DynamoDB Global Tables muliggjør ekte active-active-replikering med flere regioner og flere primærnoder. Applikasjonen kan skrive til DynamoDB i hvilken som helst region, og endringene replikeres til alle andre regioner, vanligvis innen ett sekund. Konfliktløsningen bruker last-writer-wins basert på tidsstempler. Dette gjør Global Tables ideelt for globalt distribuerte applikasjoner som spilltopplister, brukerprofiler og øktlagre, der lesing og skriving lokalt med lav forsinkelse er avgjørende.
# Create DynamoDB Global Table
aws dynamodb create-global-table \
--global-table-name UserProfiles \
--replication-group \
RegionName=us-east-1 \
RegionName=eu-west-1 \
RegionName=ap-southeast-1
# Applications in each region write to local DynamoDB
# Replication is automatic and bi-directionalAurora Global Database
Aurora Global Database strekker seg over flere AWS-regioner, med én primærregion som håndterer skrivninger, og opptil fem sekundærregioner som håndterer lesinger med under ett sekunds replikeringsefterslep. For DR kan De forfremme en sekundærregion til primærregion på under ett minutt, noe som gjør løsningen egnet for active-passive med strenge RTO-krav. Sekundærregionene kan også betjene lesetrafikk med lav forsinkelse, noe som gir et hybridmønster med active-active for lesinger og active-passive for skrivninger.
# Create Aurora Global Database
aws rds create-global-cluster \
--global-cluster-identifier my-global-db \
--engine aurora-postgresql \
--engine-version 14.5
# Add secondary region
aws rds create-db-cluster \
--db-cluster-identifier secondary-cluster \
--global-cluster-identifier my-global-db \
--engine aurora-postgresql \
--region eu-west-1Route 53-helsekontroller for failover
Failover på tvers av flere regioner er avhengig av Route 53-helsekontroller for å oppdage regionale feil. Helsekontroller kan overvåke et endepunkt (HTTP/HTTPS/TCP), et CloudWatch-varsel, eller være beregnede ut fra andre helsekontroller. Route 53 spør kontinuerlig endepunktene Deres fra flere steder rundt om i verden. Når en kontroll mislykkes, slutter Route 53 automatisk å returnere postene for den aktuelle regionen og omdirigerer trafikken til friske regioner innenfor DNS TTL-perioden.
# Create Route 53 health check
aws route53 create-health-check \
--caller-reference unique-ref-001 \
--health-check-config '{
"Type": "HTTPS",
"FullyQualifiedDomainName": "app.us-east-1.example.com",
"Port": 443,
"ResourcePath": "/health",
"RequestInterval": 30,
"FailureThreshold": 3
}'Global Accelerator for active-active
AWS Global Accelerator tilbyr to statiske Anycast-IP-adresser som ruter trafikk gjennom AWS sitt globale nettverk til det optimale endepunktet. I motsetning til DNS-failover med Route 53, som er avhengig av TTL, oppdager Global Accelerator feil på endepunkter innen 1–3 sekunder og ruter trafikken umiddelbart på nytt – mye raskere enn DNS-propagering. Bruk Global Accelerator når De trenger failover på under ett sekund, konsistente IP-adresser for hvitlisting, eller når ruting basert på DNS TTL er for treg for RTO-kravene Deres.
# Create Global Accelerator
aws globalaccelerator create-accelerator \
--name my-accelerator \
--ip-address-type IPV4
# Add endpoints in multiple regions
aws globalaccelerator create-endpoint-group \
--listener-arn arn:aws:globalaccelerator::123:accelerator/xxx/listener/yyy \
--endpoint-group-region us-east-1 \
--endpoint-configurations EndpointId=alb-us-east-1-arn,Weight=100Konfliktløsning i active-active
Active-active-arkitekturer på tvers av flere regioner står overfor en grunnleggende utfordring: skrivekonflikter. Hvis to regioner oppdaterer den samme posten samtidig, hvilken oppdatering vinner? DynamoDB Global Tables bruker last-writer-wins. Strategier for konfliktløsning på applikasjonsnivå omfatter: event sourcing (logger som bare kan tilføyes, med CRDT-sammenslåing), versjonering (avvis skrivninger med foreldede versjonsnumre) eller partisjonerte skrivninger (hver region eier en dataskard og skriver bare til sin egen skard). Utform datamodellen slik at skrivekonflikter på tvers av regioner minimeres.
# DynamoDB conditional write to prevent conflicts
aws dynamodb update-item \
--table-name Orders \
--key '{"orderId":{"S":"ord-123"}}' \
--update-expression 'SET #s = :newStatus' \
--condition-expression '#v = :expectedVersion' \
--expression-attribute-names '{"#s":"status","#v":"version"}' \
--expression-attribute-values '{":newStatus":{"S":"shipped"},":expectedVersion":{"N":"1"}}'Kostnader og driftskompleksitet
Multi-region-arkitekturer øker kostnadene og kompleksiteten betydelig. De betaler for ressurser i flere regioner, kostnader for datareplikering (dataoverføring på tvers av regioner), kostnader for helsekontroller og trenger ofte dupliserte driftsverktøy i hver region. Active-passive er mer kostnadseffektivt fordi standby-regionen kjører med redusert kapasitet. Active-active koster mest, men gir den beste brukeropplevelsen og RTO-en. Vurder alltid kostnadene opp mot forretningsverdien av den ekstra regionale robustheten.
# Key costs in multi-region architecture:
# - EC2/RDS in each region: full compute costs
# - Cross-region data transfer: ~$0.02/GB
# - Route 53 health checks: ~$0.50/check/month
# - Global Accelerator: $0.025/hour + data transfer
# - DynamoDB Global Table replication: per-write charges per region
# - Aurora Global Database: storage replicated to all regionsVelge riktig multi-region-mønster
Velg multi-region-mønster basert på forretningskravene: Hvis RTO > 1 time og kostnad er viktigst, bruker De Backup and Restore til en annen region. Hvis RTO er minutter, bruker De active-passive with warm standby. Hvis RTO < 1 minutt og brukerne er globalt spredt, bruker De active-active. Ta hensyn til regulatoriske krav – enkelte bransjer krever at data forblir i bestemte regioner, noe som kan begrense replikeringsalternativene. Dokumenter arkitekturvalget og avveiningene tydelig.
# Decision matrix:
# RTO > 1 hour, RPO > 1 hour: Backup & Restore
# RTO ~minutes, RPO ~minutes: Active-Passive (Warm Standby)
# RTO < 1 minute, RPO ~0: Active-Active
# Key services for each:
# Backup & Restore: AWS Backup + S3 CRR
# Active-Passive: Aurora Global DB + Route 53 failover
# Active-Active: DynamoDB Global Tables + Global AcceleratorHurtigsjekk
Test forståelsen Deres av AWS Solutions Architect-konsepter (SAA-C03) fra denne leksjonen.
Oppsummering av leksjonen
I denne leksjonen lærte De at active-passive kjører en standby-region som aktiveres ved feil, at active-active betjener trafikk fra flere regioner samtidig, og at DynamoDB Global Tables og Aurora Global Database er sentrale tjenester for datareplikering på tvers av regioner. Route 53-helsekontroller og Global Accelerator håndterer beslutninger om trafikkruting. Neste gang utforsker vi helsekontroller, circuit breakers og retry-logikk.
Lær deg Cloud & IT Cert Prep med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 150
- Leksjoner
- 600
Ofte stilte spørsmål
Er leksjonen «Multi-Region aktiv-aktiv og aktiv-passiv» gratis?
Ja – hele teksten i «Multi-Region aktiv-aktiv og aktiv-passiv» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cloud & IT Cert Prep-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.
Hva lærer jeg i «Multi-Region aktiv-aktiv og aktiv-passiv»?
Rout trafikk til flere Region-er samtidig med forsinkelsesbasert ruting i Route 53, eller bytt over til en varm reserve med helsesjekkbasert failover Du øver på Cloud & IT Cert Prep med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Cloud & IT Cert Prep?
Ingen tidligere erfaring er nødvendig. Cloud & IT Cert Prep på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Multi-Region aktiv-aktiv og aktiv-passiv»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Cloud & IT Cert Prep-leksjonen?
Ja. Alle Cloud & IT Cert Prep-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Høy tilgjengelighet kontra feiltoleranse: Definisjoner og avveininger
- Multi-AZ-mønstre for tilstandsbaserte tjenester
- Multi-Region aktiv-aktiv og aktiv-passiv
- Helsesjekker, kretsbrytere og logikk for nye forsøk