Поставщик dns
внедряет стандартный протокол обновления DNS, определенный в RF C 2136: Dynami c Обновления в системе доменных имен , который, как правило, внедряется самодостаточным DNS серверное программное обеспечение, такое как BIND . В этом случае учетные данные будут настроены на стороне сервера оператором BIND, а затем вы, в свою очередь, передадите данные учетные данные поставщику.
К сожалению, поскольку DNS имеет тенденцию быть управляемой службой, предоставляемой для вас разные поставщики, большинство из них решили игнорировать RF C 2136 и вместо этого реализовывать свои собственные проприетарные API. По этой причине возможности управления dns
поставщика Terraform несовместимы с большинством управляемых продуктов DNS.
Вместо этого мы управляем ими с помощью поставщика c, определенного поставщиком. В вашем случае, поскольку вы, очевидно, используете Google Cloud DNS, вы будете управлять своими зонами DNS и записями, используя типы ресурсов от поставщика google
Terraform. В частности:
Вот минимальный пример для начала:
resource "google_dns_managed_zone" "example" {
name = "example"
dns_name = "example.com."
}
resource "google_dns_record_set" "example" {
managed_zone = google_dns_managed_zone.example.name
name = "www.${google_dns_managed_zone.example.dns_name}"
type = "A"
rrdatas = ["10.1.2.1", "10.1.2.2"]
ttl = 300
}
Ключевое преимущество этих поставщиков, использующих API-интерфейсы c, определяемые поставщиком, состоит в том, что операции управления интегрируются с механизмами аутентификации, используемыми для остальных их API, и поэтому, если у вашего провайдера Google Cloud Platform есть учетные данные с достаточными привилегиями для управления этими объектами, вам не нужно для этого никаких дополнительных настроек провайдера.
Terraform имеет поддержку провайдера для ряда различных управляемых Поставщики DNS, поэтому пользователи, не использующие Google Cloud DNS, надеются, что их выбранный поставщик также будет поддерживаться аналогичным образом, просмотрев доступных поставщиков .
.