Estoy en el proceso de convertir nuestra aplicación en servicios más pequeños. Agrego los nuevos servicios en un servidor back-end (es decir, no accesible al público) y luego hago entradas en el archivo /etc/hosts de nuestros servidores web. Entrada de muestra
10.160.x.xx newservice.mydomain.com
Este enfoque funciona. Pero si pruebo el servicio desde el servidor web, veo que ping funciona, no nslookup. Así ping newservice.mydomain.com
es exitoso, no nslookup newservice.mydomain.com
¿Por qué es así? ¿Cómo puedo hacer que nslookup también funcione?
Respuesta1
nslookup
pregunta los servidores DNS, y no tienen conocimiento de su hosts
archivo local, por lo que no resolverán las entradas que contiene. Si desea hosts
que se pueda acceder a su archivo mediante búsquedas de DNS, debe utilizar un servidor DNS que tenga conocimiento sobre él (por ejemplo, systemd-resolved
que pueda configurarse para analizar el archivo).
Sin embargo, usar una hosts
entrada parece redundante aquí, ya que cada instancia del motor informático se puede resolver utilizando el servidor DNS predeterminado de la nube de Google ( 169.254.169.254
). El nombre de cada motor de cálculo es [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal
(Más información sobre el DNS interno está disponible aquí.), por lo que debería poder acceder a sus servidores con ese nombre.