VPN prema VPC-u radi, ali upravljana usluga ne odgovara na vrijeme
Tunel završava na vašoj ivici, a ne na ulaznim vratima provajdera. Klasifikujte cilj kao hostovan na VM-u, priključen na VPC ili samo javni prije nego što promijenite rutu.
Pristup upravljanoj bazi podataka preko VPN-a obično ne uspijeva iz razloga koji niko nije zapisao u priručniku: tunel završava na ivici vaše mreže, a usluga nikada nije bila na vašoj strani te ivice. Tabela ruta izgleda ispravno, tunel se prijavljuje kao aktivan, a veza ipak dobija tajmaut. Prođite kroz četiri provjere ispod redom i zaustavite se na prvoj čiji uslov prolaza nije ispunjen, jer svaka provjera nakon nje pretpostavlja da su prethodne prošle.
Provjera prva: gdje završna tačka zapravo živi?
VPN mrežni prolaz spaja dvije mreže čijom adresacijom upravljate vi. Upravljana usluga se pokreće iza vlastitih ulaznih vrata provajdera, a ta vrata imaju jedan od tri oblika zavisno od proizvoda. Ako ne znate s kojim oblikom imate posla, nikakav rad na rutama neće pomoći, jer kvar možda uopšte nije kvar rute.
| Shape | What it means | Pass condition |
|---|---|---|
| Software on your VM | Ordinary subnet addressing | Route and security group permit the client |
| Attached to your VPC | Private, but only inside that VPC | Endpoint associated, source allowed, route present |
| Provider-hosted, public endpoint | Optional private link, not private by default | A private endpoint exists and DNS points at it |
Većina uzalud potrošenih popodneva dolazi od preskakanja ove klasifikacije i odlaska ravno na tabelu ruta. Usluga hostovana kod provajdera s javnom završnom tačkom nije iza vašeg tunela šta god dijagram govorio, a ona priključena na VPC nikada se neće pojaviti u javnom DNS odgovoru.
Provjera druga: usluga priključena na VPC, kao ElastiCache
Keševi te vrste adresiraju se unutar vašeg VPC-a i uopšte nemaju slušač okrenut internetu. Klijentski VPN koji završava u istom VPC-u može ih dosegnuti, ali samo kada se poklope tri uslova. Završna tačka keša mora biti povezana s podmrežama koje vaš tunel vidi, njena sigurnosna grupa mora dozvoljavati adresu s koje dolaze vaši klijenti, a na strani klijenta treba ruta koja pokriva podmreže keša.
Uobičajena greška je pretpostaviti da se veza negdje u blizini računa. Priključivanje VPN-a na drugi VPC ili oslanjanje samo na peering ne proširuje sigurnosnu grupu keša ni tabelu ruta njegove podmreže na vaše klijente. Kada postojeći tunel završava negdje drugdje, uobičajeni rezervni pristup je skočni host ili VPN server smješten unutar tog VPC-a. Takav rezervni pristup je zaobilazno rješenje, a ne dizajn, i u priručniku ga treba tako i označiti.
Provjera treća: PaaS završna tačka s javnim imenom
Azure Database for PostgreSQL predstavlja javno ime servera. On vam ne daje privatnu adresu koju možete prikvačiti u hosts datoteku i provesti kroz prolaz. Završne tačke usluge virtualne mreže ograničavaju koje podmreže mogu dosegnuti resurs; one ne ovlašćuju lokalnog klijenta koji dolazi preko VPN-a.
Dobijanje privatnog pristupa znači uvođenje privatne završne tačke ili dizajna privatne veze, a zatim dodavanje privatne DNS zone da javno ime odgovara tom tačkom umjesto internetom. VPN u kombinaciji s pravilom završne tačke usluge je druga arhitektura koja samo na dijagramu izgleda slično. App Service slijedi istu logiku iz suprotnog smjera: VNet integracija omogućava aplikaciji odlazne pozive u VNet i ne stvara dolazni privatni put iz vašeg tunela. Dolazni privatni pristup zato zahtijeva privatnu završnu tačku, App Service okruženje ili prolaz ispred aplikacije, a šta od toga možete koristiti zavisi od plana.
Provjera četvrta: proizvodi s vlastitim ulaznim vratima
Firebase Hosting se ne može priključiti na Cloud VPN, jer je sloj hostovanja globalni frontend, a ne nešto unutar VPC-a projekta. Dokumentovana alternativa je da sami izgradite kontrolisanu ulaznu tačku, s proxy instancom ili balanserom opterećenja podržanim bucketom. U svakom slučaju stranica prestaje biti čist proizvod hostovanja i postaje infrastruktura kojom sada upravljate vi. Tu razmjenu vrijedi imenovati prije nego što neko obeća da će je tunel pokriti.
Private API Gateway stoji bliže strani VPC usluga: interface VPC završna tačka objavljuje ime hosta čiji su odgovori privatne adrese, a saobraćaj iz vaših prostorija dolazi preko tunela ili namjenskog interkonekta. Završna tačka mora biti povezana s API-jem, a certifikat i ime hosta moraju odgovarati prilagođenom domenu koji pozivaoci koriste.
Google Cloud VPN tuneli se vezuju za IP adrese partnera, ne za imena. DNS prosljeđivanje se konfiguriše odvojeno, zbog čega tunel može biti potpuno zdrav dok pretrage u udaljenoj privatnoj zoni i dalje ne uspijevaju.
Zatim locirajte granicu
Pokrenite istu vezu s VM-a unutar VPC-a. Kada tamo uspije, a s VPN klijenta ne uspije, razmak je između puta klijenta i završne tačke usluge: ruta, sigurnosna grupa, politika završne tačke ili ime. Kada oba pokušaja ne uspiju, ništa u toj mreži ne može dosegnuti uslugu i VPN nikada nije bio prepreka.
getent hosts db.internal.example
nc -vz db.internal.example 5432
Radite pretragu imena i provjeru porta odvojeno, jer ne uspijevaju iz različitih razloga i par vam kaže koja je polovina puta pokvarena. Ime koje se razrješava na javnu adresu kaže vam da privatna DNS zona nije u igri.