连接到 google 私有 api 端点(私有服务连接)

问题描述 投票:0回答:1

我锁定了我们的 vpc 和集群,以确保无法访问互联网和公共端点,因此其中一件事是连接到公共端点以访问 googles api,因此我们不应该访问公共端点,而应该访问私有端点/限制谷歌API端点

我正在使用此模块创建 dns、专用服务连接的端点,并且端点似乎可以工作,但是,实际的路由/dns 端不起作用

https://github.com/terraform-google-modules/terraform-google-network/tree/v7.3.0/modules/private-service-connect

因此,当我使用此设置从 VPC 上的虚拟机运行此命令时,我收到此错误:

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://storage-endpoint1.p.googleapis.com/storage/v1/b?project=$(gcloud config get-value project)"
curl: (6) Could not resolve host: storage-endpoint1.p.googleapis.com
google-cloud-platform google-api dns google-cloud-endpoints vpc
1个回答
0
投票

要克服这个错误,您可以关注ET数字团队的这篇博客,它清楚地解释了以下2种方法。

出现该错误的原因有多种,例如启用了 IPv6、没有 DNS 名称服务器、语法问题或网站暂时不可用。

方法1:禁用IPv6来修复错误

方法2:添加Google DNS服务器

根据您所关注的github链接,您可以交叉检查以下几点吗:

  1. 运行 Terraform 的服务帐户必须具有 dns.managementZones.* 权限。您可以通过将 DNS 管理员 默认角色分配给服务帐户来添加它们。

  2. 您最近是否升级过您的开发环境或操作系统?有没有可以更新的防火墙?

解决方法 1: 尝试更新 cURL 并重新启动服务器(通过替换为默认值来更新 /etc/resolv.conf 文件并重新启动系统)。

解决方法 2: Private Service Connect for DNS 遵循命名约定 SERVICE-ENDPOINT.p.googleapis.com。请关注 Deepak Michael 编写的 Codelabs Private Service Connect for Google APIs 示例了解更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.