VPN арқылы басқарылатын дерекқорға жету әдетте нұсқаулықта ешкім жазбаған себеппен сәтсіз болады: туннель сіздің желіңіздің шетінде аяқталады, ал қызмет оның сіз жағында ешқашан болмаған. Маршруттар кестесі дұрыс көрінеді, туннель белсенді екенін хабарлайды, бірақ қосылым бәрібір уақыты бітеді. Төмендегі төрт тексеруді ретімен орындаңыз және өту шарты орындалмайтын бірінші тексеруде тоқтаңыз, өйткені одан кейінгі әрбір тексеру алдыңғыларының өткенін болжайды.

Бірінші тексеру: соңғы нүкте шын мәнінде қайда тұрады?

VPN шлюзі мекенжайын өзіңіз басқаратын екі желіні біріктіреді. Басқарылатын қызмет провайдердің өз кіреберіс есігінің артында жұмыс істейді, және бұл есік өнімге қарай үш пішіннің бірін қабылдайды. Қай пішінмен істесіп жатқаныңызды білмесеңіз, ешқандай маршрут жұмысы көмектеспейді, өйткені ақау маршрут ақауы болмауы да мүмкін.

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

Ысырап болған түстен кейінгі уақыттың көбі осы жіктеуді өткізіп жіберіп, бірден маршруттар кестесіне көшуге байланысты. Провайдерде орналасқан қоғамдық соңғы нүктесі бар қызмет диаграмма не десе де сіздің туннеліңіздің артында емес, ал VPC-ке қосылған қызмет қоғамдық DNS жауабында ешқашан көрінбейді.

Екінші тексеру: VPC-ке қосылған қызмет, мысалы ElastiCache

Бұл түрдегі кэштер өз VPC-іңіздің ішінде мекенделеді және интернетке қараған тыңдаушысы мүлде жоқ. Сол VPC-де аяқталатын клиенттік VPN оларға жете алады, бірақ тек үш шарт бірдей орындалғанда. Кэштің соңғы нүктесі туннеліңіз көретін қосалқы желілерге қосылуы керек, оның қауіпсіздік тобы клиенттеріңіз келетін мекенжайға рұқсат беруі керек, ал клиент жағында кэш қосалқы желілерін қамтитын маршрут болуы керек.

Жиі кездесетін қате — жақын жердегі қосылым есептеледі деп ойлау. VPN-ді басқа VPC-ке қосу немесе тек peering-ге сүйену кэштің қауіпсіздік тобын немесе оның қосалқы желісінің маршруттар кестесін клиенттеріңізге дейін кеңейтпейді. Қолданыстағы туннель басқа жерде аяқталса, сол VPC ішінде орналастырылған секіру хосты немесе VPN сервері әдеттегі қосалқы шешім болады. Мұндай қосалқы шешім — бұл дизайн емес, айналма жол, және нұсқаулықта оны солай белгілеу керек.

Үшінші тексеру: қоғамдық атауы бар 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 қайта жіберу жеке реттеледі, сондықтан туннель толық сау болуы мүмкін, ал қашықтағы жеке аймақтағы іздеулер әлі де сәтсіз аяқталады.

Содан кейін шекараны табыңыз

Сол қосылымды VPC ішіндегі VM-нен іске қосыңыз. Онда сәтті болып, VPN клиентінен сәтсіз болса, алшақтық клиент жолы мен қызметтің соңғы нүктесі арасында: маршрут, қауіпсіздік тобы, соңғы нүкте саясаты немесе атау. Екі әрекет те сәтсіз болса, сол желіде ешнәрсе қызметке жете алмайды және VPN ешқашан кедергі болмаған.

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

Атау іздеуін және порт тексеруін бөлек орындаңыз, өйткені олар әртүрлі себептермен сәтсіз болады және жұп сізге жолдың қай жартысы бұзылғанын айтады. Қоғамдық мекенжайға шешілетін атау сізге жеке DNS аймағы іске қосылмағанын айтады.

Қатысты мақалалар