VPN prema VPC-u radi, ali upravljana usluga istječe
Tunel završava na vašem rubu, a ne na ulaznim vratima pružatelja. Klasificirajte cilj kao hostan 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 zbog razloga koji nitko nije zapisao u priručnik: tunel završava na rubu vaše mreže, a usluga nikada nije bila na vašoj strani toga ruba. Tablica ruta izgleda ispravno, tunel se prijavljuje kao aktivan, a veza ipak istječe. Prođite kroz četiri provjere u nastavku redom i zaustavite se na prvoj čiji uvjet prolaza nije ispunjen, jer svaka provjera nakon nje pretpostavlja da su prethodne prošle.
Provjera prva: gdje završna točka zapravo živi?
VPN mrežni prolaz spaja dvije mreže čijom adresacijom upravljate vi. Upravljana usluga pokreće se iza vlastitih ulaznih vrata pružatelja, a ta vrata imaju jedan od tri oblika ovisno o proizvodu. Ako ne znate s kojim oblikom imate posla, nikakav rad na rutama neće pomoći, jer kvar možda uopće 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 poslijepodneva dolazi od preskakanja ove klasifikacije i odlaska ravno na tablicu ruta. Usluga hostana kod pružatelja s javnom završnom točkom nije iza vašeg tunela što 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, poput ElastiCache
Keševi te vrste adresiraju se unutar vašeg VPC-a i uopće nemaju slušač okrenut internetu. Klijentski VPN koji završava u istom VPC-u može ih dosegnuti, ali samo kada se poklope tri uvjeta. Završna točka keša mora biti povezana s podmrežama koje vaš tunel vidi, njezina sigurnosna grupa mora dopuštati adresu s koje dolaze vaši klijenti, a na strani klijenta treba ruta koja pokriva podmreže keša.
Uobičajena je pogreška 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 tablicu 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 poslužitelj 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 točka s javnim imenom
Azure Database for PostgreSQL predstavlja javno ime poslužitelja. Ono vam ne daje privatnu adresu koju možete prikvačiti u hosts datoteku i provesti kroz prolaz. Završne točke usluge virtualne mreže ograničavaju koje podmreže mogu dosegnuti resurs; one ne ovlašćuju lokalnog klijenta koji dolazi preko VPN-a.
Dobivanje privatnog pristupa znači uvođenje privatne završne točke ili dizajna privatne veze, a zatim dodavanje privatne DNS zone da javno ime odgovara tom točkom umjesto internetom. VPN u kombinaciji s pravilom završne točke usluge druga je arhitektura koja samo na dijagramu izgleda slično. App Service slijedi istu logiku iz suprotnog smjera: VNet integracija omogućuje aplikaciji odlazne pozive u VNet i ne stvara dolazni privatni put iz vašeg tunela. Dolazni privatni pristup zato zahtijeva privatnu završnu točku, App Service okruženje ili prolaz ispred aplikacije, a što od toga možete koristiti ovisi o planu.
Provjera četvrta: proizvodi s vlastitim ulaznim vratima
Firebase Hosting ne može se priključiti na Cloud VPN jer je sloj hostanja globalni frontend, a ne nešto unutar VPC-a projekta. Dokumentirana alternativa je da sami izgradite kontroliranu ulaznu točku, s proxy instancom ili balanserom opterećenja podržanim bucketom. U svakom slučaju stranica prestaje biti čist proizvod hostanja i postaje infrastruktura kojom sada upravljate vi. Tu razmjenu vrijedi imenovati prije nego što netko obeća da će je tunel pokriti.
Private API Gateway stoji bliže strani VPC usluga: interface VPC završna točka objavljuje ime hosta čiji su odgovori privatne adrese, a promet iz vaših prostorija dolazi preko tunela ili namjenskog interkonekta. Završna točka mora biti povezana s API-jem, a certifikat i ime hosta moraju odgovarati prilagođenoj domeni koju koriste pozivatelji.
Google Cloud VPN tuneli vežu se na IP adrese partnera, ne na imena. DNS prosljeđivanje konfigurira se odvojeno, zbog čega tunel može biti posve 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 točke usluge: ruta, sigurnosna grupa, pravilo završne toč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 polovica puta pokvarena. Ime koje se razrješava na javnu adresu kaže vam da privatna DNS zona nije u igri.