You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform创建AWS EKS集群时遭遇access_config块不支持错误

问题:Terraform创建EKS集群时access_config块报错

我参考Terraform AWS provider官方文档中的“EKS Cluster with Access Config”章节,用Terraform创建AWS EKS集群,在aws_eks_cluster资源里添加access_config块后,执行terraform plan时出现如下错误:

在eks.tf第144行,resource "aws_eks_cluster" "aws_eks"中:144: access_config {
此处不期望出现类型为"access_config"的块。

相关代码片段:

resource "aws_eks_cluster" "aws_eks" {
  name     = var.eks_cluster_name
  role_arn = aws_iam_role.eks_cluster.arn

  enabled_cluster_log_types = ["api", "audit", "authenticator"]
  
  vpc_config {
    endpoint_private_access = true
    endpoint_public_access  = false
    
    subnet_ids = [
      aws_subnet.eks_public_subnet[0].id,
      aws_subnet.eks_public_subnet[1].id,
      aws_subnet.eks_private_subnet[0].id,
      aws_subnet.eks_private_subnet[1].id
    ]
  }
  
  access_config {
    authentication_mode                         = "API"
    bootstrap_cluster_creator_admin_permissions = true
  }

  depends_on = [
    aws_iam_role_policy_attachment.AmazonEKSClusterPolicy,
    aws_cloudwatch_log_group.eks_logs  
  ]
}

解决方案

这个报错的核心原因是你当前使用的AWS Terraform provider版本不支持access_config块——该特性是在AWS provider v4.22.0版本才引入的,用于配置EKS集群的访问认证规则。

按以下步骤解决:

  1. 检查当前provider版本:执行命令terraform providers查看本地AWS provider的版本号
  2. 升级provider版本:在你的Terraform配置文件(通常是versions.tf)中更新AWS provider的版本约束,确保版本不低于v4.22.0,示例配置:
terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = ">= 4.22.0" # 也可以指定最新稳定版,比如~> 5.30.0
    }
  }
}
  1. 执行升级:运行terraform init -upgrade命令,让Terraform下载并启用指定版本的AWS provider
  2. 重新执行计划:再次运行terraform plan,此时access_config块就能被正常识别

注意:升级provider前,建议确认你的Terraform核心版本与新provider版本兼容,避免引发其他资源的兼容性问题。


内容的提问来源于stack exchange,提问作者user6329667

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 02:33:33