Kvifor BGP-sesjonen din ikkje dukkar opp i rutetabellen til VPC-en
Ein BGP-sesjon på ein EC2-appliance installerar ikkje VPC-ruter. Propagering blir aktivert per rutetabell, og appliancen videresender framleis kvar pakke.
Historia som blir gjenteken, er at ein rutingsdæmon på ein EC2 VPN-appliance vil lære VPC-en dei eksterne prefiksa sine så snart BGP kjem opp. Halvparten av det er sant. Sesjonen kjem opp, og ingenting i rutetabellen til VPC-en endrar seg på grunn av det, og difor er det første symptomet vanlegvis eit subnett som stille sender trafikken i eit svart hol.
To ulike ting blir blanda saman her: peering med ein route server, og installasjon av ruter i ein tabell.
Myten: få BGP opp, og VPC-en lærer prefiksa
BGP er ein samtale mellom to talarar, og i dette designet er talarane rutingsdæmonen på appliancen din og eit VPC Route Server-endepunkt som AWS plasserer i eit subnett du eig. Den samtalen ber prefiks. Han rører ikkje rutetabellen til arbeidslastsubnetta dine, fordi desse tabellane berre lærer gjennom propagering som må aktiverast på kvart av dei. Inntil det skjer, veit ikkje VPC-stoffet noko om det appliancen veit.
Oppsettsstega er skilde av ein grunn: assosier, opprett endepunktet, peer, og aktiver deretter propagering.
Route Server er eit kontrollplan, ikkje ein tunnel
Route Server krypterer, videresender eller inspiserer ikkje ein einaste pakke. Han finst for å utveksle BGP med appliancen og gi dei resulterande prefiksa til rutetabellane som er konfigurerte til å ta imot dei. Dataplanet er uendra: pakkar forlèt framleis gjennom nettverksgrensesnittet til appliancen, reiser gjennom VPN-en og kjem tilbake same vegen.
Det tyder at kjelde- og målkontrollen på videresendingsinstansen framleis betyr noko, fordi instansen no videresender trafikk adressert til nokon andre.
Tryggingsgrupper og subnettkontrollar gjeld òg for den videresende straumen. Route Server får ikkje ein appliance som droppar trafikk til å videresende han, og han reparerer ikkje ein manglande returrute på den eksterne sida.
Propagering er per rutetabell, ikkje per VPC
Å assosiere route serveren med VPC-en og å aktivere propagering på ein rutetabell er to avgjerder, og berre den andre endrar kva eit subnett gjer. Ein VPC med seks rutetabellar kan ta imot eit propagert prefiks i éin og ikkje i dei andre fem, noko som er heilt riktig for eit hub-subnett og nettopp det som gir det forvirrande «verkar halvvegs»-resultatet. Sjølv der propagering er på, kan ei konkurrerande rute vinne, fordi VPC-ruteval foretrekkjer det lengste prefikset og, ved lik lengd, foretrekkjer ei statisk rute framfor ei propagert. Denne preferansen blir brukt stille.
Sjekk den effektive tabellen for det aktuelle subnettet i staden for lista over prefiks appliancen annonserer. API-et svarar direkte på det spørsmålet: aws ec2 associate-route-server og aws ec2 enable-route-server-propagation --route-table-id <id> er dei to stega folk gløymer, og aws ec2 describe-route-tables --route-table-ids <id> viser om prefikset i det heile kom inn som ein route server-oppføring.
Appliancen ber framleis kvar pakke
Å annonsere tilgjenge er ikkje det same som å ha det. Ein BGP-sesjon kan halde fram med å vere etablert medan VPN-en til appliancen er nede, og ein statisk annonse som aldri endrar seg held fram med å dra trafikk mot ein død veg. Route Server støttar feildeteksjon som BFD, men det testar levedyktigheita til peeren, ikkje helsa til alt bak han.
Bind annonsen til den ekte eksterne ruta: annonser prefikset når tunnelen og det eksterne nettverket er oppe, og trekk det tilbake når dei ikkje er det.
Trekk tilbake eit prefiks og sjå kva som skjer
Test i fasar, og gjer den siste fasen til ein fjerning. Stadfest at annonsen kjem fram, at prefikset viser seg i kvar tiltenkt tabell, at appliancen er neste hopp, at videresendinga kryssar den aktive tunnelen og at den eksterne enden svarar. Trekk deretter tilbake eit testprefiks, eller lukk ein godkjend tunnel, og observer om trafikken flyttar seg dit designet seier. Noter tabellane før og etter medan testen framleis er open.
Å flytte ei rute til ein annan appliance flyttar ikkje sesjonane ho bar, fordi NAT- og brannmurstatus blir verande på den første eininga.
For eit fast sett på eit dusin prefiks er statiske ruter i VPC-tabellane framleis det billegare svaret. Route Server fortener plassen sin når prefikslista verkeleg endrar seg og tilbaketrekkingspolitikken er noko du kan forklare personen på vakt.