GCP:我如何保护我的 vm 实例免受 Internet 访问,但保持它可以从 API 网关访问

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

我有一个 vm 实例在 Go 中创建我们的服务,我们希望我们的用户在访问 vm 实例之前通过 API 网关(用于监控、身份验证和其他原因......)。

我们已经在谷歌购买了注册的

private-acme.com
DNS,Go 服务可以通过这个 URL 访问:
http://private-acme.com:1234/service
API 网关有一个重定向到该服务的 Open API yaml,一切正常。 API url 由控制台给出:
https://acme-api-abcdefg123.ew.gateway.dev

所以

https://acme-api-abcdefg123.ew.gateway.dev/service
重定向到
http://private-acme.com:1234/service
,一切正常。但是
http://private-acme.com:1234/service
仍然可以访问并且不需要我们在网关上设置的API密钥

所以我想在虚拟机实例上设置防火墙规则。目前,我有一个名为

gw-apps
的防火墙规则,带有
gw
标签,允许
0.0.0.0/0
范围和端口
1234
.

不幸的是,在我看来,不可能创建一个防火墙规则,只允许 Api 网关 IP 访问 vm 实例。无法为 API 网关分配 IP 或 IP 范围。

网关 IP 当前是

216.239.XXX.YYY
,但是如果我将
216.0.0.0/8
放在防火墙中而不是
0.0.0.0/0
,它会失败。无论如何,我们不确定地址是否以
216

开头

gw
标记API网关也不行,我不知道为什么。它将允许为防火墙创建源过滤器

建议使用连接器(50 美元/月...)来做我们想做的事,但它仅适用于 CloudRun、Cloud Function 或 App Engine,不适用于 API 网关

关于如何保护我的虚拟机实例有什么想法吗?

google-cloud-platform api-gateway
© www.soinside.com 2019 - 2024. All rights reserved.