EC2 与 Kubernetes - 我是否应该禁止 EC2 访问外部网络以提高安全性?

EC2 与 Kubernetes - 我是否应该禁止 EC2 访问外部网络以提高安全性?

我想在某些云(可能是亚马逊、谷歌等)上使用 Kubernetes。我应该禁止我的 EC2 机器访问外部网络吗?我的猜测如下,不知道这是正确的还是错误的?

  1. 应该禁止 EC2 访问外部网络。否则,黑客可以更容易地攻击我的机器。(真的吗?)
  2. 如何操作:我应该使用专用的负载均衡器(可能是 Ingress),并将我的域名绑定到外部 IP。然后,负载均衡器将与我的实际应用程序(具有外部IP,只能访问内部网络)。 (真的吗?)

抱歉,我是 Ops 的新手,感谢您的帮助!

答案1

你混淆了两件事:

  1. EC2 访问外部世界,以及
  2. 外部世界访问 EC2

第一个 -EC2 访问外界- 表示实例发起连接。这通常不是问题,您的实例可能需要访问外部世界以进行更新、发送日志、提取容器映像等。如果它们没有直接访问权限,您必须提供代理、vpc 端点或其他一些方法来解决限制。

第二个 -外部世界访问 EC2- 限制如何连接到您的实例。出于多种原因,建议在您的实例前面使用应用程序负载均衡器:

  • 使用 kubernetes 时,您不知道 pod 的 IP 和端口,ALB 提供统一的前端 IP
  • 您可以终止 SSL 并在 ALB 上使用 Amazon 颁发的 SSL 证书 (ACM)
  • 它可以保护你免受一些攻击
  • ETC。

所以是的,在进入时使用负载均衡器,但不要限制实例的外部访问,除非您的安全团队指示您这样做,并且您已准备好处理额外的运营和成本开销(代理,vpc端点等)。

希望有帮助:)

相关内容