Trasa GCP VPN działa tylko w jednym regionie: sprawdź routing dynamiczny
Globalna VPC nie czyni globalnymi tras poznanych przez BGP. Odczytaj tryb routingu, zmień go raz i sprawdź, co anonsuje druga strona.
Obciążenie w USA dociera do prefiksu biurowego przez HA VPN bez problemu, podczas gdy europejskie obciążenie w tej samej VPC nie otrzymuje nic. Jej tablica routingu nie zawiera żadnego wpisu dla tego prefiksu, żaden tunel nie jest wyłączony i żadna reguła zapory nie została zmieniona. Tunel i jego sesja BGP są zdrowe w obu kierunkach. VPC obejmująca regiony to nie to samo co jej poznane trasy obejmujące regiony, i właśnie ta luka wyjaśnia cały objaw.
Mylone są tu dwie właściwości: gdzie znajdują się podsieci i gdzie wolno użyć poznanego następnego skoku.
Skąd bierze się zasięg regionalny
Cloud Router instaluje poznane trasy z zasięgiem, który podąża za dynamicznym trybem routingu VPC. W trybie regionalnym trasa poznana w jednym regionie jest użyteczna tylko dla zasobów tego regionu, dlatego europejska tablica jest pusta, zamiast pokazywać uszkodzony następny skok. W trybie globalnym kwalifikujące się poznane trasy stają się dostępne dla zasobów w każdym regionie VPC. Odczytaj bieżącą wartość, zanim cokolwiek zmienisz, ponieważ regionalny jest domyślny. Ustawienie znajduje się w sieci, nie w tunelu i nie w routerze.
Polecenie inwentaryzacji jest tylko do odczytu i odpowiada na to w jednym wierszu:
gcloud compute networks describe VPC_NAME --format='value(routingConfig.routingMode)'
Uruchom je w projekcie hosta, gdy VPC jest współdzielona. Sieć należy do tego projektu, a rola przeglądającego w projekcie obciążenia może nawet nie pokazać konfiguracji routingu. Szybka odpowiedź z niewłaściwego projektu jest gorsza niż brak odpowiedzi.
Zmiana to jedno polecenie i jeden kierunek
Przełączenie to edycja płaszczyzny sterowania dla całej VPC, a nie obejście dla każdej VM: gcloud compute networks update VPC_NAME --routing-mode=GLOBAL. Jest też jednokierunkowe, ponieważ sieci ustawionej na globalną nie można przywrócić do regionalnej. Sprawdź jeszcze raz nazwę projektu i sieci przed uruchomieniem, ponieważ polecenie nie prosi o potwierdzenie. Zmiana zasługuje na notatkę serwisową i zgodę właściciela sieci, a nie na szybki eksperyment we współdzielonej VPC.
Każde przyłączenie Cloud Router, VPN i Interconnect w tej sieci dziedziczy nowy zasięg natychmiast. Obejmuje to przyłączenia, których nikt nie wymienił we wniosku o zmianę. Regiony, które nigdy wcześniej nie miały tej trasy, zaczynają ją otrzymywać, gdy tylko zmiana wejdzie w życie, dlatego dla tego przełączenia nie ma stopniowego wdrażania.
Globalny to zasięg, nie gwarancja
Kwalifikowalność i preferencja są oddzielne od zasięgu. Trasa, która koliduje z bardziej szczegółowym prefiksem, przegrywa wybór najlepszej ścieżki lub jest filtrowana przez politykę, zachowuje się dokładnie jak wcześniej. Tryb globalny rozszerza, gdzie trasa może być użyta, ale nie decyduje, która trasa wygra. Poznana trasa może być w zasięgu i mimo to przegrać ze statyczną lub bardziej szczegółową ścieżką w tej samej VPC.
To rozróżnienie ma znaczenie, bo zmianę trybu łatwo później obwinić. Jeśli europejska podsieć nadal nie ma trasy po przełączeniu, pytanie brzmi, czy trasa istnieje i jest kwalifikowana, a nie czy zasięg zaczął obowiązywać. Konflikty prefiksów i kondycja następnego skoku to kolejne dwie rzeczy do odczytania.
Druga strona też anonsuje inaczej
Zachowanie anonsowania zależy od tego samego ustawienia. Przy domyślnym zachowaniu router w trybie regionalnym anonsuje podsieci własnego regionu, a tryb globalny anonsuje podsieci VPC szerzej. Dlatego zmiana trybu zmienia nie tylko to, czego mogą używać Twoje regiony, ale także to, co instaluje druga strona.
Niestandardowa lista anonsów nie rozszerza się, gdy tryb się zmienia. Jeśli lokalny router trzyma ręcznie napisaną listę zakresów, prefiks europejski pozostaje w niej nieobecny. Ścieżka powrotna pozostaje wtedy uszkodzona, mimo że trasa wychodząca już istnieje. Sprawdź, co zainstalowała druga strona, a nie co wyeksportowałeś.
Czego tryb nigdy nie naprawi
Globalny routing nie daje dostępu do publicznego internetu, tranzytu między niepowiązanymi VPC ani brakujących tras statycznych. Nie zmienia reguł zapory ani IAM, więc połączenie odrzucone przez politykę pozostaje odrzucone.
Te awarie wyglądają tak samo z wnętrza obciążenia i nie mają nic wspólnego z zasięgiem tras.
Przetestuj z odległego regionu do rzeczywistej usługi, a następnie potwierdź, że odpowiedź wraca przez zamierzony tunel. Zapisz tryb, konfigurację anonsów i cel, który testowałeś. Jeśli test nadal się nie udaje, porównaj tablicę BGP odległego routera z listą tras VPC, zanim ponownie dotkniesz trybu. Wtedy następny raport międzyregionowy zacznie się od faktów, a nie od zmiany trybu.