无NAT网关时无法连接私有AWS EKS API端点 请求协助排查
解决私有EKS集群执行
aws eks update-kubeconfig超时问题 以下是针对性的排查和解决步骤:
检查EKS VPC端点配置
- 确认已创建
com.amazonaws.<region>.eks类型的VPC端点,且端点关联的子网是集群所在的私有子网 - 验证端点安全组规则:入站需允许EC2实例所在安全组的443端口访问;出站需允许到EC2实例的443端口
- 在EC2实例上执行
nslookup eks.ap-south-1.amazonaws.com,检查返回的IP是否为VPC端点的私有IP,若返回公网IP,说明端点的私有DNS未启用——需确保EKS VPC端点的PrivateDnsEnabled属性设为true
- 确认已创建
验证EC2实例IAM角色权限
- 确保实例的IAM角色拥有
eks:DescribeCluster权限,可执行aws eks describe-cluster --name my-cluster --region ap-south-1测试,若提示权限不足,需为角色添加包含该权限的IAM策略 - 执行
aws sts get-caller-identity确认当前使用的身份是实例角色,而非手动配置的AK/SK
- 确保实例的IAM角色拥有
排查VPC DNS解析有效性
- 在EC2实例上查看
/etc/resolv.conf,确认nameserver是VPC的DNS服务器(通常为VPC网段+2,如10.0.0.0/16对应的DNS是10.0.0.2) - 执行
dig eks.ap-south-1.amazonaws.com,确认解析结果为VPC端点私有IP,若解析失败或指向公网,需检查VPC的DNS配置是否生效
- 在EC2实例上查看
测试网络连通性
- 在EC2实例上用
nc -zv eks.ap-south-1.amazonaws.com 443测试443端口连通性,若不通:- 再次确认实例安全组出站规则允许到VPC端点的443流量
- 检查VPC端点安全组入站规则是否开放实例安全组的443访问
- 确认私有子网路由表无公网路由,所有AWS服务流量通过VPC端点走内部网络
- 在EC2实例上用
检查AWS CLI配置
- 执行
aws configure get region确认CLI区域设置为ap-south-1,避免因区域不匹配导致的端点错误
- 执行
内容的提问来源于stack exchange,提问作者Nitin G
相关产品推荐
相关产品推荐

