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.

ShapeWhat it meansPass condition
Software on your VMOrdinary subnet addressingRoute and security group permit the client
Attached to your VPCPrivate, but only inside that VPCEndpoint associated, source allowed, route present
Provider-hosted, public endpointOptional private link, not private by defaultA 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.

Povezani članci