云防火墙管控ACK公网访问

场景描述

很多金融或其他领域的业务场景对网络安全要求很高,不允许计算资源有出入vpc网络环境的权限,但是由于当前阿里云大量服务组件的openapi都是只能以公网方式访问,而且ACK(阿里云容器服务kubernetes版)因为需要通过对接openapi和其他云服务及基础设施打通,所以ACK集群网络需要通过SNAT的配置具备出公网的权限(不需要入),如果我们当前的业务需求不允许有出公网的权限,同时我们又希望能很好的使用ACK服务及ACK对接的周边云服务,那么我们可以参考下面的方法来实现。

解决思路

通过云防火墙规则的配置,放行ACK集群所关联的SNAT的eip对阿里云openapi的访问,并拒绝非阿里云openapi相关的公网访问。

创建ACK集群

在ACK控制台上,按照常规方法进行ACK集群的创建,如果集群网络中没有SNAT访问,我们可以自行去NAT网管进行配置,也可以在容器创建集群的控制台上勾选下面的配置:
云防火墙管控ACK公网访问

打开防火墙开关

当k8s集群创建成功后,我们可检查下相关系统组件是否已成功运行,如集群一切正常,首先,我们在云监控中找到“防火墙开关”,打开保护对应SNAT相关联的eip
云防火墙管控ACK公网访问

访问配置

找到访问控制,并新增两个内对外的策略,访问源为snat eip的ip地址
云防火墙管控ACK公网访问

放行策略如下(放行 *.aliyuncs.com域名):
云防火墙管控ACK公网访问

拒绝策略如下:
云防火墙管控ACK公网访问

注意:配置放行策略优先级高于拒绝策略

结果:

所有ACK集群系统组件及周边对接组件均可正常工作,同时关闭了容器中访问公网的权限,另外,通过云防火墙,ACK集群可拥有更细粒度的网络管控能力。

上一篇:使用minikube安装k8s单节点集群


下一篇:ACK Istio ingress gateway 生产调优