如何在 Google Cloud Servers 中映射服务?

如何在 Google Cloud Servers 中映射服务?

我正在将我们的应用程序拆分成更小的服务。我在后端服务器(即不对外开放)上添加新服务,然后在我们的 Web 服务器的 /etc/hosts 文件中创建条目。示例条目

10.160.x.xx newservice.mydomain.com    

这种方法有效。但如果我从 Web 服务器测试服务,我会看到 ping 有效,而 nslookup 无效。所以ping newservice.mydomain.com是成功的,而不是nslookup newservice.mydomain.com
为什么会这样?我怎样才能让 nslookup 也有效?

答案1

nslookup询问 DNS 服务器,而它们不知道您的本地hosts文件,因此它们不会解析其中包含的条目。如果您希望hosts通过 DNS 查找访问您的文件,则必须使用了解该文件的 DNS 服务器(例如,systemd-resolved可以配置为解析该文件)。

但是,使用hosts条目在这里似乎是多余的,因为每个计算引擎实例都可以使用默认的 Google 云 DNS 服务器 ( 169.254.169.254) 进行解析。每个计算引擎的名称是[INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal(有关内部 DNS 的更多信息请参见此处),因此您应该能够通过该名称访问您的服务器。

相关内容