Configurar a Galeria de Computação do Azure com o Terraform
O Terraform permite a definição, a visualização e a implantação da infraestrutura de nuvem. Usando o Terraform, você cria arquivos de configuração usando sintaxe de HCL. A sintaxe da HCL permite que você especifique o provedor de nuvem, como o Azure, e os elementos que compõem sua infraestrutura de nuvem. Depois de criar os arquivos de configuração, você cria um plano de execução que permite visualizar as alterações de infraestrutura antes de serem implantadas. Depois de verificar as alterações, aplique o plano de execução para implantar a infraestrutura.
Este artigo mostra como configurar a Galeria de Computação do Azure.
Neste artigo, você aprenderá como:
- Usar o Terraform para configurar a Galeria de Computação do Azure (anteriormente Galeria de Imagens Compartilhadas)
1. Configurar seu ambiente
- Assinatura do Azure: caso você não tenha uma assinatura do Azure, crie uma conta gratuita antes de começar.
Configurar o Terraform: se ainda não tiver feito isso, configure o Terraform usando uma das seguintes opções:
2. Implementar o código do Terraform
Crie um diretório em que você vai testar o código de exemplo do Terraform, depois transforme-o no diretório atual.
Crie um arquivo chamado
providers.tf
e insira o seguinte código:terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>2.0" } azuread = { source = "hashicorp/azuread" } } } provider "azurerm" { features {} }
Crie um arquivo chamado
main.tf
e insira o seguinte código:resource "azurerm_resource_group" "sigrg" { location = var.deploy_location name = var.rg_shared_name } # generate a random string (consisting of four characters) # https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string resource "random_string" "rando" { length = 4 upper = false special = false } # Creates Shared Image Gallery # https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/shared_image_gallery resource "azurerm_shared_image_gallery" "sig" { name = "sig${random_string.random.id}" resource_group_name = azurerm_resource_group.sigrg.name location = azurerm_resource_group.sigrg.location description = "Shared images" tags = { Environment = "Demo" Tech = "Terraform" } } #Creates image definition # https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/shared_image resource "azurerm_shared_image" "example" { name = "avd-image" gallery_name = azurerm_shared_image_gallery.sig.name resource_group_name = azurerm_resource_group.sigrg.name location = azurerm_resource_group.sigrg.location os_type = "Windows" identifier { publisher = "MicrosoftWindowsDesktop" offer = "office-365" sku = "20h2-evd-o365pp" } }
Crie um arquivo chamado
variables.tf
e insira o seguinte código:
variable "deploy_location" {
type = string
default = "eastus"
description = "The Azure Region in which all resources in this example should be created."
}
variable "rg_shared_name" {
type = string
default = "rg-shared-resources"
description = "Name of the Resource group in which to deploy shared resources"
}
- Crie um arquivo chamado
output.tf
e insira o seguinte código:
output "location" {
description = "The Azure region"
value = azurerm_resource_group.sigrg.location
}
output "Compute_Gallery" {
description = "Azure Compute Gallery"
value = azurerm_shared_image_gallery.sig.name
}
3. Crie um plano de execução Terraform
Execute o comando terraform plan para criar um plano de execução.
terraform plan -out main.tfplan
Pontos principais:
- O comando
terraform plan
cria um plano de execução, mas não o executa. Em vez disso, ele determina quais ações são necessárias para criar a configuração especificada em seus arquivos de configuração. Esse padrão permite que você verifique se o plano de execução corresponde às suas expectativas antes de fazer qualquer alteração nos recursos reais. - O parâmetro opcional
-out
permite que você especifique um arquivo de saída para o plano. Usar o parâmetro-out
garante que o plano que você examinou seja exatamente o que é aplicado.
4. Aplicar um plano de execução Terraform
Execute terraform apply para aplicar o plano de execução à sua infraestrutura de nuvem.
terraform apply main.tfplan
Pontos principais:
- O exemplo de comando do
terraform apply
pressupõe que você executou oterraform plan -out main.tfplan
anteriormente. - Se você especificou um nome de arquivo diferente para o parâmetro
-out
, use esse mesmo nome de arquivo na chamada paraterraform apply
. - Se você não usou o parâmetro
-out
, chameterraform apply
sem nenhum parâmetro.
5. Limpar os recursos
Quando você não precisar mais dos recursos criados por meio o Terraform, execute as seguintes etapas:
Execute terraform plan e especifique o sinalizador
destroy
.terraform plan -destroy -out main.destroy.tfplan
Pontos principais:
- O comando
terraform plan
cria um plano de execução, mas não o executa. Em vez disso, ele determina quais ações são necessárias para criar a configuração especificada em seus arquivos de configuração. Esse padrão permite que você verifique se o plano de execução corresponde às suas expectativas antes de fazer qualquer alteração nos recursos reais. - O parâmetro opcional
-out
permite que você especifique um arquivo de saída para o plano. Usar o parâmetro-out
garante que o plano que você examinou seja exatamente o que é aplicado.
- O comando
Execute a aplicação do Terraform para aplicar o plano de execução.
terraform apply main.destroy.tfplan
Solucionar problemas do Terraform no Azure
Solucionar problemas comuns ao usar o Terraform no Azure
Próximas etapas
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de