问题标签 [google-vpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
220 浏览

google-cloud-platform - 如何确保 gsutil 复制不使用外部 Internet?

我有一个使用本指南在 GCP 上构建的 Minecraft 服务器。它在 GCP us-central1-f (Iowa) 上运行,在 us-central1 (Iowa) 上有一个区域存储桶。我有一个 cronjob 设置来运行一个 bash 脚本,以使用 gsutil 每 4 小时将世界文件(大约 2GB)备份到存储桶。这是备份脚本:

我已经以这种方式运行了大约一个月,我注意到我被收取数百 GB 的外部网络出口费用,并且 Minecraft 服务器上只有 5-10 个用户。我联系了 GCP 支持,他们确认网络数据是传输到存储桶的数据,这显然是通过互联网传输的。他们的建议是配置 Private Google Access 以使用 gsutil。

我与另一位 GCP 支持代表合作尝试这样做:

  • 我们编辑了服务器 VM 实例并将“云 API 访问范围”设置为“允许完全访问所有云 API”
  • 我们进入默认 VPC 网络并为 us-central1 启用“私人 Google 访问”。
  • 我们禁用了外部 IP,并确认我能够将文件复制到存储桶,因此备份可以通过内部网络运行。

根据配置私人谷歌访问的文档,具有分配给其网络接口的外部 IP 地址的虚拟机不需要私人谷歌访问来连接到谷歌 API 和服务。GCP 支持无法判断备份流量现在是通过内部链接还是外部链接。他们将我指向 Stack Overflow 寻求帮助。

所以我想我的问题是,我需要做些什么来确保我使用 gsutil cp 的备份通过内部网络传输,而不是通过互联网传输?我需要调整路由吗?我已经阅读了有关 gsutil 的文档,但我没有找到任何关于如何指定流量如何流动的信息。

在此先感谢您的帮助!

0 投票
0 回答
109 浏览

google-cloud-platform - 识别子网以在 GCP 中启用 VPC 流日志

我们需要VPC Flow logs在我们的GCP环境中启用。大约有 100 个项目,大多数服务都在使用SharedVPC. 每个SharedVPC都有大约三个subnets,并且许多项目中的服务仍在运行,Default VPC因为有与VPC Flow logslikestorage costs和相关的成本Data access Audit Logs。所以我们的计划不是Flow logs 只在subnets面向 Internet 的设备上启用。但是private/public subnet在“GCP”中没有任何东西。

我们正在考虑的一种选择是识别subnets暴露于 Internet 或使用Public IP类似Google Load Balancer、、、VM instances with Public IPGKE LB and Ingress的GCP 服务并在这些服务上Cloud SQL instances with Public IP启用。但是我们必须浏览所有项目以识别这些服务的子网,这些服务使用. 这有意义吗?VPC Flow LogssubnetsPublic IP

还有一些选项,例如增加Aggregation internalsample rate降低相关成本,VPC flow logs但我正在寻找可用于确定subnets启用的指南和最佳实践VCP flowlogs

0 投票
2 回答
294 浏览

google-cloud-platform - 如何为正在运行的 gke 集群指定节点 IP

我有一个正在运行(生产)的 GKE 集群,它保留在默认 VPC(我们为 10.158.0.0/20)上。在集群内部,为了避免某些 VPN 上的 IP 冲突,我们选择将 192.168.0.0/20 和 192.168.16.0/20 用于内部 pod 和服务。

这工作得很好,但现在我需要制作一个特定的 POD(具有 192 IP)来访问 VPN 上的系统(其最终 IP 位于 172.16 地址)。我知道我可以找到与创建的节点关联的 IP 并将其添加到 VPN,但是当此自动缩放到多个节点时,将有一个新的不同 IP,因此我将不得不再次更新 VPN再一次,我想避免这种情况。

有什么方法可以做到这一点,而无需在新的不同子网上重新创建整个集群?像一些网关或我可以将 pod 路由到然后将网关路由到所需的 VPN 隧道的东西?或者也许将 192 网络路由到 VPN 隧道?那也行。

谢谢

0 投票
2 回答
1050 浏览

google-cloud-platform - 如何修复 GCP 防火墙规则不起作用

我有一个配置的防火墙规则networkGCP我有几个实例,其中两个如下。

我想从 pingkube-masterkube-minion所以,我设置了一个防火墙规则(master-to-node),icmp如下所示。

在此处输入图像描述

但问题是我仍然无法从kube-masterto ping 通kube-minion。我登录到实例 1 ( kube-master) 并尝试 ping 实例 2 ( kube-minion) 的公共 IP 地址,但它不 ping

如上图,我是否限制了这种行为?但是我已经设置了优先级,2所以它会优先。

当我设置source0.0.0.0/0而不是给kube-master它工作时,但我只需要这样做(将流量发送到kube-minionkube-master

有人可以告诉我我在哪里做错了吗?谢谢!

0 投票
1 回答
338 浏览

google-cloud-platform - 无法在 Google Cloud asia-south1(孟买)区域创建无服务器 vpc 访问连接器

我正在尝试在Google Cloudasia-south1(Mumbai) 区域创建无服务器 vpc 连接器。但每次我尝试时,我都会收到一条消息,错误创建 vpc 连接器。我已经尝试过其他地区(us-central1、europe-west1、asia-southeast2)等,它运行良好。但是在 asia-south1(Mumbai) 地区创建它时出现错误。

我正在使用以下参数:

  • 亚南1
  • 默认网络
  • 10.8.0.0
  • 200mbps 分钟
  • 最大 300mbps

请帮我解决问题

0 投票
1 回答
289 浏览

google-cloud-platform - 建立 Cloud VPN 后,VPC 中的 Compute Engine 无法连接到 Internet 和 Cloud Storage

假设我有一个 IP 范围为 10.148.0.0/20 的自定义 VPC,此自定义 VPC 具有允许内部的防火墙规则,因此这些 IP 范围内的服务可以相互通信。系统增长后,我需要使用 Classic Cloud VPN 连接到一些本地网络,已经创建了 Cloud VPN(已经有人配置的本地端配置)和已经建立的 VPN 隧道(带有绿色复选标记)。

我现在也可以使用在自定义 VPC 网络上创建的计算引擎 ping 到本地 IP(假设 ping 到 10.xxx.xxx.xxx,这不是 GCP 内部/私有 IP 而是本地私有 IP)。

问题是自定义 VPC 网络中生成的所有计算引擎实例现在无法与 Internet 通信(如执行 sudo apt update),甚至无法与谷歌云存储通信(使用 gsutil),但它们可以使用私有 IP 进行通信。我也无法在该自定义 VPC 上生成 dataproc 集群(我猜是因为它无法连接到 GCS,因为 dataproc 需要 GCS 来暂存存储桶)。

由于我并不真正了解网络知识并且对 GCP 来说相对较新,因此如何能够在我在自定义 VPC 中创建的实例上连接到互联网?

0 投票
1 回答
407 浏览

google-cloud-platform - GCP VPC 对等互连(自动模式)

我有两个 GCP 项目,它们有自己的 VPC(在自动模式下创建),我想在它们之间创建一个VPC 对等连接,以便两个 VPC 中的计算实例能够相互通信。

但是由于 VPC 是在自动模式下创建的,因此两个网络的子网都使用相同的预定义 IP 地址范围,这意味着我无法将 VPC 连接在一起,因为 IP 范围重叠。

在两个 VPC 中,我的计算实例位于“相同”子网中,并且将子网模式(从自动转换为自定义)可以让我更改这些子网的 IP 范围。但新的 IP CIDR 范围需要是当前 IP CIDR 范围的超集,并且 IP 范围仍将重叠。

这里有什么解决方案?

请注意,我不需要在每个区域中创建子网,因为我现在只使用 1 或 2 个子网。

0 投票
1 回答
118 浏览

google-cloud-platform - 来自 Google Cloud 中雅加达的网络互联网标准出站流量

您好,我对 Google Cloud Platform 中的 Compute Engine 有疑问,这是我第一次使用 Compute Engine 在 Google Cloud 中构建虚拟主机。

我认为每天 80 美元的账单和每天100.000次页面浏览量的账单太贵了。

所以我想弄清楚哪些服务成本最高。

所以我得到了“来自雅加达的网络 Internet 标准出口”,这几乎是每日费用的90%

我参考了此文档:- “计算引擎网络 Internet 出口”对 Google Cloud 意味着什么?它说

“网络 Internet Egress 是从 Google Cloud Platform 退出或下载的流量

所以我假设Network Internet Egress与网站访问者的数量成正比。

问题是,这正常吗?或者我可以做些什么来降低成本?

这是虚拟机规范

  1. 虚拟机实例区域 asia-southeast2-a(雅加达)
  2. 标准永久性磁盘 1000 GB (jakarta)
  3. 机器类型 e2-highmem2(2 个 vCPU,16GB 内存)
  4. 网络接口默认
0 投票
0 回答
354 浏览

google-cloud-platform - 使用私有 IP 地址和多个私有服务连接启动 CloudSQL

我创建了一个GCP CloudSQL使用私有地址的实例Private Service Access。我为其分配了子网掩码 (/20),Private Service Access并且能够MySQL instance使用此范围成功启动一个。GCP 为 /20 子网掩码分配了以下范围

之后,我创建了Private Connection如下所示的列表

现在我分配了另一个私有地址范围, Private Service Connection如下所示

以下是我基于上述设置的查询

  1. 由于我已经Private Connection为此共享 VPC 创建了新的 IP 范围,如何将新 IP 范围添加到此私有连接中,还是会自动处理?

  2. 当我使用“私有 IP”创建CloudSQL实例时,它会从我创建的第一个范围为实例分配 IP 地址CloudSQL。这是 IP 范围

我想CloudSQL使用新分配的 IP 地址范围启动。我无法指定 IP,因为它VPC Name只是我可以提交的

这是否意味着只有一个 IP 范围与一个相关联Private Service Connection

  1. 我们可以Redis使用相同的私有连接启动实例吗?
0 投票
2 回答
433 浏览

postgresql - 为什么 App Engine 无法连接到 Compute Engine 虚拟机实例?

我在 GCP 上有一个使用 postgres 运行的 VM 实例(e2-micro)。我添加了自己的外部 IP 地址,pg_hba.conf以便可以连接到本地计算机上的数据库。旁边我有一个 nodeJS 应用程序,我想连接到该数据库。在本地工作,应用程序可以连接到 VM 实例上的数据库。但是,当我将应用程序部署到 GCP 时,当我尝试在浏览器中访问该页面时出现 500 服务器错误。

这些是我已经做过/尝试过的事情:

  • 创建了防火墙规则以允许在我自己的外部 IP 地址上进行连接
  • 创建了一个 VPC 连接器并将该连接器添加到我的app.yaml
  • 确保一切都在同一个项目和地区(欧洲西部1)

如果我允许我的VM实例上的所有IP地址,0.0.0.0/0那么App Engine可以连接,所以我的猜测是我做错了连接器?当虚拟机实例的内部 IP 地址是时,我使用10.8.0.0/28IP 范围,这10.132.0.2是一个问题吗?我尝试了一个 IP 范围,10.0.0.0但也没有用。