如何配置GCP防火墙规则仅允许全球负载均衡器访问私有IP实例
GCP全球负载均衡器访问私有Nginx实例的防火墙配置方案
核心思路
GCP全球负载均衡器没有类似AWS的安全组绑定机制,但可以通过预定义服务IP范围或者LB前端IP来精准限制流量来源,确保只有LB的请求能访问你的私有Nginx实例。
具体操作步骤
优先推荐使用GCP预定义的
google-managed-servicesIP组,它涵盖了所有GCP托管服务(包括全球LB)的IP段,配置后无需担心LB IP变更:- 进入GCP控制台的「VPC网络 > 防火墙」页面
- 新建或编辑现有允许80端口的防火墙规则
- 「源IP范围」处输入
google-managed-services - 「目标标签」设置为你的Nginx实例的标签(比如
nginx-private-instance),确保规则只作用于目标实例 - 「协议和端口」选择「指定的协议和端口」,勾选
tcp:80 - 保存规则即可
如果需要更精准的控制(比如只允许特定LB的流量):
- 找到你的全球负载均衡器对应的转发规则,获取其分配的前端IP/IP范围
- 将这个IP/范围填入防火墙规则的「源IP范围」
- 注意:如果后续LB的IP发生变更(比如重新创建转发规则),需要手动更新防火墙规则
和AWS安全组机制的对比
GCP没有直接支持“安全组互授权”的方式,但通过google-managed-services这个预定义组,能达到和AWS中“后端安全组允许负载均衡器安全组流量”相同的效果——只放行合法的LB流量,避免暴露实例到公网。
内容的提问来源于stack exchange,提问作者RamPrakash
相关产品推荐
相关产品推荐

