Kvifor ei AWS VGW-subnettrute ikkje kan velje éin VPN-tunnel
Ei subnettrute til den virtuelle private gatewayen kan ikkje namngje éin av tunnelane sine. Kvar den eigentlege preferansen bur: AS_PATH, tunnelhelse og statiske ruter.
To Site-to-Site VPN-tilkoplingar terminerer på éin virtuell privat gateway og annonserer same greinprefiks. Subnettrutetabellen har éi oppføring for det prefikset, som peikar på gatewayen, og ingen felt som namngjev ein tunnel. Preferansen mellom tilkoplingane skjer derfor ein stad konsollen ikkje kallar ruting. Å vite kva lag som eig avgjerda er skilnaden mellom ein fungerande standby og ei endring som ikkje gjer noko.
To lag er i spel: VPC-ruta som seier kva gateway, og gatewayen sitt eige tunnelval. Å blande dei gir endringar som ser riktige ut i rutetabellen og aldri flyttar ein pakke.
To lag som ser ut som eitt
Subnettruta svarar på eitt spørsmål: for denne destinasjonen, kva vedheng? Målet er den virtuelle private gatewayen, og metrikken konkurrerer berre med andre ruter i same tabell. Ingenting i den oppføringa skil tunnel éin frå tunnel to, eller tilkopling A frå tilkopling B. Eit meir spesifikt prefiks er ein annan destinasjonsmatch, ikkje eit finare vegval.
Gatewayen svarar på neste spørsmål: blant tunnelane han held for det prefikset, kven ber trafikk no. Den avgjerda kjem frå tunnelhelse og BGP-attributta som blir mottekne frå kundegatewayen, og ho viser seg aldri i subnettrutetabellen.
Kva VGW faktisk samanliknar
Helse kjem først. Ein tunnel som er nede, eller ei BGP-økt som ikkje har kome opp, taper før nokon attributt blir undersøkt. Difor endrar det ingenting å setje ein sti framanfor på ei tilkopling som allereie feilar.
Blant kvalifiserte stiar for same prefiks føretrekker AWS den kortare AS_PATH. Når to stiar er like lange, blir MED samanlikna, underlagd den dokumenterte føresetnaden om den første AS i stien. Les den publiserte rekkjefølgja i staden for folkeminne-versjonen, fordi folkeminnet vanlegvis droppar helsetrinnet og unntaket for statiske ruter. Éin konsekvens: tre framanfor-stillingar på reserveforbindinga gjer den primære strengt kortare, og det er den vanlege måten å uttrykkje preferansen på.
Framanfor-stilling, og når ho ikkje gjer noko
Framanfor-stilling skjer i dei utgåande annonseringane til kundegatewayen, ikkje inne i AWS. Du legg til din eigen ASN to eller tre gonger på prefikset du vil at AWS skal unngå, og AWS ser då ein lengre sti for den tilkoplinga. Den primære tilkoplinga held på annonseringa utan framanfor-stilling. Viss begge tilkoplingane annonserer frå same ASN med same tal framanfor-stillingar, har du ikkje uttrykt nokon preferanse.
Kontroller den mottekne stien på AWS-sida etter endringa. Ei framanfor-stilling som aldri forlét kundeutstyret ser nøyaktig ut som ei AWS ignorerte.
Statiske ruter ignorerer heile argumentet
Viss tilkoplinga brukar statisk ruting, finst det ingen AS_PATH å forlengje. AWS dokumenterer statiske VPN-ruter som prioriterte framfor BGP-lærte ruter for same prefiks, så eit blanda design oppfører seg ikkje som eit fullt dynamisk. Avgjer rutetypen først, og vel deretter preferansemekanismen som finst for han.
Med to statiske tilkoplingar som annonserer same prefiks, er den nyttige spaken prefikset: annonser eit meir spesifikt område på tilkoplinga du vil bruke, og aksepter at du endra kva destinasjon som matchar, ikkje kva sti som vinn.
Kvifor ein transitgateway er eit anna svar
Ein transitgateway støttar equal-cost multipath over VPN-vedheng, så to tilkoplingar kan dele trafikken i staden for at éin står standby. Det designet har ei anna feilflate: flytar blir spreidde over tunnelar, og éin tunnel som går ned flyttar berre delar av lasta. Å kopiere ei VGW-oppskrift over på ein transitgateway, eller omvendt, skapar forventningar som ingen av plattformane innfrir.
Vel modellen før mekanismen: aktiv og standby med ein fastlåst preferanse, eller aktiv og aktiv med ECMP.
Kva du bør verifisere etter at du har sett det opp
Stadfest fire ting i rekkjefølgje. Subnettrutetabellen løyser framleis prefikset til den tiltenkte gatewayen. Gatewayen viser begge tunnelane som oppe. Den mottekne AS_PATH på tilkoplinga du vil unngå er lengre enn den andre. Og ein reell flyt frå ein instans i det subnettet går gjennom den forventa tunnelen, observert i begge endar i staden for utleidd frå ein grøn status.
Køyr deretter den godkjende failovertesten og sjå at den overlevande stien ber tenesta. Ein preferanse som berre finst i ein konfigurasjonsdiff er enno ikkje ein preferanse.