我对terraform相当陌生,在创建AWS基础设施时,我使用以下内容来获取我要创建EKS集群的区域(us-east-1)的“可用”可用性区域。

data "aws_availability_zones" "available" {}


但是,当我运行“ terraform apply”时,由于us-east-1a处于容量状态,它会产生以下错误。
有什么办法可以让terraform自动处理此问题,或指定我只想使用1b,1c,1d等。

编辑:

我我已经意识到这与我创建子网的位置有关,我可以使用以下代码行进行操作:

aws_eks_cluster.demo: error creating EKS Cluster (test-cluster): 
UnsupportedAvailabilityZoneException: Cannot create cluster 'test-cluster' because us-east-1a, the targeted availability zone, does not 
currently have sufficient capacity to support the cluster. Retry and 
choose from these availability zones: us-east-1b, us-east-1c, us-east-1d


所以我想我需要以某种方式跳过us-east-1a在这里做点什么?

预先感谢。

#1 楼

如果还有其他人遇到此问题,请按以下步骤解决。创建子网时,请使用以下行

variable "zones" {
  default = ["us-east-1b", "us-east-1c", "us-east-1d"]
}


#2 楼

您可以使用AWS ClI来查询可用区域:

aws ec2 describe-availability-zones


使用此结果,您可以准备脚本以获取第一个结果。