一千萬個為什麽

搜索

Terraform AWS AZ錯誤 - 手動指定AZ?



我是terraform的新手,在創建AWS基礎架構時,我使用以下內容來獲取我所在區域(us-east-1)的“可用”可用區域,我正在嘗試創建一個EKS集群。

data "aws_availability_zones" "available" {}

但是當我運行'terraform apply'時,它會產生以下錯誤,因為us-east-1a處於容量狀態。

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

有什麽方法可以讓terraform自動處理這個或指定我只想使用1b,1c,1d等。

編輯:

我已經意識到這與我創建子網的地方有關,我使用這一行:

 availability_zone = "${data.aws_availability_zones.available.names[count.index]}"

所以我假設我在某種程度上需要通過在這裏做一些事情來跳過我們東 - 1a?

提前致謝。

轉載註明原文: Terraform AWS AZ錯誤 - 手動指定AZ?

一共有 1 個回答:

如果其他人有這個問題,這就是我如何解決它。

指定包含要定位的可用區域的變量

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

創建子網時,請使用此行

availability_zone = "${var.zones[count.index]}"