Docker群集安全性和AWS上的高可用性

我正在AWS上部署一个有多个节点的docker群,现在我所有的节点都有公共IP地址,并且我打开了群集通讯的端口(2377,7946,4798)。

我有不同的端口上的多个Web服务(3000,8080 …)我也有一个nginx反向代理,它是唯一的发布端口(80,443)的服务。 我将有一个弹性的IP连接到代理节点,并在该IP地址* .mydomain.com上的Alogging。 所以我的服务将在service1.mydomain.com等访问…

这里有安全问题吗? 导致我的所有节点都有公共IP和暴露的群集端口? 即使他们不发布服务端口?

我应该使用AWS VPC吗? 似乎与swarmnetworkingredondant

谢谢,