Terraform конфигурацияларын жазу

Ресурстар арасындағы нақты тәуелділіктерді көрсету үшін locals қолданыңыз

Бұл Terraform конфигурацияларында тікелей тәуелділік болмаған кезде де, кейбір ресурстардың бұрынырақ жойылуы керектігі туралы Terraform-ға ишара берудің пайдалы жолы.

https://raw.githubusercontent.com/antonbabenko/terraform-best-practices/master/snippets/locals.tfarrow-up-right

Terraform 0.12 - Міндетті және Қосымша аргументтер

  1. Егер index_document websiteбос карта (map) болмаса, var.website міндетті аргументі орнатылуы тиіс.

  2. error_document қосымша аргументін қалдырып кетуге болады.

main.tf
variable "website" {
  type    = map(string)
  default = {}
}

resource "aws_s3_bucket" "this" {
  # omitted...

  dynamic "website" {
    for_each = length(keys(var.website)) == 0 ? [] : [var.website]

    content {
      index_document = website.value.index_document
      error_document = lookup(website.value, "error_document", null)
    }
  }
}

Объектілердегі қосымша атрибуттар (Terraform 1.3+)

Міндетті емес өрістер үшін әдепкі мәндерді қамтамасыз ету мақсатында объектілердегі қосымша атрибуттарды қолданыңыз:

Terraform-да құпия деректерді басқару

Құпия деректер -құпия сөздер мен шифрлау кілттерінен бастап API токендері мен қызмет сертификаттарына дейінгі кез келген сезімтал деректер болуы мүмкін. Олар әдетте бұлттық ресурстар үшін аутентификация мен авторизацияны орнату үшін қолданылады. Бұл сезімтал ресурстарды қорғау өте маңызды, себебі олардың жария болуы қауіпсіздіктің бұзылуына әкелуі мүмкін. Құпия деректерді Terraform конфигурациясында және күйінде сақтамауға қатаң кеңес беріледі, себебі нұсқаларды басқару жүйесіне рұқсаты бар кез келген адам оларға қол жеткізе алады. Оның орнына, орындау уақытында сыртқы көздерден құпияларды алу үшін сыртқы дереккөздерді пайдалануды қарастырыңыз. Мысалы, AWS Secrets Manager қолдансаңыз, құпия мәнге қол жеткізу үшін aws_secretsmanager_secret_version дереккөзін пайдалана аласыз. Келесі мысалда Terraform 1.11+ нұсқасында қолдау көрсетілетін және мәнді Terraform күйінен тыс сақтайтын тек жазуға арналған аргументтер қолданылады.

Айнымалыларды тексеру және кіріс деректерді өңдеу

circle-info

Айнымалыларды тексеру (валидация) қателерді ерте анықтауға көмектеседі, нақты кері байланыс береді және кіріс деректердің талаптарыңызға сәйкес келуін қамтамасыз етеді.

Айнымалыларды негізгі тексеру

Айнымалылардың нақты критерийлерге сәйкес келетініне көз жеткізу үшін валидация блоктарын қолданыңыз:

Объект және тізім валидациясы

Күрделі деректер құрылымдарының күтілетін мәндерді қамтитынына көз жеткізу үшін оларды тексеріңіз:

Last updated