Como criar uma VM com Imagem SQL Server
Pré-requisitos
- Ter conta criada na Magalu Cloud
- Ter a CLI
mgcinstalada e autenticada
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
- Linux
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.
- 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"
}
O valor utilizado no parâmetro --ssh-key-name é o campo name, e não o ID da chave.
- 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
- 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 Name | Descrição |
|---|---|
| sql-server-enterprise-2022-windows | SQL Server 2022 Enterprise + Windows Datacenter |
| sql-server-enterprise-2022-linux | SQL Server 2022 Enterprise + Linux |
| sql-server-standard-2022-windows | SQL Server 2022 Standard + Windows Datacenter |
| sql-server-standard-2022-linux | SQL Server 2022 Standard + Linux |
| sql-server-web-2022-windows | SQL Server 2022 Web + Windows Datacenter |
| sql-server-web-2022-linux | SQL 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.
| Protocolo | Porta | Origem recomendada | Descrição |
|---|---|---|---|
| TCP | 1433 | IP da aplicação ou rede privada | Permite 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: