- Início
- Criação de VM com Terraform
Criação de VM com Terraform
Objetivo
Este guia demonstra como criar uma máquina virtual (VM) na Magalu Cloud (MGC) utilizando o Terraform, a partir de uma imagem customizada previamente cadastrada no catálogo. A plataforma valida automaticamente se a configuração da VM atende aos requisitos mínimos definidos na imagem (vCPU, RAM e disco).
Pré-requisitos
- Acesso à Magalu Cloud com permissões necessárias para criar VMs.
- Uma imagem customizada ativa no catálogo do seu tenant na MGC.
- Terraform instalado em sua estação de trabalho.
- Uma chave SSH cadastrada na Magalu Cloud.
Como fazer
1. Criar a estrutura do projeto Terraform
terraform-vm/
├── main.tf
├── variables.tf
└── terraform.tfvars
2. Configurar o provider no main.tf
terraform {
required_providers {
mgc = {
source = "magalucloud/mgc"
version = ">= 0.30.0"
}
}
}
provider "mgc" {
api_key = var.api_key
region = var.region
}
3. Adicionar o recurso de VM ao main.tf
# Consulta o ID da imagem customizada pelo nome
data "mgc_vm_images" "custom" {
name = var.image_name
}
# Consulta a chave SSH previamente cadastrada na MGC
data "mgc_ssh_keys" "key" {
name = var.ssh_key_name
}
# Cria a VM a partir da imagem customizada
resource "mgc_virtual_machine_instances" "vm" {
name = var.vm_name
machine_type = { name = var.machine_type }
image = { name = data.mgc_vm_images.custom.images[0].name }
ssh_key_name = data.mgc_ssh_keys.key.ssh_keys[0].name
availability_zone = var.availability_zone
}
4. Definir variáveis no variables.tf
variable "api_key" {
type = string
sensitive = true
}
variable "region" {
type = string
default = "br-se1"
}
variable "availability_zone" {
type = string
default = "br-se1-b"
}
variable "image_name" {
type = string
description = "Nome da imagem customizada cadastrada no catálogo MGC"
}
variable "machine_type" {
type = string
default = "BV2-2-20"
}
variable "ssh_key_name" {
type = string
description = "Nome da chave SSH cadastrada na MGC"
}
variable "vm_name" {
type = string
default = "vm-custom-image"
}
5. Preencher os valores no terraform.tfvars
api_key = "SUA_CHAVE_API"
image_name = "minha-imagem-ubuntu"
machine_type = "BV2-2-20"
ssh_key_name = "minha-chave-ssh"
vm_name = "vm-redis-producao"
availability_zone = "br-se1-b"
6. Aplicar a configuração
# Inicializar o Terraform e baixar o provider MGC
terraform init
# Visualizar o plano de execução antes de aplicar
terraform plan
# Criar a VM
terraform apply
ℹ️ Info: A plataforma valida automaticamente se a VM solicitada atende aos requisitos mínimos definidos na imagem (vCPU, RAM e disco). Se o
machine_typeescolhido não atender a esses requisitos, a criação será rejeitada com uma mensagem de erro.
Detalhes técnicos
| Variável | Descrição |
|---|---|
api_key | Chave de acesso à conta Magalu Cloud. Valor sensível — trate com segurança. |
region | Região da Magalu Cloud onde a VM será criada (ex.: br-se1). |
availability_zone | Zona de disponibilidade dentro da região selecionada (ex.: br-se1-b). |
image_name | Nome da imagem customizada cadastrada no catálogo da MGC. |
machine_type | Tipo de máquina virtual, definindo os recursos de CPU e memória (ex.: BV2-2-20). |
ssh_key_name | Nome da chave SSH previamente cadastrada na MGC para acesso à VM. |
Perguntas frequentes
O que acontece se o machine_type escolhido não atender aos requisitos mínimos da imagem?
A criação da VM será rejeitada pela plataforma, exibindo uma mensagem de erro detalhando a incompatibilidade.
Como posso encontrar o nome correto da minha imagem customizada?
Você pode verificar o nome da sua imagem no catálogo do seu tenant na Magalu Cloud.
Próximos passos
- Acesse a VM criada via SSH utilizando a chave configurada.
- Configure e personalize a VM de acordo com suas necessidades.
- Explore outros recursos da Magalu Cloud para complementar sua infraestrutura.