GCP VPN маршрут работи само в един регион: проверете динамичното маршрутизиране
Глобалната VPC не прави маршрутите, научени чрез BGP, глобални. Прочетете режима на маршрутизиране, сменете го веднъж и проверете какво обявява отдалечената страна.
Работното натоварване в САЩ достига офис префикса през HA VPN без проблем, докато европейското натоварване в същата VPC не получава нищо. Неговата таблица за маршрути няма запис за този префикс, нито един тунел не е паднал и нито едно правило на защитната стена не е променено. Тунелът и неговата BGP сесия са здрави в двете посоки. VPC, обхващаща региони, не е същото като научените ѝ маршрути, обхващащи региони, и точно тази разлика обяснява целия симптом.
Тук се бъркат две свойства: къде живеят подмрежите и къде може да се използва наученият следващ хоп.
Откъде идва регионалният обхват
Cloud Router инсталира научените маршрути с обхват, който следва режима на динамично маршрутизиране на VPC. В регионален режим маршрут, научен в един регион, е използваем само от ресурсите на този регион, затова европейската таблица е празна, вместо да показва счупен следващ хоп. В глобален режим подходящите научени маршрути стават достъпни за ресурсите във всеки регион на VPC. Прочетете текущата стойност, преди да промените каквото и да е, защото регионалният е по подразбиране. Настройката се намира в мрежата, а не в тунела или в рутера.
Командата за инвентаризация е само за четене и отговаря на това с един ред:
gcloud compute networks describe VPC_NAME --format='value(routingConfig.routingMode)'
Изпълнете я в проекта домакин, когато VPC е споделена. Мрежата принадлежи на онзи проект и ролята за преглед в проекта за натоварване може дори да не покаже конфигурацията на маршрутизирането. Бърз отговор от грешния проект е по-лош от липса на отговор.
Промяната е една команда и една посока
Превключването е редакция на контролната равнина за цялата VPC, а не заобиколно решение за всяка VM: gcloud compute networks update VPC_NAME --routing-mode=GLOBAL. То е и еднопосочно, защото мрежа, настроена на глобален режим, не може да бъде върната на регионален. Проверете името на проекта и мрежата още веднъж, преди да го изпълните, тъй като командата не иска потвърждение. Промяната заслужава бележка за поддръжка и одобрението на собственика на мрежата, а не бърз експеримент върху споделена VPC.
Всяко прикачване на Cloud Router, VPN и Interconnect в тази мрежа наследява новия обхват наведнъж. Това включва прикачванията, които никой не спомена в заявката за промяна. Регионите, които никога преди не са имали този маршрут, започват да го получават веднага щом промяната влезе в сила, поради което за това превключване няма поетапно въвеждане.
Глобалното е обхват, а не гаранция
Пригодността и предпочитанието са отделни от обхвата. Маршрут, който влиза в конфликт с по-конкретен префикс, губи избора на най-добър път или бива филтриран от политика, се държи точно както преди. Глобалният режим разширява къде може да се използва маршрут, но не решава кой маршрут печели. Научен маршрут може да е в обхвата и пак да загуби от статичен или по-конкретен път в същата VPC.
Това разграничение е важно, защото промяната на режима лесно може да бъде обвинена по-късно. Ако европейската подмрежа все още няма маршрут след превключването, въпросът е дали маршрутът съществува и е подходящ, а не дали обхватът е влязъл в сила. Конфликтите на префикси и здравето на следващия хоп са следващите две неща за четене.
Отдалечената страна също обявява по различен начин
Поведението при обявяване следва същата настройка. При поведение по подразбиране рутер в регионален режим обявява подмрежите на своя регион, докато глобалният режим обявява подмрежите на VPC по-широко. Затова промяната на режима променя не само какво могат да използват вашите региони, а и какво инсталира отдалечената страна.
Персонализиран списък за обявяване не се разширява при промяна на режима. Ако локалният рутер държи написан на ръка списък с диапазони, европейският префикс остава отсъстващ от него. Обратният път остава счупен в този случай, въпреки че изходящият маршрут вече съществува. Проверете какво е инсталирала отдалечената страна, а не какво сте експортирали.
Какво режимът никога няма да поправи
Глобалното маршрутизиране не дава достъп до публичния интернет, транзит между несвързани VPC или липсващи статични маршрути. То не променя правилата на защитната стена или IAM, така че връзка, отказана от политика, остава отказана.
Тези откази изглеждат еднакво отвътре в натоварването и нямат нищо общо с обхвата на маршрутите.
Тествайте от отдалечения регион до реалната услуга, след което потвърдете, че отговорът се връща през предвидения тунел. Запишете режима, конфигурацията за обявяване и дестинацията, която тествахте. Ако тестът все още се проваля, сравнете BGP таблицата на отдалечения рутер със списъка с маршрути на VPC, преди отново да пипате режима. Тогава следващият междурегионален доклад започва от факти, а не от промяна на режима.