"не найден соответствующий Route53Zone": источник данных Terraform Route53 не распознает имя размещенной зоны
Предположим, что у меня есть публичные размещенные имена зон example.com.
. Я использую следующий фрагмент кода Terraform для динамического извлечения идентификатора размещенной зоны на основе имени согласноdocs .
data "aws_route53_zone" "main" {
name = "example.com." # Notice the dot!!!
private_zone = false
}
Во время terraform plan
он приходит с этой ошибкой:
Error refreshing state: 1 error(s) occurred:
* data.aws_route53_zone.main: no matching Route53Zone found
Есть ли ошибка, о которой я должен сообщить, или я что-то упустил?
2 ответа:
aws_route53_zone
источник данных перечислит все размещенные зоны в учетной записи, на просмотр которых у Terraform есть разрешения.Если вы пытаетесь ссылаться на зону в другой учетной записи, то вы можете сделать это, создав роль/пользователя в учетной записи с зоной, которая имеет разрешения на список всех зон (
route53:ListHostedZones*,route53:GetHostedZone*
), а затем имея второй "поставщик", используемый для этого источника данных.Таким образом, у вас может быть что-то вроде этого:
provider "aws" { # ... access keys etc/assume role block } # DNS account provider "aws" { alias = "dns_zones" # ... access keys etc/assume role block } data "aws_route53_zone" "main" { provider = "aws.dns_zones" name = "example.com." # Notice the dot!!! private_zone = false } resource "aws_route53_record" "www" { zone_id = "${data.aws_route53_zone.main.zone_id}" name = "www.${data.aws_route53_zone.main.name}" ... }