image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF
Article image
Jacivaldo Carvalho
Jacivaldo Carvalho03/04/2025 19:58
Compartir
Microsoft Certification Challenge #3 DP-100Recomendado para tiMicrosoft Certification Challenge #3 DP-100

Automação para Criação e Configuração de Máquina Virtual no Azure com Nginx Usando Script Bash

  • #Azure
  • #Automação

Introdução

A automação de processos na nuvem tem se tornado uma prática cada vez mais necessária para melhorar a eficiência, reduzir erros humanos e acelerar o provisionamento de infraestrutura. Este artigo apresenta uma solução de automação para criação de uma máquina virtual (VM) no Azure, instalação do servidor web Nginx e configuração das regras de segurança de rede, tudo isso utilizando um script Bash.

Neste exercício, o script automatiza a criação da VM, instalação do Nginx, configuração do Grupo de Segurança de Rede (NSG) e realiza testes de conectividade HTTP, utilizando a Azure CLI. A ideia principal é demonstrar como um script pode facilitar a gestão de recursos na nuvem de forma rápida e eficiente.

"Este artigo foi desenvolvido com base nas tarefas propostas nos exercícios da plataforma Microsoft Learn, disponível em: Criar uma máquina virtual do Azure" e Configurar o acesso à rede.

Objetivo

O objetivo desta atividade é demonstrar como utilizar um script Bash para:

  1. Criar uma máquina virtual Linux no Azure.
  2. Instalar e configurar o servidor Nginx automaticamente.
  3. Configurar as regras de segurança de rede para permitir o tráfego HTTP (porta 80).
  4. Verificar se o servidor web está acessível externamente.

O script foi criado para ser executado em ambientes como o Azure Cloud Shell ou localmente com o Azure CLI instalado.

Estrutura do Script

O script apresentado automatiza uma série de tarefas na nuvem e tem a seguinte estrutura:

1. Definição de Variáveis

O primeiro passo do script é definir variáveis importantes para evitar repetição de valores e facilitar a manutenção do código:

RESOURCE_GROUP="learn-078fa850-2a51-4085-b9c9-9c069c0bd2dc"
VM_NAME="my-vm"
NSG_NAME="my-vmNSG"
ADMIN_USER="azureuser"
IMAGE="Ubuntu2204"
PUBLIC_IP_SKU="Standard"

Essas variáveis permitem um controle mais organizado sobre os valores usados em múltiplos comandos, como o nome da máquina virtual, o grupo de recursos e a imagem do sistema operacional.

2. Criação da Máquina Virtual

O script utiliza a Azure CLI para criar uma máquina virtual no Azure com o sistema operacional Ubuntu. O comando para criação da VM é o seguinte:

az vm create \
--resource-group "$RESOURCE_GROUP" \
--name "$VM_NAME" \
--public-ip-sku "$PUBLIC_IP_SKU" \
--image "$IMAGE" \
--admin-username "$ADMIN_USER" \
--generate-ssh-keys

Essa etapa garante que a VM seja criada com uma chave SSH gerada automaticamente, facilitando o acesso seguro.

3. Instalação do Nginx

Após a criação da VM, o script utiliza a extensão customScript para automatizar a instalação do servidor Nginx. O script de instalação é recuperado de um repositório GitHub oficial do Azure:

az vm extension set \
--resource-group "$RESOURCE_GROUP" \
--vm-name "$VM_NAME" \
--name customScript \
--publisher Microsoft.Azure.Extensions \
--version 2.1 \
--settings '{"fileUris":["https://raw.githubusercontent.com/MicrosoftDocs/mslearn-welcome-to-azure/master/configure-nginx.sh"]}' \
--protected-settings '{"commandToExecute": "./configure-nginx.sh"}'

Isso faz com que o script de configuração seja executado na VM, instalando o Nginx e configurando a página inicial para exibir uma mensagem personalizada.

4. Configuração de Regras de Segurança

O script também cria uma regra de segurança de rede (NSG) para permitir acesso HTTP na porta 80, essencial para o funcionamento do servidor web.

