Skip to main content

Como criar uma VM com Imagem SQL Server

Pré-requisitos


Visão Geral

Como boa prática, recomendamos criar um Block Storage separado para armazenar os dados do SQL Server. Isso permite:

  • Melhor performance para operações de I/O
  • Flexibilidade para redimensionar o armazenamento conforme necessário
  • Isolamento dos dados do sistema operacional

Criar Block Storage para o SQL Server

1. Criar o volume

mgc block-storage volumes create \
--name="sql-server-data" \
--size=100 \
--type.name="cloud_nvme5k"

Guarde o ID do volume, ele será utilizado na criação da VM.

Block Storage para SQL Server

O Block Storage é utilizado para armazenar os dados do SQL Server separadamente do disco do sistema operacional, permitindo melhor desempenho e flexibilidade.

Tipo de volume (cloud_nvme5k)

O parâmetro --type.name define o desempenho do volume, em especial a quantidade de IOPS suportadas.

cloud_nvme5k → volume NVMe com aproximadamente 5.000 IOPS, indicado para uso padrão de banco de dados em produção.

Outras opções de desempenho:

Caso seja necessário avaliar outros tipos de volume, utilize:

mgc block-storage volume-types list -o table

Onde: Os volumes NVMe variam conforme o perfil de uso, desde ambientes de teste até workloads intensivos de banco de dados.

Nota: O volume de Block Storage e a Máquina Virtual devem estar na mesma Availability Zone para que o anexo funcione corretamente.

Para maiores informações: https://docs.magalu.cloud/docs/storage/block-storage/how-to/volumes/create-volume


Criar a Máquina Virtual com SQL Server

Windows

Criando a VM com o volume já anexado:

mgc virtual-machine instances create \
--name="sql-server-vm" \
--image.name="sql-server-enterprise-2022-windows" \
--machine-type.name="BV8-32-100" \
--availability-zone="br-se1-a" \
--volumes='[{"id":"<ID_DO_VOLUME>"}]'

Importante:

Em --volumes : adicione o id do block storage criado no passo anterior. Ex.:

--volumes='[{"id":"28e22326-43aa-4735-b040-8a9fdaaa444d"}]'

Linux

Para VMs Linux, é obrigatório informar uma chave SSH no momento da criação.

  1. Listar chaves SSH cadastradas no perfil

Utilize o formato json, pois o formato table não exibe o nome da chave.

mgc profile ssh-keys list -o json
{
"id": "87faeiou9-8kk9-4fe3-a373-pp831c5353a7",
"name": "ssh-user-mgc",
"key_type": "ssh-ed25519"
}
Importante

O valor utilizado no parâmetro --ssh-key-name é o campo name, e não o ID da chave.

  1. Criar uma chave SSH no perfil (se necessário)

Caso ainda não exista uma chave cadastrada:

mgc profile ssh-keys create \
--name="ssh-user-mgc" \
--key="$(cat ~/.ssh/id_ed25519.pub)"

Para mais informações: https://docs.magalu.cloud/docs/profile/ssh-keys/how-to/create

  1. Criar a VM Linux com SQL Server
mgc virtual-machine instances create \
--name="sql-server-vm" \
--image.name="sql-server-enterprise-2022-linux" \
--machine-type.name="BV8-32-100" \
--availability-zone="br-se1-a" \
--volumes='[{"id":"<ID_DO_VOLUME>"}]' \
--ssh-key-name="ssh-user-mgc"

Importante:

Em --volumes : adicione o id do block storage criado no passo anterior. Exemplo:

--volumes='[{"id":"28e22326-43aa-4735-b040-8a9fdaaa444d"}]'

Imagens Disponíveis

Image NameDescrição
sql-server-enterprise-2022-windowsSQL Server 2022 Enterprise + Windows Datacenter
sql-server-enterprise-2022-linuxSQL Server 2022 Enterprise + Linux
sql-server-standard-2022-windowsSQL Server 2022 Standard + Windows Datacenter
sql-server-standard-2022-linuxSQL Server 2022 Standard + Linux
sql-server-web-2022-windowsSQL Server 2022 Web + Windows Datacenter
sql-server-web-2022-linuxSQL Server 2022 Web + Linux

Configurar Security Groups para SQL Server

Para que aplicações externas acessem o SQL Server, a porta 1433 precisa ser liberada.

ProtocoloPortaOrigem recomendadaDescrição
TCP1433IP da aplicação ou rede privadaPermite conexões externas ao SQL Server

Confira aqui como configurar Security Groups.

Configuração do SQL Server

Após criar a VM com o volume anexado, siga as instruções específicas para seu sistema operacional: