如何在我的 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 公开访问终端节点
- 打开 Amazon EKS 控制台。
- 在导航窗格中选择集群,然后选择您的集群。
- 在联网部分中,选择更新。
- 展开高级设置。
注意:高级设置选项仅在您启用公开访问后才会显示。 - 输入您希望允许从其进行访问的 CIDR 块。
注意:例如,您可以将从 54.240.193.129 到 54.240.193.190 的 IP 地址范围汇总为 54.240.193.129/26。您可以使用 /32 表示法形成一个 IP 地址(例如,54.240.193.130/32)。这些 CIDR 块不能包括预留地址。 - (可选)要输入其他块,请选择添加源。
- 选择更新。
请记住以下几点:
- 如果您未指定任何 CIDR 块,则公开 API 服务器终端节点将接收来自所有 (0.0.0.0/0) IP 地址的请求。
- 最佳实践是启用私有终端节点访问权限,以便工作线程节点和 AWS Fargate Pod(如果使用)可以通过私有终端节点与集群通信。
- 如果未启用私有终端节点,则公开访问终端节点 CIDR 源必须包括来自 Amazon VPC 的出口源。例如,如果在私有子网中有一个工作线程节点,该工作节点通过 NAT 网关与 Internet 通信,则必须将 NAT 网关的出站 IP 地址添加到公开终端节点允许的 CIDR 块中。
锁定 API 私有访问终端节点
- 打开 Amazon EKS 控制台。
- 在导航窗格中选择集群,然后选择您的集群。
- 在联网部分中,记下您的集群的安全组和其他安全组。
- 将入口规则添加到您在步骤 3 中记下的任何一个安全组。
注意:对于您的入口规则,请设置 TCP 作为协议,并设置 443 作为允许访问的端口和源 IP。