Hallatava andmebaasi kättesaamine VPN-i kaudu ebaõnnestub tavaliselt põhjusel, mida keegi juhendisse ei kirjutanud: tunnel lõpeb sinu võrgu servas, samas kui teenus ei ole kunagi olnud selle sinupoolsel küljel. Marsruutitabel näib korras, tunnel teatab, et on üleval, ja ühendus aegub ikkagi. Tee allolevad neli kontrolli järjekorras läbi ja peatu esimesel, mille õnnestumise tingimus ei kehti, sest iga järgnev kontroll eeldab, et eelmised pidasid.

Esimene kontroll: kus lõpp-punkt tegelikult elab?

VPN-lüüs ühendab kahte võrku, mille adresseerimist kontrollid sina. Hallatavat teenust käitatakse teenusepakkuja enda esiukse taga ja see uks võtab sõltuvalt tootest ühe kolmest kujust. Kui sa ei tea, millise kujuga on tegu, ei aita mingi hulk marsruuditööd, sest rike ei pruugi üldse marsruutimisrike olla.

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

Enamik raisatud pärastlõunaid tuleb sellest, et see klassifikatsioon jäetakse vahele ja minnakse otse marsruutitabeli juurde. Teenusepakkuja juures majutatud avaliku lõpp-punktiga teenus ei ole sinu tunneli taga, mida iganes diagramm ütleb, ja VPC-ga ühendatud teenus ei ilmu kunagi avalikus DNS-vastuses.

Teine kontroll: VPC-ga ühendatud teenus nagu ElastiCache

Seda tüüpi vahemälud on adresseeritud sinu enda VPC sees ja neil ei ole üldse internetti suunatud kuulajat. Samas VPC-s lõppev kliendi-VPN pääseb neile ligi, kuid ainult siis, kui kolm tingimust langevad kokku. Vahemälu lõpp-punkt peab olema seotud alamvõrkudega, mida sinu tunnel näeb, selle turbegrupp peab lubama aadressi, kust sinu kliendid tulevad, ja kliendipoolel on vaja marsruuti, mis katab vahemälu alamvõrgud.

Tavaline viga on eeldada, et ühendus kuskil lähedal loeb. VPN-i ühendamine teise VPC-ga või ainult peeringule toetumine ei laienda vahemälu turbegruppi ega selle alamvõrgu marsruutitabelit sinu klientideni. Kui olemasolev tunnel lõpeb mujal, on tavaline varulahendus hüppehost või VPN-server, mis on paigutatud selle VPC sisse. See varulahendus on möödasõit, mitte projekt, ja juhendis tuleks see nii ka märgistada.

Kolmas kontroll: avaliku nimega PaaS-i lõpp-punkt

Azure Database for PostgreSQL esitab avaliku serverinime. See ei anna sulle privaatset aadressi, mille saaks hosts-faili kinnitada ja lüüsi kaudu marsruutida. Virtuaalvõrgu teenuse lõpp-punktid piiravad, millised alamvõrgud võivad ressursini jõuda; need ei volita VPN-i kaudu saabuvat kohalikku klienti.

Privaatse juurdepääsu saamine tähendab privaatse lõpp-punkti või privaatse lingi lahenduse kasutuselevõttu ja seejärel privaatse DNS-tsooni lisamist, et avalik nimi vastaks selle lõpp-punktiga interneti asemel. VPN koos teenuse lõpp-punkti reegliga on teine arhitektuur, mis näeb ainult diagrammil sarnane välja. App Service järgib sama loogikat vastassuunast: VNet-i integratsioon lubab rakendusel teha väljuvaid kõnesid VNet-i ja ei loo sinu tunnelist sissetulevat privaatset teed. Sissetulev privaatne juurdepääs nõuab seega privaatset lõpp-punkti, App Service Environmenti või rakenduse ette paigutatud lüüsi, ja millist neist saad kasutada, sõltub plaanist.

Neljas kontroll: tooted, millel on oma esiuks

Firebase Hostingut ei saa Cloud VPN-iga ühendada, sest majutustasand on globaalne esiots, mitte midagi projekti VPC sees. Dokumenteeritud alternatiiv on ehitada kontrollitud sissepääsupunkt ise, puhverserveri eksemplari või ämbrile toetuva koormusjaoturiga. Mõlemal juhul lakkab sait olemast puhas majutustoode ja muutub taristuks, mida hakkad nüüd ise käitama. Seda vahetust tasub nimetada enne, kui keegi lubab, et tunnel selle katab.

Private API Gateway seisab lähemal VPC-teenuste poolele: liidese-tüüpi VPC lõpp-punkt avaldab hostinime, mille vastused on privaatsed aadressid, ja liiklus sinu ruumidest saabub tunneli või sihtotstarbelise ühenduse kaudu. Lõpp-punkt peab olema API-ga seotud ning sertifikaat ja hostinimi peavad ühtima kohandatud domeeniga, mida kutsujad kasutavad.

Google Cloud VPN-i tunnelid seotakse partneri IP-aadressidega, mitte nimedega. DNS-edastus seadistatakse eraldi ja seetõttu võib tunnel olla täiesti terve, samal ajal kui otsingud kauges privaatses tsoonis ikka ebaõnnestuvad.

Seejärel paiguta piir

Käivita sama ühendus VPC-sisese VM-i pealt. Kui see seal õnnestub ja VPN-kliendi pealt ebaõnnestub, asub lünk kliendi tee ja teenuse lõpp-punkti vahel: marsruut, turbegrupp, lõpp-punkti poliitika või nimi. Kui mõlemad katsed ebaõnnestuvad, ei pääse miski selles võrgus teenuseni ja VPN ei olnud kunagi takistus.

getent hosts db.internal.example
nc -vz db.internal.example 5432

Tee nimeotsing ja pordikontroll eraldi, sest need ebaõnnestuvad erinevatel põhjustel ja paar ütleb sulle, milline pool teest on katki. Avalikuks aadressiks laheneva nimi ütleb sulle, et privaatne DNS-tsoon ei ole mängus.

Seotud artiklid