Chegar a unha base de datos xestionada a través dun VPN adoita fallar por un motivo que ninguén escribiu no manual: o túnel remata no bordo da túa rede, mentres que o servizo nunca estivo do teu lado. A táboa de rutas parece correcta, o túnel informa de que está activo e a conexión esgota o tempo igualmente. Percorre as catro comprobacións seguintes en orde e detente na primeira cuxa condición de éxito non se cumpra, porque cada comprobación posterior dá por feito que as anteriores se cumpriron.

Comprobación un: onde vive realmente o extremo?

Unha pasarela VPN une dúas redes cuxo direccionamento controlas ti. Un servizo xestionado opérase detrás da porta de entrada propia do provedor, e esa porta adopta unha de tres formas segundo o produto. Se non sabes con que forma tratas, ningún traballo de rutas axudará, porque o fallo pode non ser un fallo de encamiñamento en absoluto.

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

A maioría das tardes perdidas veñen de saltar esta clasificación e ir directo á táboa de rutas. Un servizo aloxado no provedor cun extremo público non está detrás do teu túnel diga o que diga o diagrama, e un conectado ao VPC nunca aparecerá nunha resposta DNS pública.

Comprobación dous: un servizo conectado ao VPC como ElastiCache

As cachés dese tipo diríxense dentro do teu propio VPC e non teñen ningún oínte orientado a internet. Un VPN de cliente rematado nese mesmo VPC pode alcanzalas, pero só cando coinciden tres condicións. O extremo da caché ten que estar asociado a subredes que o teu túnel poida ver, o seu grupo de seguridade ten que permitir o enderezo desde o que chegan os teus clientes, e o lado do cliente necesita unha ruta que cubra as subredes da caché.

O erro habitual é supoñer que unha conexión nalgún lugar próximo conta. Conectar o VPN a outro VPC, ou apoiarse só no emparellamento, non estende o grupo de seguridade da caché nin a táboa de rutas da súa subrede aos teus clientes. Cando o túnel existente remata noutro sitio, un host de salto ou un servidor VPN colocado dentro dese VPC é a alternativa habitual. Esa alternativa é un apaño e non un deseño, e debería etiquetarse como tal no manual.

Comprobación tres: un extremo PaaS con nome público

Azure Database for PostgreSQL presenta un nome de servidor público. Non che entrega un enderezo privado que poidas fixar nun ficheiro hosts e encamiñar por unha pasarela. Os extremos de servizo de rede virtual limita que subredes poden chegar a un recurso; non autorizan a un cliente local que chega por un VPN.

Obter acceso privado significa introducir un extremo privado ou un deseño de vínculo privado e despois engadir unha zona DNS privada para que o nome público responda con ese extremo en lugar de con internet. Un VPN combinado cunha regra de extremo de servizo é outra arquitectura que só se parece nun diagrama. App Service segue a mesma lóxica desde a dirección contraria: a integración con VNet permite á aplicación facer chamadas saíntes cara a un VNet e non crea unha ruta privada entrante desde o teu túnel. O acceso privado entrante esixe, por tanto, un extremo privado, un contorno de App Service ou unha pasarela diante da aplicación, e cal deles podes usar depende do plan.

Comprobación catro: produtos coa súa propia porta de entrada

Firebase Hosting non se pode conectar a un Cloud VPN, porque a capa de aloxamento é un frontal global e non algo dentro do VPC dun proxecto. A alternativa documentada é construír o punto de entrada controlado un mesmo, cunha instancia de proxy ou un balanceador de carga respaldado por un depósito. En calquera caso o sitio deixa de ser un produto de aloxamento puro e pasa a ser infraestrutura que agora operas ti. Ese intercambio merece nomearse antes de que alguén prometa que o túnel o cubrirá.

Private API Gateway está máis preto do lado dos servizos de VPC: un extremo de VPC de interface publica un nome de host cuxas respostas son enderezos privados, e o tráfico desde as túas instalacións chega polo túnel ou por unha interconexión dedicada. O extremo ten que estar asociado á API, e o certificado xunto co nome de host deben coincidir co dominio personalizado que usan quen chama.

Os túneles de Google Cloud VPN enlánzanse a enderezos IP de pares, non a nomes. O reenvío de DNS configúrase por separado, e por iso un túnel pode estar perfectamente san mentres as consultas na zona privada remota seguen fallando.

Despois localiza a fronteira

Executa a mesma conexión desde unha VM dentro do VPC. Cando alí funciona e falla desde o cliente VPN, o oco está entre a ruta do cliente e o extremo do servizo: unha ruta, un grupo de seguridade, unha política de extremo ou un nome. Cando fallan ambos os intentos, nada desa rede pode alcanzar o servizo, e o VPN nunca foi o obstáculo.

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

Fai a consulta de nome e a comprobación de porto por separado, porque fallan por motivos distintos e o par diche que metade do camiño está rota. Un nome que se resolve a un enderezo público está a dicirche que a zona DNS privada non está en xogo.

Artigos relacionados