VPN ка VPC ради, али управљана услуга истиче
Тунел се завршава на вашој ивици, а не на улазним вратима провајдера. Класификујте циљ као хостован на VM-у, повезан са VPC-ом или само јавни пре него што промените руту.
Приступ управљаној бази података преко VPN-а обично не успева због разлога који нико није записао у приручник: тунел се завршава на ивици ваше мреже, а услуга никада није била на вашој страни те ивице. Табела рута изгледа исправно, тунел се пријављује као активан, а веза ипак истиче. Прођите кроз четири провере испод редом и зауставите се на првој чији услов пролаза није испуњен, јер свака провера после ње претпоставља да су претходне прошле.
Провера прва: где завршна тачка заправо живи?
VPN мрежни пролаз спаја две мреже чијом адресацијом управљате ви. Управљана услуга се покреће иза сопствених улазних врата провајдера, а та врата имају један од три облика у зависности од производа. Ако не знате са којим обликом имате посла, никакав рад на рутама неће помоћи, јер квар можда уопште није квар руте.
| 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 |
Већина узалуд потрошених поподнева долази од прескакања ове класификације и одласка право на табелу рута. Услуга хостована код провајдера са јавном завршном тачком није иза вашег тунела шта год дијаграм говорио, а она повезана са VPC-ом никада се неће појавити у јавном DNS одговору.
Провера друга: услуга повезана са VPC-ом, као ElastiCache
Кешеви те врсте адресирају се унутар вашег VPC-а и уопште немају слушалац окренут интернету. Клијентски VPN који се завршава у истом VPC-у може да их досегне, али само када се поклопе три услова. Завршна тачка кеша мора бити повезана са подмрежама које ваш тунел види, њена сигурносна група мора да дозволи адресу са које долазе ваши клијенти, а на страни клијента треба рута која покрива подмреже кеша.
Уобичајена грешка је претпоставити да се веза негде у близини рачуна. Повезивање VPN-а са другим VPC-ом или ослањање само на peering не проширује сигурносну групу кеша ни табелу рута његове подмреже на ваше клијенте. Када се постојећи тунел завршава негде другде, уобичајени резервни приступ је скочни хост или VPN сервер смештен унутар тог VPC-а. Такав резервни приступ је заобилазно решење, а не дизајн, и у приручнику га треба тако и означити.
Провера трећа: PaaS завршна тачка са јавним именом
Azure Database for PostgreSQL представља јавно име сервера. Оно вам не даје приватну адресу коју можете приквачити у hosts датотеку и провести кроз пролаз. Завршне тачке услуге виртуелне мреже ограничавају које подмреже могу досегнути ресурс; оне не овлашћују локалног клијента који долази преко VPN-а.
Добијање приватног приступа значи увођење приватне завршне тачке или дизајна приватне везе, а затим додавање приватне DNS зоне да јавно име одговара том тачком уместо интернетом. VPN у комбинацији са правилом завршне тачке услуге је друга архитектура која само на дијаграму изгледа слично. App Service следи исту логику из супротног смера: VNet интеграција омогућава апликацији одлазне позиве у VNet и не ствара долазни приватни пут из вашег тунела. Долазни приватни приступ зато захтева приватну завршну тачку, App Service окружење или пролаз испред апликације, а шта од тога можете користити зависи од плана.
Провера четврта: производи са сопственим улазним вратима
Firebase Hosting не може се повезати са Cloud VPN-ом, јер је слој хостовања глобални фронтенд, а не нешто унутар VPC-а пројекта. Документована алтернатива је да сами изградите контролисану улазну тачку, са прокси инстанцом или балансером оптерећења подржаним бакетом. У сваком случају страница престаје да буде чист производ хостовања и постаје инфраструктура којом сада управљате ви. Ту размену вреди именовати пре него што неко обећа да ће је тунел покрити.
Private API Gateway стоји ближе страни VPC услуга: interface VPC завршна тачка објављује име хоста чији су одговори приватне адресе, а саобраћај из ваших просторија долази преко тунела или наменског интерконекта. Завршна тачка мора бити повезана са API-јем, а сертификат и име хоста морају одговарати прилагођеном домену који користе позиваоци.
Google Cloud VPN тунели се везују за IP адресе партнера, не за имена. DNS прослеђивање се конфигурише одвојено, због чега тунел може бити потпуно здрав док претраге у удаљеној приватној зони и даље не успевају.
Затим лоцирајте границу
Покрените исту везу са VM-а унутар VPC-а. Када тамо успе, а са VPN клијента не успе, размак је између пута клијента и завршне тачке услуге: рута, сигурносна група, правило завршне тачке или име. Када оба покушаја не успеју, ништа у тој мрежи не може досегнути услугу и VPN никада није био препрека.
getent hosts db.internal.example
nc -vz db.internal.example 5432
Радите претрагу имена и проверу порта одвојено, јер не успевају из различитих разлога и пар вам каже која је половина пута покварена. Име које се разрешава на јавну адресу каже вам да приватна DNS зона није у игри.