dmi*_*ryb 5 google-app-engine app-engine-flexible
我在一个 App Engine 柔性环境项目中部署了一些服务。服务实例在其app.yaml文件中指定的同一 VPC 网络(非默认)中运行,并从同一子网分配 IP 地址。默认情况下,这两个服务都可以从外部访问,我想配置防火墙规则,只保留允许传入流量的默认服务。
因此,作为第一步,我正在配置一个规则来拒绝此 VPC 中所有实例的所有入口,目的是创建另一个具有更高优先级的规则,以仅允许一个运行默认服务的实例的流量。
问题是,当我创建优先级为 1001 的防火墙规则来阻止所有传入流量时,我的默认服务仍然收到请求。但是,如果我指定优先级为 1000 或更低,则流量将被阻止,并且会出现 502 服务器错误。
问题当然是为什么?VPC 文档指出,所有手动创建的 VPC 网络只有两个默认防火墙规则:
- 默认的“允许出口”规则。
允许所有出口连接。规则的优先级为 65535。- 默认的“拒绝入口”规则。
拒绝所有入口连接。规则的优先级为 65535
那么为什么我的 1001 优先级规则无法阻止入口,而优先级为 1000(或更低)的完全相同的规则按预期工作?Flex 实例是否还有其他默认防火墙规则,还是我在这里遗漏了其他内容?
据我了解,两个防火墙都必须允许流量才能使请求到达您的 App Engine。如果任何人有充分的理由阻止该请求,则该请求将被阻止。
您可以通过查看响应代码知道哪个防火墙正在阻止:
如果启用了日志,您可以知道 VPC 防火墙上的哪个规则导致拒绝。
关于“1000 对 1001 优先级”规则,这是一种非常奇怪(且未记录)的行为。因此,让我们在这里为可能偶然发现它的人记录它:
灵活 App Engine 实例的 VPC 网络规则似乎仅在优先级低于 1000 时才起作用。
| 归档时间: |
|
| 查看次数: |
1166 次 |
| 最近记录: |