Tunnelen er oppe, ein VM når den lokale serveren, og Cloud Run-tenesta får tidsavbrot på same vert. Det er det normale utgangspunktet for denne oppgåva, og tunnelen er sjeldan det som er gale. Ein Cloud Run-revisjon ligg ikkje i VPC-en din som standard, og når han gjer det, nyttar han eigne kjeldeadresser i staden for VM-subnettet du alt har ruta. Runbooken nedanfor koplar til tenesta, rutar det faktiske kjeldeområdet og provar deretter vegen frå revisjonen som tente førespurnaden. Køyr han i den rekkjefølgja, fordi det å hoppe over det første trinnet er grunnen til at så mange av desse sakene endar i ei VPN-endring som ikkje rettar noko.

Kople til revisjonen før du feilsøkjer tunnelen

Cloud Run støttar Direct VPC-utgang, som set trafikken til tenesta på eit subnett i VPC-en din utan ein Serverless VPC Access-kopling. For ei eksisterande teneste ser oppdateringa slik ut:

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

Byt ut plasshaldarane, gå gjennom kva utrullinga gjer med levande trafikk, og vel eit subnett i regionen til tenesta med nok adressekapasitet og dei rette nettverkstilgangane.

Vel utgangsmodusen som passar til destinasjonen

private-ranges-only sender destinasjonane han klassifiserer som private gjennom VPC-en. Det tyder ikkje «alt som kan nåast over VPN-en», og det gapet viser seg når den lokale tenesta ligg i eit område som innstillinga ikkje klassifiserer slik. Viss destinasjonen ikkje er dekt, er all-traffic den andre dokumenterte modusen, og han sender alt gjennom VPC-en, inkludert dei offentlege avhengnadene til tenesta. Vel medvite og skriv konsekvensen i endringsloggen.

Ei teneste som alt nyttar ein kopling treng ein migrering, ikkje ein brytar, så planlegg han i staden for å konfigurere begge.

Rut Cloud Run-kjelda, ikkje ei VM-kjelde

Direct VPC-utgang tildeler mellombelse adresser frå det valde subnettet, og den lokale sida må returnere trafikk til det området. Ei returrute eller ei brannmur-tilgang skriven for eit anna VM-subnett vil sjå rett ut på diagrammet og feile i praksis. Ta CIDR-en til subnettet frå VPC-en og ikkje frå minnet, og stadfest deretter at crypto-ACL-en eller rutetabellen til den eksterne eininga inneheld han.

Med dynamisk ruting, stadfest kva Cloud Router faktisk annonserer og kva VPC-en importerer, inkludert kvar eigendefinert annonseringspolicy. Ei rute som finst i konsollen, men som ikkje er vald for denne destinasjonen, er det same som inga rute.

Tre vilkår som alle må gjelde

Ein fungerande veg treng alt av dette, og kvart av dei feilar på sin eigen måte:

  • Ei rute i VPC-en mot det lokale prefikset gjennom den tiltenkte Cloud VPN-tilkoplinga.
  • Ei returrute lokalt for Cloud Run-subnettet.
  • Eit brannmur- og IPsec-vernområde som tillèt kjelda, destinasjonen og porten.

Ei manglande rute ser vanlegvis ut som eit tidsavbrot utan bevis på den eksterne sida. Eit problem med returruta ser ut som ein førespurnad som kjem og eit svar som forsvinn. Eit brannmur- eller selektorproblem kan sjå ut som ei avvising eller som eit stille dropp, avhengig av eininga. Å finne ut kva av dei tre du har, snevrar inn neste kommando mykje.

Ikkje set ei einaste mellombels Cloud Run-adresse på tillatingslista. Bruk subnettområdet og eit autorisasjonsdesign som passar applikasjonen.

Test revisjonen som tente førespurnaden

Undersøk dei utrulla nettverksinnstillingane og trafikkfordelinga før du testar, fordi ei oppdatering kan lage ein ny revisjon medan førespurnader framleis når ein eldre. Utfør deretter den same operasjonen som førespurnaden til brukaren utfører, frå den revisjonen. Viss destinasjonen er eit privat vertsnamn, sjekk oppslaget i det miljøet og adressa det gav, fordi bedrifts-DNS-svaret frå laptoppen din ikkje provar noko om namnerommet til tenesta. Hald på TLS-vertsnamnverifisering og eigen autentisering for den eksterne applikasjonen.

Rekn med dei dokumenterte Direct VPC-forsinkjingsane ved oppstartstilkopling, og gje klienten ein beredskaps- eller freistnadsstrategi i staden for å diagnostisere kvar kaldstart som ein øydelagd tunnel.

Tilbakerulling og kva dette ikkje gjer

For å rulle tilbake, set nettverks- og utgangsinnstillingane til tenesta tilbake til dei førre verdiane og stadfest at den tidlegare revisjonen framleis tener trafikk. Hald på gcloud-kommandoen i endringsloggen, fordi det motsette av ei delvis endring ikkje er sjølvsagt seks veker seinare. Å fjerne VPC-koplinga fører tenesta tilbake til den førre utgangsvegen, noko som kan vere akkurat det du vil under ei hending.

Dette designet dekkjer tilkoplingar som Cloud Run startar, og svara deira. Det gjev ikkje det lokale nettverket ein adresserbar socket inne i tenesta, fordi eksponering innover er ei ingress-avgjerd.

Relaterte artiklar