Pular para o conteúdo principal

Lançar uma instância

A tela «Lançar instância» é uma página só: tudo o que a máquina precisa está à vista, na ordem em que a decisão acontece. Nada de etapas escondidas.

As seções​

  1. Zona — a zona decide quais campos existem. O que ela não suporta não aparece.
  2. Nome e tags — o nome vem sugerido e é editável. As tags são chave=valor, até 20 (chave até 64 caracteres, valor até 128). O hostname só aparece onde a zona o aceita (hoje, a z2).
  3. Imagem e disco — as seis imagens mais usadas em cartões; as demais em «Outras imagens». O disco fica logo abaixo, já preenchido com o recomendado para a imagem (o maior entre o mínimo da imagem e o padrão do módulo, hoje 20 GB).
  4. Tipo — vCPU e memória («2 vCPU · 4 GB»).
  5. Par de chaves — a chave pública que abre a máquina. É o único campo obrigatório sem sugestão.
  6. Rede e security groups — a rede padrão já vem escolhida; os security groups são opcionais.
  7. IP público — ligado por padrão; o endereço é associado depois da criação, pela tela de redes (IPs públicos). A criação de instância não recebe esse campo.
  8. Avançado — os dados de inicialização (user data), recolhidos.
  9. Resumo — imagem, disco (destacado), tipo, chave, rede, IP público e tags, o aviso quando o disco está no mínimo da imagem, e o botão Lançar instância.

O disco​

O disco é o campo em que se erra com mais frequência: escolher a imagem, esquecer o tamanho e lançar no mínimo. Por isso:

  • ele nasce preenchido com o recomendado (max(mínimo da imagem, padrão do módulo));
  • trocar a imagem nunca diminui o valor que você digitou: só sobe quando ele ficou abaixo do mínimo da nova imagem, com uma nota dizendo que subiu;
  • se você ainda não tocou no campo, a troca de imagem volta a sugerir o recomendado da nova imagem;
  • lançar com o disco no mínimo da imagem é permitido — o Resumo avisa, não bloqueia.

Lançar pelo terminal​

curl -s https://api-nn.nnumbers.com.br/v1/compute/zones/z2/instances \
-H "Authorization: Bearer $TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"name": "vm-lab-01",
"hostname": "vm-lab-01",
"image_id": "img-ubuntu-2404",
"flavor_id": "flv-small",
"boot_volume": {"size_gb": 20, "delete_on_termination": true},
"network_ids": ["net-privada"],
"key_name": "lab-chave",
"tags": {"env": "lab", "owner": "equipe-infra"}
}'

Na z1 o mesmo corpo, sem o hostname, funciona; com ele, o serviço responde 400 validation_failed/field_not_supported_in_zone (e a tela mostra o erro no campo).