Tunel je aktivní, virtuální stroj se dostane na místní server a služba Cloud Run na stejném hostiteli vyprší. To je běžný výchozí bod tohoto úkolu a tunel je jen zřídka to, co je špatně. Revize Cloud Run ve výchozím nastavení nesedí ve vaší VPC, a když už tam sedí, používá vlastní zdrojové adresy místo podsítě virtuálních strojů, kterou jste už nasměrovali. Následující runbook službu připojí, nasměruje její skutečný rozsah zdrojů a pak prokáže cestu z revize, která požadavek obsloužila. Provádějte ho v tomto pořadí, protože přeskočení prvního kroku je důvod, proč tolik těchto případů končí změnou VPN, která nic neopraví.

Připojte revizi dříve, než budete ladit tunel

Cloud Run podporuje přímý výstup VPC, který umístí provoz služby do podsítě ve vaší VPC bez konektoru Serverless VPC Access. U existující služby vypadá aktualizace takto:

gcloud run services update SERVICE \
  --region=REGION --network=NETWORK --subnet=SUBNET \
  --vpc-egress=private-ranges-only

Nahraďte zástupné symboly, projděte si, co nasazení dělá s živým provozem, a vyberte podsíť v regionu služby s dostatečnou kapacitou adres a správnými síťovými oprávněními.

Zvolte režim výstupu, který odpovídá cíli

private-ranges-only posílá cíle, které klasifikuje jako privátní, přes VPC. Neznamená to „cokoli dostupného přes VPN“ a tato mezera se objeví, když místní služba leží v rozsahu, který nastavení takto neklasifikuje. Pokud cíl není pokryt, all-traffic je druhý dokumentovaný režim a posílá vše přes VPC, včetně veřejných závislostí služby. Volte vědomě a důsledek zapište do záznamu o změně.

Služba, která už konektor používá, vyžaduje migraci, ne přepínač, takže ji naplánujte, místo abyste konfigurovali obojí.

Směrujte zdroj Cloud Run, ne zdroj virtuálního stroje

Přímý výstup VPC přiděluje dočasné adresy z vybrané podsítě a místní strana musí vracet provoz do tohoto rozsahu. Zpětná trasa nebo povolení firewallu napsané pro jinou podsíť virtuálních strojů bude na diagramu vypadat správně a v praxi selže. Vezměte CIDR podsítě z VPC, ne z paměti, a pak potvrďte, že krypto ACL nebo směrovací tabulka vzdáleného zařízení ho obsahuje.

Při dynamickém směrování ověřte, co Cloud Router skutečně inzeruje a co VPC importuje, včetně případných vlastních zásad inzerce. Trasa, která v konzoli existuje, ale není pro tento cíl vybrána, je totéž jako žádná trasa.

Tři podmínky, které musí platit všechny

Funkční cesta potřebuje všechno následující a každá z nich selhává po svém:

  • Trasu ve VPC k místnímu prefixu přes zamýšlené připojení Cloud VPN.
  • Zpětnou trasu na místní straně pro podsíť Cloud Run.
  • Rozsah ochrany firewallu a IPsec, který povoluje zdroj, cíl a port.

Chybějící trasa obvykle vypadá jako vypršení časového limitu bez důkazů na vzdálené straně. Problém se zpětnou trasou vypadá jako požadavek, který dorazí, a odpověď, která zmizí. Problém s firewallem nebo selektorem může vypadat jako odmítnutí nebo jako tiché zahození, podle zařízení. Zjištění, který ze tří případů máte, výrazně zužuje další příkaz.

Nedávejte na seznam povolených jedinou dočasnou adresu Cloud Run. Použijte rozsah podsítě a návrh autorizace, který aplikaci vyhovuje.

Otestujte revizi, která požadavek obsloužila

Před testováním zkontrolujte nasazené síťové nastavení a rozdělení provozu, protože aktualizace může vytvořit novou revizi, zatímco požadavky stále dorazí do starší. Potom proveďte stejnou operaci, kterou provádí požadavek uživatele, z této revize. Pokud je cílem privátní název hostitele, zkontrolujte jeho překlad v tomto prostředí a adresu, kterou poskytl, protože odpověď podnikového DNS z vašeho notebooku nic nedokazuje o jmenném prostoru služby. Zachovejte ověření názvu hostitele TLS a vlastní autentizaci vzdálené aplikace.

Očekávejte dokumentovaná zpoždění připojení při startu přímého výstupu VPC a dejte klientovi strategii připravenosti nebo opakování, místo abyste každý studený start diagnostikovali jako rozbitý tunel.

Vrácení změn a co to nedělá

Chcete-li vrátit změny, obnovte síťové nastavení a nastavení výstupu služby na předchozí hodnoty a potvrďte, že dřívější revize stále obsluhuje provoz. Uchovejte příkaz gcloud v záznamu o změně, protože opak částečné změny není po šesti týdnech zřejmý. Odebrání připojení k VPC vrátí službu na její předchozí cestu výstupu, což může být přesně to, co během incidentu chcete.

Tento návrh pokrývá připojení, která Cloud Run iniciuje, a jejich odpovědi. Nedává místní síti adresovatelný socket uvnitř služby, protože vstupní vystavení je rozhodnutí o ingress.

Související články