我有一个可由内部gcp服务和实例以及办公室网络上的最终用户(但不是公开地)访问的应用程序。
对于内部访问,我可以在GCE实例上运行应用程序,并使内部gcp服务/实例使用实例的私有DNS主机名(以获取其私有IP)。对于办公室用户,我可以为该实例提供一个公共静态IP,并将该办公室网络的公共IP列入白名单。
如果不创建到办公网络的VPN,是否可以使用一个URL /端点内部GCP,而外部用户可以访问?如果可以的话,也可以在gke上运行该应用程序。
答案 0 :(得分:4)
这是我写的标题为“ Google Cloud Private DNS Zones”的文章的副本和粘贴。
2018年10月23日,Google为Google Cloud DNS引入了私有DNS区域。这是一个重要的公告,因为这使内部DNS名称保持私有。今天的文章介绍了如何在Google Cloud Platform中实现此新功能。
什么是Google Cloud Private DNS区域? DNS服务器可以提供称为水平分割DNS的功能。这意味着返回到DNS查询的信息可以根据询问者的位置而改变。对于Google Cloud DNS,您可以通过公共Internet或Google Cloud VPC进行查询。
Google Cloud DNS现在可以提供:
Google Cloud DNS的专用区域是Beta版功能。这需要使用gcloud CLI创建私有区域。
对于本文,我们将使用域名“ example.com”。我们将同时设置私有区域和公共区域。
第1步-创建专用区域。
gcloud beta dns managed-zones create --dns-name="example.com" --description="Private Zone" --visibility=private --networks=default "private-zone"
第2步-创建公共区域。
请注意,如果您的域名未使用Google Cloud DNS,则可以跳过此步骤。
gcloud beta dns managed-zones create --dns-name="example.com" --description="Public Zone" --visibility=public "public-zone"
第3步-使专用区域对默认网络可见。
gcloud beta dns managed-zones update private --networks default
第4步-获取VM实例的完整主机名和简短主机名。
此步骤需要手动确定实例的内部主机名是什么。连接到实例。这些命令从实例控制台运行。
hostname
此命令返回短主机名。
web-server-1
现在获得长主机名。
hostname -f
此命令返回长主机名。
web-server-1.us-east4-c.c.development-123456.internal
第4步-使用实例的私有DNS名称将其添加到私有区域。
此步骤使用Google Cloud Console。控制台->网络服务->云DNS。请注意,我们刚刚创建了两个区域“私有区域”和“公共区域”。选择私有区域。
控制台应显示该区域的两个条目。 NS(名称服务器)记录和SOA(授权开始)。
“ Google控制台”窗口顶部附近是“添加记录集”按钮。点击此按钮。
对于DNS名称,输入:web-server-1
将“资源记录类型”更改为:CNAME
输入标准名称:web-server-1.us-east4-c.c.development-123456.internal
第5步-使用实例的公共IP地址将其添加到公共区域。
返回到Cloud DNS。选择公共区域。点击“添加记录集”。
对于DNS名称,请输入:web-server-1(或您希望公共DNS支持的名称)。
对于资源记录类型:A
对于IPv4地址,输入:the public IP address
第6步-验证公共DNS解析。
在您的台式机或连接到Internet的另一台计算机上,打开命令外壳/提示符,然后打开ping web-server-1.example.com
。这应该解析为公共IP地址。
第7步-验证私有DNS解析。
从同一Google Cloud VPC中的另一个VM实例中,打开命令外壳/提示符,然后打开ping web-server-1.example.com
。这样应该可以解析私有DNS名称和IP地址。
那里有。 Google Cloud DNS现在支持水平分割DNS(通常称为水平分割DNS)。
答案 1 :(得分:0)
适当的负载平衡器以及Cloud Armor策略。可以设置为“公共的Office网络到负载Balacer通信,但GCP上托管的应用程序的负载均衡器”通信是私有的。 CloudArmor将使您将Office网络的IP列入白名单,以允许负载平衡器上的流量并阻止其余的传入公共流量。您无需为应用程序服务器提供公共IP / DNS。
答案 2 :(得分:0)
DNS
中的单个主机名不能解析为两个IP地址。除非使用轮询或类似方法。
除主机名外,大多数服务器都能够收听0.0.0.0
(任何接口)。
如果主机头对于虚拟主机很重要,则可以对其进行配置,
,以便两个主机名都可以访问相同的服务。