Executar a VM de demonstração no Azure
Importe a imagem publicada soctalk-demo-<ver>.vhd para o Azure como um disco gerenciado, transforme-a em uma imagem de VM e inicialize-a. As VMs do Azure rodam sobre Hyper-V, então este também é o caminho mais rápido para validar a imagem em um hypervisor Hyper-V sem precisar provisionar um host Windows Server.
Este caminho é para avaliadores e demonstrações — para uma instalação em produção no seu próprio cluster, consulte Instalar.
Por que o .vhd (e por que Generation 1)
- O Azure só aceita discos VHD de tamanho fixo, alinhados a 1 MiB (não VHDX, nem VHD dinâmico). O
soctalk-demo-<ver>.vhdpublicado é gerado pelo pipeline de release exatamente dessa forma (qemu-img convert -O vpc -o subformat=fixed,force_size), então ele importa tal como está — sem etapa de conversão local. - A imagem é construída e testada em boot sob firmware BIOS, o que corresponde às VMs Generation 1 do Azure. Crie o disco e a imagem com
--hyper-v-generation V1. - Um VHD fixo de 60 GB parece pesado, mas é quase todo composto por zeros. O
azcopyfaz upload para um page blob e ignora páginas de zeros, de modo que a transferência real corresponde a aproximadamente os ~3 GB de dados efetivos.
Pré-requisitos
- Uma assinatura do Azure (
az account listdeve exibir uma — acesso ao diretório no nível de tenant não é suficiente). - Azure CLI (
az) e AzCopy (azcopy). No macOS:brew install azure-cli azcopy. - ~61 GB de disco local livre para o VHD descompactado.
- Um par de chaves SSH (
~/.ssh/id_ed25519.pubnos exemplos abaixo).
Faça login e selecione a assinatura:
az login
az account set --subscription "<subscription-name-or-id>"1. Baixar e descompactar o VHD
VER=<ver> # e.g. 0.1.4
curl -L -O https://github.com/soctalk/soctalk/releases/latest/download/soctalk-demo-$VER.vhd.xz
curl -L -O https://github.com/soctalk/soctalk/releases/latest/download/SHA256SUMS.txt
sha256sum -c SHA256SUMS.txt --ignore-missing
xz -d soctalk-demo-$VER.vhd.xz # decompresses to a 60 GB fixed VHD2. Criar um grupo de recursos
Tudo neste guia fica em um único grupo de recursos, de modo que a remoção seja um único comando ao final.
RG=soctalk-demo
LOC=westus2
az group create -n $RG -l $LOC3. Fazer upload do VHD diretamente para um disco gerenciado
Não é necessária uma conta de armazenamento — o Azure suporta upload direto para um disco gerenciado. Crie um disco vazio dimensionado para a contagem exata de bytes do arquivo VHD, obtenha um SAS de escrita de curta duração, faça o upload com azcopy e então revogue o SAS:
VHD=soctalk-demo-$VER.vhd
SIZE=$(stat -f %z "$VHD" 2>/dev/null || stat -c %s "$VHD") # macOS || Linux
az disk create -g $RG -n soctalk-demo \
--for-upload --upload-size-bytes $SIZE \
--sku standard_lrs --os-type Linux --hyper-v-generation V1
SAS=$(az disk grant-access -g $RG -n soctalk-demo \
--access-level Write --duration-in-seconds 86400 \
--query accessSAS -o tsv)
azcopy copy "$VHD" "$SAS" --blob-type PageBlob
az disk revoke-access -g $RG -n soctalk-demoA etapa do azcopy é a única demorada; com o descarte de páginas de zeros, ela move apenas os dados reais (~3 GB).
4. Criar uma imagem a partir do disco
DISK_ID=$(az disk show -g $RG -n soctalk-demo --query id -o tsv)
az image create -g $RG -n soctalk-demo-image \
--source $DISK_ID --os-type Linux --hyper-v-generation V15. Inicializar uma VM
Restrinja o grupo de segurança de rede ao seu próprio IP — a máquina expõe SSH (22), a UI do SocTalk (443) e o assistente de configuração (8443), nenhum dos quais deve ficar aberto à internet:
MYIP=$(curl -s https://ifconfig.me)
az network nsg create -g $RG -n soctalk-nsg
i=100
for port in 22 443 8443; do
az network nsg rule create -g $RG --nsg-name soctalk-nsg \
-n allow-$port --priority $i --access Allow --protocol Tcp \
--direction Inbound --source-address-prefixes $MYIP/32 \
--destination-port-ranges $port
i=$((i+10))
done
az vm create -g $RG -n soctalk-demo-vm \
--image soctalk-demo-image \
--size Standard_D4s_v3 \
--admin-username ops \
--ssh-key-values ~/.ssh/id_ed25519.pub \
--nsg soctalk-nsg \
--public-ip-sku Standard
IP=$(az vm show -g $RG -n soctalk-demo-vm -d --query publicIps -o tsv)
echo "VM is at $IP"O Standard_D4s_v3 (4 vCPU / 16 GiB) cobre confortavelmente o dimensionamento mínimo de 4 vCPU / 8 GB. Qualquer coisa menor terá dificuldades assim que a stack Wazuh do tenant de demonstração for iniciada.
Não é necessário um ISO de seed
Em hypervisors, você anexa um seed.iso NoCloud para injetar uma chave SSH (Início rápido). No Azure essa etapa desaparece: o cloud-init da imagem detecta a origem de dados do Azure e provisiona --admin-username / --ssh-key-values automaticamente.
6. Obter o token de configuração e executar o assistente
O fluxo é o mesmo de qualquer outro hypervisor a partir daqui. Dê à VM ~2 minutos após o boot para que o serviço do assistente suba e então:
ssh ops@$IP sudo cat /var/log/soctalk-setup-tokenAcesse https://<IP>:8443/, aceite o certificado autoassinado, cole o token e preencha o assistente — nome do MSSP, credenciais de admin, provedor de LLM + chave de API. Consulte Assistente de configuração para a referência dos campos.
Após o envio, o instalador de primeiro boot executa helm install e faz o onboarding do tenant demo — cerca de 2 minutos para os pods do soctalk-system e então mais alguns minutos para a stack Wazuh do tenant de demonstração. Você pode acompanhar via SSH:
ssh ops@$IP
journalctl -u soctalk-firstboot -f
sudo kubectl --kubeconfig /etc/rancher/k3s/k3s.yaml get pods -A7. Fazer login
Acesse https://<IP>/ (porta 443, não 8443) e faça login com as credenciais de admin do assistente. Se você deixou o hostname em branco no assistente, mapeie soctalk.local para o IP da VM em /etc/hosts e use https://soctalk.local/. Continue com o Tour pela UI do MSSP.
8. Remover
Tudo foi criado dentro do grupo de recursos, portanto:
az group delete -n $RG --yes --no-waitIsso remove a VM, a NIC, o IP público, o NSG, o disco gerenciado e a imagem de uma só vez. Nada mais fica gerando cobrança.
Solução de problemas
| Sintoma | Verificação |
|---|---|
az disk create --for-upload rejeitado | --upload-size-bytes deve ser o tamanho exato do arquivo em bytes do .vhd descompactado, incluindo o rodapé — execute novamente o comando stat |
azcopy falha com 403 | O SAS de escrita expirou (24 h no exemplo) ou já foi revogado — execute novamente az disk grant-access |
| A VM nunca recebe a chave SSH | Confirme que a imagem e o disco foram criados com --hyper-v-generation V1; uma imagem V2 a partir deste VHD não inicializará, e um boot com falha nunca chega ao cloud-init |
| A URL do assistente nunca carrega | Regra do NSG para 8443 ausente ou seu IP público mudou (curl ifconfig.me e compare); então systemctl status soctalk-setup-wizard via SSH |
| Qualquer coisa após o assistente | O mesmo de todas as plataformas — consulte a tabela de solução de problemas do Início rápido |
