Cloud Run į vietinį VPN: tiesioginės VPC išeigos nustatymas
Cloud VPN tunelis neįtraukia Cloud Run į tinklą. Prijunkite paslaugą prie tinkamo potinklio, nukreipkite jos šaltinio diapazoną, tada išbandykite tą versiją.
Tunelis veikia, VM pasiekia vietinį serverį, o Cloud Run paslauga tame pačiame hoste baigia laukti. Tai įprastas šios užduoties pradžios taškas, ir tunelis retai būna kaltas. Cloud Run versija pagal nutylėjimą nėra jūsų VPC, o kai yra, ji naudoja savo šaltinio adresus, o ne VM potinklį, kurį jau nukreipėte. Toliau pateiktas runbook prijungia paslaugą, nukreipia tikrąjį jos šaltinio diapazoną ir tada įrodo kelią iš versijos, kuri aptarnavo užklausą. Vykdykite būtent šia tvarka, nes pirmo žingsnio praleidimas yra priežastis, kodėl tiek daug tokių atvejų baigiasi VPN pakeitimu, kuris nieko nesutvarko.
Prijunkite versiją prieš derindami tunelį
Cloud Run palaiko tiesioginę VPC išeigą, kuri nukreipia paslaugos srautą į jūsų VPC potinklį be Serverless VPC Access jungties. Esamai paslaugai atnaujinimas atrodo taip:
gcloud run services update SERVICE \
--region=REGION --network=NETWORK --subnet=SUBNET \
--vpc-egress=private-ranges-only
Pakeiskite vietos žymeklius, peržiūrėkite, ką diegimas daro tiesioginiam srautui, ir pasirinkite potinklį paslaugos regione su pakankama adresų talpa ir tinkamomis tinklo teisėmis.
Pasirinkite paskirties vietą atitinkantį išėjimo režimą
private-ranges-only siunčia paskirties vietas, kurias priskiria privačioms, per VPC. Tai nereiškia „visko, kas pasiekiama per VPN“, ir šis trūkumas išryškėja, kai vietinė paslauga yra diapazone, kurio nustatymas taip nepriskiria. Jei paskirties vieta nepadengta, all-traffic yra kitas dokumentuotas režimas, ir jis siunčia viską per VPC, įskaitant viešas paslaugos priklausomybes. Rinkitės sąmoningai ir užrašykite pasekmę pakeitimų žurnale.
Paslauga, kuri jau naudoja jungtį, reikalauja migracijos, o ne jungiklio, todėl planuokite ją, o ne konfigūruokite abu.
Nukreipkite Cloud Run šaltinį, o ne VM šaltinį
Tiesioginė VPC išeiga skiria laikinus adresus iš pasirinkto potinklio, o vietinė pusė turi grąžinti srautą į tą diapazoną. Grįžtamasis maršrutas ar ugniasienės leidimas, parašytas kitam VM potinkliui, atrodys teisingai schemoje ir nepavyks praktiškai. Imkite potinklio CIDR iš VPC, o ne iš atminties, tada patvirtinkite, kad nuotolinio įrenginio kripto ACL ar maršrutų lentelė jį apima.
Naudodami dinaminį maršrutizavimą patikrinkite, ką Cloud Router iš tikrųjų skelbia ir ką VPC importuoja, įskaitant bet kokią pasirinktinę skelbimo politiką. Maršrutas, kuris yra konsolėje, bet nepasirinktas šiai paskirties vietai, yra tas pats, kas jokio maršruto.
Trys sąlygos, kurios visos turi būti įvykdytos
Veikiančiam keliui reikia visų šių dalykų, ir kiekviena sąlyga nepavyksta savaip:
- Maršrutas VPC link vietinio prefikso per numatytą Cloud VPN ryšį.
- Grįžtamasis maršrutas vietinėje pusėje Cloud Run potinkliui.
- Ugniasienės ir IPsec apsaugos apimtis, leidžianti šaltinį, paskirties vietą ir prievadą.
Trūkstamas maršrutas paprastai atrodo kaip laukimo pabaiga be įrodymų nuotolinėje pusėje. Grįžtamojo maršruto problema atrodo kaip ateinanti užklausa ir dingstantis atsakymas. Ugniasienės ar selektoriaus problema gali atrodyti kaip atmetimas arba tylus numetimas, priklausomai nuo įrenginio. Nustačius, kuri iš trijų yra jūsų atveju, kita komanda labai susiaurėja.
Neįtraukite vieno laikino Cloud Run adreso į leidžiamų sąrašą. Naudokite potinklio diapazoną ir programai tinkamą autorizacijos dizainą.
Išbandykite versiją, kuri aptarnavo užklausą
Prieš testuodami patikrinkite įdiegtus tinklo nustatymus ir srauto paskirstymą, nes atnaujinimas gali sukurti naują versiją, o užklausos dar pasiekia senesnę. Tada atlikite tą pačią operaciją, kurią atlieka vartotojo užklausa, iš tos versijos. Jei paskirties vieta yra privatus pagrindinio kompiuterio vardas, patikrinkite jo sprendimą toje aplinkoje ir gautą adresą, nes jūsų nešiojamojo kompiuterio įmonės DNS atsakymas nieko neįrodo apie paslaugos vardų sritį. Išlaikykite TLS pagrindinio kompiuterio vardo tikrinimą ir nuotolinės programos autentifikavimą.
Tikėkitės dokumentuotų Direct VPC paleidimo ryšio delsų ir suteikite klientui pasirengimo ar kartojimo strategiją, o ne diagnozuokite kiekvieną šaltą paleidimą kaip sulūžusį tunelį.
Grąžinimas ir ko tai nedaro
Norėdami grąžinti, atstatykite paslaugos tinklo ir išėjimo nustatymus į ankstesnes reikšmes ir patvirtinkite, kad ankstesnė versija vis dar aptarnauja srautą. Išsaugokite gcloud komandą pakeitimų žurnale, nes dalinio pakeitimo atvirkštinė reikšmė po šešių savaičių nėra akivaizdi. Pašalinus VPC prijungimą, paslauga grįžta į ankstesnį išėjimo kelią, o tai gali būti būtent tai, ko norite per incidentą.
Šis dizainas apima ryšius, kuriuos inicijuoja Cloud Run, ir jų atsakymus. Jis nesuteikia vietiniam tinklui adresuojamo lizdo paslaugos viduje, nes įėjimo poveikis yra ingress sprendimas.