Hvorfor din BGP-session ikke dukker op i VPC'ens rutetabel
En BGP-session på en EC2-appliance installerer ikke VPC-ruter. Propagering aktiveres per rutetabel, og appliancen videresender stadig hver pakke.
Historien, der gentages, er, at en routing-dæmon på en EC2 VPN-appliance vil lære VPC'en sine fjerne præfikser, når BGP kommer op. Halvdelen af det er sandt. Sessionen kommer op, og intet i VPC'ens rutetabel ændrer sig på grund af det, og derfor er det første symptom normalt et subnet, der stille sender trafik i et sort hul.
Der bliver forvekslet to forskellige ting her: peering med en route server og installation af ruter i en tabel.
Myten: bring BGP op, og VPC'en lærer præfikserne
BGP er en samtale mellem to talere, og i dette design er talerne routing-dæmonen på din appliance og et VPC Route Server-endpoint, som AWS placerer i et subnet, du ejer. Den samtale bærer præfikser. Den rører ikke rutetabellen for dine workload-subnets, fordi de tabeller kun lærer gennem propagering, som skal aktiveres på hver enkelt. Indtil det sker, ved VPC'ens fabric intet om, hvad appliancen ved.
Opsætningstrinnene er adskilt af en grund: associér, opret endpointet, peer, og aktivér derefter propagering.
Route Server er et kontrolplan, ikke en tunnel
Route Server krypterer, videresender eller inspicerer ikke en enkelt pakke. Den findes for at udveksle BGP med appliancen og give de resulterende præfikser til de rutetabeller, der er konfigureret til at modtage dem. Dataplanet er uændret: pakker forlader stadig gennem appliancens netværksinterface, rejser gennem dens VPN og kommer tilbage samme vej.
Det betyder, at kilde- og destinationskontrollen på videresendelsesinstansen stadig betyder noget, fordi instansen nu videresender trafik adresseret til en anden.
Sikkerhedsgrupper og subnet-kontroller gælder også for den videresendte strøm. Route Server får ikke en appliance, der dropper trafik, til at videresende den, og den reparerer ikke en manglende returrute på den fjerne side.
Propagering er per rutetabel, ikke per VPC
At associere route serveren med VPC'en og at aktivere propagering på en rutetabel er to beslutninger, og kun den anden ændrer, hvad et subnet gør. En VPC med seks rutetabeller kan modtage et propageret præfiks i én og ikke i de andre fem, hvilket er præcis rigtigt for et hub-subnet og præcis det, der giver det forvirrende «virker halvt»-resultat. Selv hvor propagering er slået til, kan en konkurrerende rute vinde, fordi VPC-rutevalg foretrækker det længste præfiks og ved samme længde foretrækker en statisk rute frem for en propageret. Den præference anvendes i det stille.
Tjek den effektive tabel for det konkrete subnet i stedet for listen over præfikser, appliancen annoncerer. API'et svarer direkte på det spørgsmål: aws ec2 associate-route-server og aws ec2 enable-route-server-propagation --route-table-id <id> er de to trin, folk glemmer, og aws ec2 describe-route-tables --route-table-ids <id> viser, om præfikset overhovedet ankom som en route-server-post.
Appliancen bærer stadig hver pakke
At annoncere tilgængelighed er ikke det samme som at have den. En BGP-session kan forblive etableret, mens appliancens VPN er nede, og en statisk annonce, der aldrig ændrer sig, bliver ved med at trække trafik mod en død vej. Route Server understøtter fejldetektering som BFD, men det tester peerens levedygtighed, ikke sundheden af alt bag peeren.
Bind annoncen til den rigtige fjerne rute: annoncér præfikset, når tunnelen og det fjerne netværk er oppe, og træk det tilbage, når de ikke er.
Træk et præfiks tilbage og se, hvad der sker
Test i faser, og gør den sidste fase til en fjernelse. Bekræft, at annoncen ankommer, at præfikset vises i hver tilsigtet tabel, at appliancen er næste hop, at videresendelsen krydser den aktive tunnel, og at den fjerne ende svarer. Træk derefter et testpræfiks tilbage, eller luk en godkendt tunnel, og observer, om trafikken flytter sig derhen, hvor designet siger. Notér tabellerne før og efter, mens testen stadig er åben.
At flytte en rute til en anden appliance flytter ikke de sessioner, den bar, fordi NAT- og firewall-tilstand bliver på den første enhed.
For et fast sæt på et dusin præfikser er statiske ruter i VPC-tabellerne fortsat det billigere svar. Route Server fortjener sin plads, når præfikslisterne virkelig ændrer sig, og tilbagetrækningspolitikken er noget, du kan forklare den person, der har vagten.