Ошибка при создании CNAME в Cloudflare через Terraform

Что я сделал?

  • Создан модуль терраформирования с провайдером как cloudflare.
provider "cloudflare" {
}
  • Предоставил токен в среду оболочки с помощью переменной CLOUDFLARE_API_TOKEN

  • Токен имеет доступ к зоне, скажем: example.com

  • Создание записи CNAME, которая нацелена на мою корзину S3, используя:

resource "cloudflare_record" "cname-bucket" {
  zone_id = var.domain
  name    = var.bucket_name
  value   = "${var.bucket_name}.s3-website.${var.region}.amazonaws.com"
  proxied = true
  type    = "CNAME"
}
  • После применения этого модуля получаю ошибку:
Error: failed to create DNS record: error from makeRequest: HTTP status 400: content "{\"success\":false,\"errors\":[{\"code\":7003,\"message\":\"Could not route to \\/zones\\/example.com\\/dns_records, perhaps your object identifier is invalid?\"},{\"code\":7000,\"message\":\"No route for that URI\"}],\"messages\":[],\"result\":null}"
  • Когда я попытался создать то же самое с помощью cloudflare с браузером, все работает нормально, но при попытке сделать то же самое с terraform я получаю указанную выше ошибку.

  • Доступ к моему токену есть: example.com - DNS:Edit

Что мне нужно?

  • Что я здесь делаю неправильно?
  • Как создать эту запись CNAME с помощью модуля terraform?

person rshah    schedule 18.01.2021    source источник


Ответы (1)


Похоже, проблема в zone_id = var.domain строке вашего cloudflare_record ресурса. Вы используете example.com в качестве zone_id , но вместо этого вы должны использовать свой идентификатор зоны Cloudflare.

Идентификатор зоны можно найти на панели инструментов Cloudflare для вашего домена: проверьте Обзор в правом столбце в разделе API.

person Paolo Tagliaferri    schedule 05.02.2021