如何在我的 Amazon EKS 集群中将 API 访问权限锁定到特定 IP 地址?

上次更新时间:2020 年 1 月 16 日

我想要在我的 Amazon Elastic Kubernetes Service (Amazon EKS) 集群中将 API 访问权限锁定到特定 IP 地址。

简短描述

您可以锁定两种类型的 Amazon EKS API 服务器访问终端节点的访问权限:

  • 公开访问终端节点。 默认情况下,API 服务器访问权限对公众开放。您可以将访问权限锁定到特定的 CIDR 块和 IP 地址。
  • 私有访问终端节点。 API 服务器只能从 Amazon Virtual Private Cloud (Amazon VPC) 内部访问。您可以通过集群安全组进一步将访问权限锁定到特定 VPC CIDR 块。

解决方法

锁定 API 公开访问终端节点

  1. 打开 Amazon EKS 控制台
  2. 在导航窗格中选择集群,然后选择您的集群。
  3. 联网部分中,选择更新
  4. 展开高级设置
    注意:高级设置选项仅在您启用公开访问后才会显示。
  5. 输入您希望允许从其进行访问的 CIDR 块。
    注意:例如,您可以将从 54.240.193.12954.240.193.190 的 IP 地址范围汇总为 54.240.193.129/26。您可以使用 /32 表示法形成一个 IP 地址(例如,54.240.193.130/32)。这些 CIDR 块不能包括预留地址。
  6. (可选)要输入其他块,请选择添加源
  7. 选择更新

请记住以下几点:

  • 如果您未指定任何 CIDR 块,则公开 API 服务器终端节点将接收来自所有 (0.0.0.0/0) IP 地址的请求。
  • 最佳实践是启用私有终端节点访问权限,以便工作线程节点和 AWS Fargate Pod(如果使用)可以通过私有终端节点与集群通信。
  • 如果未启用私有终端节点,则公开访问终端节点 CIDR 源必须包括来自 Amazon VPC 的出口源。例如,如果在私有子网中有一个工作线程节点,该工作节点通过 NAT 网关与 Internet 通信,则必须将 NAT 网关的出站 IP 地址添加到公开终端节点允许的 CIDR 块中。

锁定 API 私有访问终端节点

  1. 打开 Amazon EKS 控制台
  2. 在导航窗格中选择集群,然后选择您的集群。
  3. 联网部分中,记下您的集群的安全组和其他安全组。
  4. 将入口规则添加到您在步骤 3 中记下的任何一个安全组。
    注意:对于您的入口规则,请设置 TCP 作为协议,并设置 443 作为允许访问的端口和源 IP。

这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?