云原生网关和后端服务所在的节点分别处于不同安全组内。您可以通过设置安全组规则为云原生网关授予访问后端服务的权限。
背景信息
安全组是一种虚拟防火墙,用于控制安全组内ECS实例和ENI网卡的入流量和出流量,从而提高ECS实例的安全性。安全组具备状态检测和数据包过滤能力,您可以基于安全组的特性和安全组规则的配置在云端划分安全域,详情请参见安全组概述。
您在购买云原生网关时需要选择VPC和安全组类型(建议与后端服务所在安全组类型一致),根据您选择的安全组类型,云原生网关会创建相应托管安全组管理网关的实例节点。因为云原生网关和后端服务所在的节点分别处于不同安全组内,需要您在后端服务的安全组内为云原生网关授予必要的端口范围访问权限。
步骤一:获取目标服务所在节点的安全组
云原生网关关联的上游服务,主要包括容器部署和ECS部署。您可以通过以下方式获取安全组ID。
目标服务部署在容器服务ack中
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在节点池页面,单击对应的节点,然后单击基本信息页签,获取安全组的ID。
目标服务部署在ECS上
登录ECS管理控制台。
在左侧导航栏,选择 。
在实例页面,单击目标服务所部署的ECS实例,然后单击安全组页签,获取安全组的ID。
步骤二:添加安全组授权规则
登录MSE网关管理控制台。
在左侧导航栏,选择云原生网关 > 网关列表,并在顶部菜单栏选择地域。
在网关列表页面,单击目标网关名称。在左侧导航栏单击基本概览,然后单击安全组授权页签。
单击授权安全组,在SecurityGroup ID列的文本框中,粘贴步骤一中获取的安全组ID,选择相应的安全组。
输入安全组授权的端口范围:起始值/终止值。
可以输入多个端口范围,每输入一个端口范围单击回车,即可生效。
单击保存。
云原生网关会生成对应的规则。
同时目标节点所在的安全组中也会看到在云原生网关创建的安全组规则。
删除安全组授权规则
登录MSE网关管理控制台。
在左侧导航栏,选择云原生网关 > 网关列表,并在顶部菜单栏选择地域。
在网关列表页面,单击目标网关名称。
在左侧导航栏基本概览,单击授权安全组页签,然后单击操作列下方的删除,单击确定。
默认只删除云原生网关的安全组规则,如需将目标节点所在安全组的规则一并删除,您还需要勾选级联删除该安全组内的上述入方向规则。
常见问题
问题一:安全组已经授权,为什么服务还是访问不通?
您可以按照如下步骤自助排查:
首先需要确认您的目标服务所部署的节点是否正确。
有可能存在服务部署在了A节点上,但是给B节点所在的安全组授权。
您的目标节点是否设置了多个安全组。
如果是多个安全组,建议给每个安全组都授权。
问题二:安全组已经授权,之前网关访问服务是通的,现在突然间不通了,是什么原因?
您可以按照如下步骤自助排查:
首先确认您的服务本身没有问题。
您可以对同一安全组内的其他节点使用
curl
命令检查服务的连通性。确认您发布的服务对外暴露的端口是否有变更。
例如以前端口为8080,在云原生网关只给8080端口授权了,之后又将端口变更为8081,这时需要重新调整云安全组授权规则端口。为了避免这种情况发生,建议您在配置安全组授权时扩大端口范围,可以将范围选成1/65535。