red*_*888 4 google-compute-engine google-cloud-platform
我有一个应用程序,内部 GCP 服务和实例以及办公室网络上的最终用户都可以访问该应用程序,但不能公开访问。
对于内部访问,我可以在 GCE 实例上运行应用程序,并让内部 gcp 服务/实例使用实例的私有 DNS 主机名(以获取其私有 IP)。对于办公室用户,我可以为实例提供一个公共静态 IP,并将办公室网络的公共 IP 列入白名单。
如果不创建到办公室网络的 VPN,有没有办法让我拥有单个 URL/端点内部 GCP 并且外部用户可以访问?如果可行的话,该应用程序也可能在 gke 上运行。
这是我撰写的题为“ Google Cloud Private DNS Zones ”的文章的复制和粘贴。
\n\n2018 年 10 月 23 日,Google 为 Google Cloud DNS 引入了私有 DNS 区域。这是一个重要的公告,因为这可以保持内部 DNS 名称的私密性。今天的文章介绍了如何在 Google Cloud Platform 中实现这一新功能。
\n\n什么是 Google Cloud 私有 DNS 区域?DNS 服务器可以提供称为水平分割 DNS 的功能。这意味着返回到 DNS 查询的信息可能会根据请求者的位置而改变。对于 Google Cloud DNS,您的查询可以来自公共互联网或 Google Cloud VPC。
\n\nGoogle Cloud DNS 现在可以提供:
\n\nGoogle Cloud DNS 的私有区域是测试版功能。这需要使用 gcloud CLI 创建私有区域。
\n\n在本文中,我们将使用域名“example.com”。我们将设置私人和公共区域。
\n\n第 1 步 - 创建私有区域。
\n\ngcloud beta dns managed-zones create --dns-name="example.com" --description="Private Zone" --visibility=private --networks=default "private-zone"\n
Run Code Online (Sandbox Code Playgroud)\n\n第 2 步 - 创建公共区域。
\n\n请注意,如果您的域名未使用 Google Cloud DNS,则可以跳过此步骤。
\n\ngcloud beta dns managed-zones create --dns-name="example.com" --description="Public Zone" --visibility=public "public-zone"\n
Run Code Online (Sandbox Code Playgroud)\n\n步骤 3 - 使专用区域对默认网络可见。
\n\ngcloud beta dns managed-zones update private --networks default\n
Run Code Online (Sandbox Code Playgroud)\n\n步骤 4 - 获取 VM 实例的完整主机名和短主机名。
\n\n此步骤需要手动找出实例的内部主机名。连接到实例。这些命令从实例控制台运行。
\n\nhostname\n
Run Code Online (Sandbox Code Playgroud)\n\n此命令返回短主机名。
\n\nweb-server-1\n
Run Code Online (Sandbox Code Playgroud)\n\n现在获取长主机名。
\n\nhostname -f\n
Run Code Online (Sandbox Code Playgroud)\n\n此命令返回长主机名。
\n\nweb-server-1.us-east4-c.c.development-123456.internal\n
Run Code Online (Sandbox Code Playgroud)\n\n步骤 4 - 使用实例的私有 DNS 名称将实例添加到私有区域。
\n\n此步骤使用 Google Cloud Console。控制台 -> 网络服务 -> 云 DNS。注意我们刚刚创建的两个区域“私有区域”和“公共区域”。选择私人区域。
\n\n控制台应显示该区域的两个条目。NS(名称服务器)记录和 SOA(授权起始)。
\n\nGoogle Console 窗口顶部附近有“ADD RECORD SET”按钮。单击此按钮。
\n\n对于 DNS 名称,输入:web-server-1
将资源记录类型更改为:CNAME
对于规范名称,请输入:\xc2\xa0web-server-1.us-east4-ccdevelopment-123456.internal
步骤 5 - 使用公共 IP 地址将实例添加到公共区域。
\n\n返回云 DNS。选择公共区域。单击“添加记录集”。
\n\n对于 DNS 名称,输入:web-server-1(或您希望公共 DNS 支持的名称)。
对于资源记录类型:A
对于 IPv4 地址,输入:the public IP address
步骤 6 - 验证公共 DNS 解析。
\n\n从您的桌面或另一台连接到 Internet 的计算机,打开命令 shell/提示符和ping web-server-1.example.com
. 这应该解析为公共 IP 地址。
步骤 7 - 验证私有 DNS 解析。
\n\n从同一 Google Cloud VPC 中的另一个虚拟机实例,打开命令 shell/提示符和ping web-server-1.example.com
. 这应该解析私有 DNS 名称和 IP 地址。
你有它。Google Cloud DNS 现在支持水平分割 DNS(通常称为裂脑 DNS)。
\n 归档时间: |
|
查看次数: |
2525 次 |
最近记录: |