无法使用特定 aws 账户中的数据源获取可用区数据
Posted
技术标签:
【中文标题】无法使用特定 aws 账户中的数据源获取可用区数据【英文标题】:Unable to fetch avail zones data using data source in a specific aws account 【发布时间】:2022-01-04 06:05:01 【问题描述】:当我尝试通过数据源为特定帐户中的任何区域查询可用区时,我收到“应用后已知”错误。但对于其他 aws 帐户也可以正常工作。以前和现在都可以正常工作它不工作
我的 data.tf 文件内容
data "aws_availability_zones" "available_subnet"
state = "available"
我的 provider.tf
provider "aws"
profile = "profile-dev"
region = "eu-central-1"
如果我通过 terraform 控制台尝试以下操作,则会出现错误
> data.aws_availability_zones.available_subnet.names
(known after apply)
>
但如果尝试使用不同的帐户进行相同操作,它会按预期工作,如下所示
> data.aws_availability_zones.available_subnet.names
tolist([
"us-west-2a",
"us-west-2b",
"us-west-2c",
"us-west-2d",
])
帐户权限或设置是否有任何问题(以前工作正常)。可以通过 aws cli 查询相同的问题
# aws ec2 describe-availability-zones --region=eu-central-1 --profile=profile-dev|grep -i zoneName
"ZoneName": "eu-central-1a",
"ZoneName": "eu-central-1b",
"ZoneName": "eu-central-1c",
是地形问题吗?
【问题讨论】:
(known after apply)
不是错误,这意味着简单的 terraform plan
不会从 API 获取数据,您需要 terraform apply
才能获取这些值。跨度>
【参考方案1】:
我发现它不是 terraform 或 aws 的问题。似乎在运行 terraform apply 并从控制台运行它之后,它会带来输出。这就是我另一个能够获取区域的 aws 帐户上发生的事情。所以terraform 控制台只有在状态文件中才会带来数据源输出。
【讨论】:
以上是关于无法使用特定 aws 账户中的数据源获取可用区数据的主要内容,如果未能解决你的问题,请参考以下文章