Terraform, desenvolvido por Hashicorp, é uma infraestrutura como utilitário de código. Ele permite que você forneça infraestrutura em nuvem de uma maneira rápida e eficiente. Usando o Terraform, você pode construir, modificar e destruir recursos em nuvem em algumas linhas de código. Ele suporta provedores de nuvem como Amazon AWS, Google Cloud, Microsoft Azure e muito mais, incluindo infraestrutura em nuvem personalizada.
Este tutorial ensinará sobre o argumento depended_on meta que você pode usar ao provisionar recursos na nuvem.
Pré-requisitos
Antes de prosseguirmos com o tutorial, você precisará::
Cuidado: usaremos o Google Cloud como provedor para as configurações e amostras de exemplo. Você também pode optar por outros provedores suportados. No entanto, o código deste tutorial não é testado em outros provedores.
O que é Terraform depende_on?
O depended_on é uma meta tag que permite especificar dependências entre recursos e módulos. Por exemplo, você pode ter uma instância do Google Cloud que depende de um balde específico. O uso da tag depended_on permite que a Terraform crie ou destrua recursos corretamente. Quando o Terraform vê o módulo depended_on, ele primeiro criará ou matará o balde antes de executar as ações especificadas na instância.
Para usar o parâmetro depended_on em blocos de módulo e recursos, verifique se você possui a versão 0 do Terraform 0.13 e acima.
Exemplo de uso de uso
Vamos usar um exemplo simples para ilustrar o argumento depended_on em terraform.
NOTA: Presumimos que você tenha instalado e aplicado suas configurações para o seu fornecedor específico.
Comece criando um diretório de trabalho como:
MKDIR Terraform-tutoriais
Navegue até o diretório criado:
CD Terraform-Tutoriais
Crie um arquivo TerraForm e ligue para depende de depende -se.tf
Touch depende_on.tf
Em seguida, usando seu editor favorito, adicione um exemplo de arquivo de configuração como mostrado:
Terraform
requerir_providers
aws =
fonte = "Hashicorp/Google"
Provedor "Google"
credenciais = arquivo ("GCP-Conf.JSON ")
Project = "Fine-Climber-318807"
região = "US-Central1"
zone = "US-Central1-C"
recurso "google_storage_bucket" "my_archive"
name = "my_archive"
Localização = "US-Central1-A"
dados "google_compute_image" "my_ubuntu_image"
família = "Ubuntu-20"
Project = "Fine-Climber-318807"
recurso "google_compute_instance" "padrão"
Nome = "Ubuntu-Instance"
máquina_type = "e2-micro"
zone = "US-Central1-A"
boot_disk
Initialize_params
Image = "Dados.google_compute_image.my_ubuntu_image.self_link "
scratch_disk
interface = "scsi"
Network_Interface
rede = "padrão"
Access_config
depended_on = [google_storage_bucket.my_archive]
Salve o arquivo e feche o editor.
No exemplo do arquivo TerraForm, começamos configurando o provedor como o Google e adicionando todas as credenciais necessárias.
Nota: Verifique a documentação para aprender a configurar o Terraform para o Google Cloud.
Em seguida, criamos um balde do Google Cloud e fornecemos todos os parâmetros necessários. Em seguida, criamos uma instância do mecanismo de computação que depende do balde de armazenamento criado.
Verifique se o arquivo de configuração não contém erro de sintaxe como:
ubuntu@cs: ~/Terraform-tutorials $ Terraform Validate
Sucesso! A configuração é válida.
Se a configuração for válida, você deverá ver uma mensagem de sucesso, como mostrado acima.
Execute o arquivo para provisionar os recursos necessários como:
Terraform se aplica
Digite "sim" no prompt para confirmar as alterações.
Se você tiver os detalhes da nuvem do Google configurados corretamente, a Terraform fornecerá os recursos especificados.
Embrulhar
Este tutorial apresenta você ao parâmetro Terraform depende e como criar dependências para recursos e módulos. Se você é novo no Terraform, verifique a documentação para saber mais.