Per què la vostra sessió BGP no apareix a la taula d’encaminament de la VPC
Una sessió BGP en un aparell EC2 no instal·la rutes de la VPC. La propagació s’activa per taula d’encaminament, i l’aparell continua reenviant cada paquet.
La història que es repeteix és que un dimoni d’encaminament en un aparell VPN d’EC2 ensenyarà a la VPC els seus prefixos remots quan arrenqui BGP. La meitat és cert. La sessió arrenca i res no canvia a la taula d’encaminament de la VPC per culpa d’això, i per això el primer símptoma sol ser una subxarxa que llança el trànsit en silenci a un forat negre.
Aquí es confonen dues coses diferents: l’aparellament amb un servidor d’encaminament i la instal·lació de rutes en una taula.
El mite: arrenca BGP i la VPC aprendrà els prefixos
BGP és una conversa entre dos interlocutors, i en aquest disseny els interlocutors són el dimoni d’encaminament del vostre aparell i un punt final de VPC Route Server que AWS col·loca en una subxarxa que teniu. Aquesta conversa transporta prefixos. No toca la taula d’encaminament de les vostres subxarxes de càrrega, perquè aquestes taules només aprenen mitjançant la propagació que cal activar a cadascuna. Fins que això passi, la fàbrica de la VPC no sap res del que sap l’aparell.
Els passos de configuració estan separats per un motiu: associar, crear el punt final, aparellar i després activar la propagació.
Route Server és un pla de control, no un túnel
Route Server no xifra, no reenvia ni inspecciona ni un sol paquet. Existeix per intercanviar BGP amb l’aparell i lliurar els prefixos resultants a les taules d’encaminament configurades per rebre’ls. El pla de dades no canvia: els paquets surten per la interfície de xarxa de l’aparell, viatgen per la seva VPN i tornen pel mateix camí.
Això vol dir que la comprovació d’origen i destinació a la instància de reenviament encara importa, perquè la instància ara reenvia trànsit adreçat a algú altre.
Els grups de seguretat i els controls de subxarxa també s’apliquen al flux reenviat. Route Server no farà que un aparell que descarta trànsit el reenviï, ni repararà una ruta de retorn que falta a la banda remota.
La propagació és per taula d’encaminament, no per VPC
Associar el servidor d’encaminament amb la VPC i activar la propagació en una taula d’encaminament són dues decisions, i només la segona canvia què fa una subxarxa. Una VPC amb sis taules d’encaminament pot rebre un prefix propagat en una i no en les altres cinc, cosa que és exactament correcta per a una subxarxa concentradora i exactament el que produeix el resultat desconcertant de «funciona a mitges». Fins i tot quan la propagació està activada, una ruta competidora pot guanyar, perquè la selecció de rutes de la VPC prefereix el prefix més llarg i, a igual longitud, prefereix una ruta estàtica a una de propagada. Aquesta preferència s’aplica en silenci.
Comproveu la taula efectiva de la subxarxa concreta en lloc de la llista de prefixos que anuncia l’aparell. L’API respon aquesta pregunta directament: aws ec2 associate-route-server i aws ec2 enable-route-server-propagation --route-table-id <id> són els dos passos que la gent oblida, i aws ec2 describe-route-tables --route-table-ids <id> mostra si el prefix ha arribat com a entrada de route server.
L’aparell continua portant cada paquet
Anunciar abast no és el mateix que tenir-lo. Una sessió BGP pot romandre establerta mentre la VPN de l’aparell està caiguda, i un anunci estàtic que no canvia mai continua estirant el trànsit cap a un camí mort. Route Server admet detecció de fallades com BFD, però això prova la vitalitat del parell, no la salut de tot el que hi ha darrere.
Lligueu l’anunci a la ruta remota real: anuncieu el prefix quan el túnel i la xarxa remota estiguin actius, i retireu-lo quan no ho estiguin.
Retireu un prefix i mireu què passa
Proveu per etapes, i feu que l’última etapa sigui una retirada. Confirmeu que l’anunci arriba, que el prefix apareix a cada taula prevista, que l’aparell és el següent salt, que el reenviament travessa el túnel actiu i que l’extrem remot respon. Després retireu un prefix de prova, o tanqueu un túnel aprovat, i observeu si el trànsit es mou on el disseny diu que hauria. Anoteu les taules d’abans i de després mentre la prova encara és oberta.
Moure una ruta a un segon aparell no mou les sessions que portava, perquè l’estat de NAT i del tallafoc es queda al primer dispositiu.
Per a un conjunt fix d’una dotzena de prefixos, les rutes estàtiques a les taules de la VPC continuen sent la resposta més barata. Route Server es guanya el lloc quan la llista de prefixos canvia de veritat i la política de retirada és una cosa que podeu explicar a la persona de guàrdia.