az network nsg rule create \
--resource-group "$RESOURCE_GROUP" \
--nsg-name "$NSG_NAME" \
--name allow-http \
--protocol tcp \
--priority 100 \
--destination-port-range 80 \
--access Allow

5. Verificação do Servidor Web

Após a configuração da VM e do Nginx, o script tenta acessar a página inicial do servidor web via curl para verificar se o serviço está funcionando corretamente:

curl --connect-timeout 5 http://$IPADDRESS

Além disso, o script também imprime o endereço IP da VM para que o usuário possa acessar o servidor diretamente no navegador.

Execução do Script

Para executar o script, siga os seguintes passos:

  1. Crie um arquivo de script com o nome criar_vm_nginx.sh.
  2. Cole o conteúdo do script fornecido.
  3. Dê permissão de execução ao script:
chmod +x criar_vm_nginx.sh
  1. Execute o script:
./criar_vm_nginx.sh

O script fará todo o processo automaticamente, criando a máquina virtual, instalando o Nginx e configurando o NSG para permitir o tráfego HTTP.

Insights sobre Automação e Bash

O uso de scripts Bash na automação de serviços na nuvem é uma prática poderosa e eficiente. Algumas vantagens incluem:

  • Repetibilidade: Automatizar tarefas repetitivas, como a criação de VMs, configuração de software e segurança, reduz o risco de erro humano e torna o processo mais rápido e confiável.
  • Facilidade de Manutenção: Scripts podem ser facilmente modificados e versionados, permitindo que você aplique mudanças de forma rápida e eficiente em múltiplos ambientes.
  • Integração com Ferramentas de CI/CD: Scripts Bash podem ser integrados a pipelines de CI/CD, facilitando o provisionamento de infraestrutura em ambientes de desenvolvimento, teste e produção.
  • Escalabilidade: Quando você precisa escalar sua infraestrutura, os scripts permitem que você crie novas instâncias de forma rápida e sem a necessidade de interação manual.

Conclusão

A automação de tarefas na nuvem com Azure CLI e Bash é uma maneira eficiente de gerenciar recursos de forma escalável e confiável. Este script facilita a criação e configuração de uma máquina virtual no Azure, incluindo a instalação do Nginx e a configuração de segurança para permitir o acesso HTTP. A automação não só acelera o processo, mas também torna o gerenciamento de infraestrutura mais robusto e seguro.

Seja para uso pessoal ou em um ambiente corporativo, o uso de scripts para automatizar tarefas de nuvem é uma estratégia recomendada para aumentar a eficiência e reduzir custos operacionais.

Referências

  1. Documentação oficial da Azure CLI
  2. Azure VM Creation - Documentação Oficial
  3. Tutorial de Extensão CustomScript no Azure
  4. Configuração de Nginx no Ubuntu
Compartir
Recomendado para ti
XP Inc. - Cloud com Inteligência Artificial
Bradesco - Java Cloud Native
Microsoft AI for Tech - OpenAI Services
Comentarios (1)
DIO Community
DIO Community - 04/04/2025 10:23

Jacivaldo, você compartilhou um excelente guia para a automação de criação de máquinas virtuais no Azure usando Bash e a Azure CLI. O script que você descreve é uma maneira eficiente de automatizar tarefas essenciais, como a criação de uma VM, instalação do Nginx e configuração de regras de segurança para permitir o tráfego HTTP. Com ele, a criação de servidores web fica mais rápida e confiável, minimizando erros humanos e tornando o processo escalável.

Além disso, a abordagem de automação com Bash oferece grande flexibilidade e facilidade de manutenção. A possibilidade de integrar esse processo a pipelines de CI/CD também é um benefício considerável, especialmente em ambientes corporativos onde a eficiência e a consistência são cruciais. Com a automação, o provisionamento de infraestrutura se torna muito mais ágil e seguro.

Quais são os maiores desafios que você encontrou ao trabalhar com scripts de automação na nuvem, especialmente ao integrar com ferramentas de CI/CD?

Recomendado para tiMicrosoft Certification Challenge #3 DP-100