google-cloud-platform - 私有云数据融合可以连接到互联网吗?
问题描述
我们的应用程序由通过“cloud run”和“cloud sql postgres”数据库部署的spring-bot应用服务器组成。
该数据库是私有的,并连接到私有 VPC。
应用服务器可以通过“云运行”配置提供的此私有 VPC 的网关连接到数据库。
我们希望定期向这个数据库提供“云数据融合”(CDF)。CDF 应该从 AWS S3 获取数据并将其推送到我们的数据库中。
我们为此目的设计并验证了一个管道,但我们面临着一个网络悖论:
- CDF 是公共的,可以通过 Internet 从 S3 读取,但无法访问云数据库
- 或者 CDF 是私有的,可以访问我们的数据库,但无法访问 Internet 进行 S3 获取...
CDF 如何既可以写入私有数据库又可以从 Internet读取数据?
我很惊讶 CDF 实例,即使是私有的,也无法建立与 Internet 资源的 EGRES 连接。
解决方案
Cloud Data fusion 是一个帮助您构建管道的工具(基于CDAP)。如果您将 Data Fusion 设置为私有,则对工具的访问是私有的,而不是运行时!在 Google Cloud 上,流水线在Dataproc 集群上运行。
所以现在的问题是:您的 Dataproc 集群能否访问互联网和您的数据库?
- 如果您的集群与您的 Cloud SQL 数据库私有 IP 连接在同一 VPC 中运行,并且没有阻止通信的防火墙规则,则可以
- 如果组成集群的 Compute Engine 具有公共 IP,没问题,您可以访问公共 URL。否则,正如 John Hanley 所说,您可以创建 Cloud NAT 以允许您的 Compute Engine 发起对外部 URL 的调用。
推荐阅读
- stm32 - 如何在 STM32 中禁用 STOP 模式
- python - 如何在 TOC(目录)之前插入段落
- android - 使用 Flutter 将图像上传到通用 Google Drive 帐户
- python - 具有阈值二进制逻辑的 Opencv 阈值 Otsu
- angular - 在 Solace Event Broker 中验证传入连接
- python - 如何在python中对字母数字列表进行排序?
- python - 将 else 语句放入循环中
- reactjs - 将自定义标题添加到 Material Ui Multiselect
- python - 使用 PyTorch 进行两流 CNN 并行推理
- node.js - 如何在nodejs中获得两个位置之间的行驶距离