Automatizar a implantação usando a CLI do Azure
A automação de bancos de dados não é mais apenas para grandes empresas; Agora é essencial que empresas de todos os tamanhos permaneçam competitivas. Como administrador de banco de dados, automatizar tarefas de banco de dados é crucial por vários motivos:
- Controle granular sobre aplicativos e bancos de dados
- Fácil escalabilidade, aumentando a eficiência ao gerenciar vários ativos
- Reutilização de scripts para automatizar tarefas de rotina
- Solução de problemas simplificada quando as ferramentas GUI não estão disponíveis
A CLI (Interface de Command-Line do Azure) é uma ferramenta multiplataforma que ajuda você a criar e gerenciar recursos do Azure. Você pode executar comandos através do terminal usando prompts interativos ou scripts.
A CLI do Azure pode ser instalada em computadores Linux, Mac ou Windows. Você também pode executá-lo a partir de um navegador usando o terminal do Cloud Shell no portal do Azure ou dentro de um contêiner do Docker.
A sintaxe da CLI do Azure segue o reference name - command - parameter - parameter valuepadrão. Por exemplo, alternar entre assinaturas é uma tarefa comum. Aqui está a sintaxe:
az account set --subscription "my subscription name"
PowerShell vs. Azure CLI
O Azure PowerShell e a CLI do Azure são ferramentas de linha de comando de plataforma cruzada que permitem criar e gerenciar recursos do Azure no Windows, macOS e Linux. A principal diferença entre eles está nos ambientes de shell que suportam.
| Ambiente Shell | Azure CLI | Azure PowerShell |
|---|---|---|
| Cmd | Sim | |
| Bash | Sim | |
| Windows PowerShell | Sim | Sim |
| PowerShell | Sim | Sim |
Para escolher a ferramenta certa, considere a sua experiência e o seu ambiente de trabalho.
A CLI do Azure é semelhante ao script bash, tornando-o intuitivo para aqueles que normalmente trabalham com sistemas Linux. Por outro lado, o Azure PowerShell inclui módulos que ajudam a gerenciar recursos do Azure a partir do PowerShell. Os comandos do PowerShell seguem a sintaxe padrão verbo-substantivo, tornando-a um ajuste natural para aqueles familiarizados com sistemas Windows.
Aqui está uma comparação rápida de alguns comandos comumente usados em seus formulários CLI e PowerShell:
| Comando | Azure CLI | Azure PowerShell |
|---|---|---|
| Entrar com o navegador da Web | az login | Connect-AzAccount |
| Obter subscrições disponíveis | Lista de contas AZ | Get-AzSubscription |
| Definir Subscrição | Conjunto de contas AZ –Subscrição | Set-AzContext -Subscrição |
| Listar todas as máquinas virtuais | lista az vm | Get-AzVM |
| Criar um novo servidor SQL | criar servidor sql az | New-AzSqlServer |
Implantando o Banco de Dados SQL usando a CLI do Azure
Veja um exemplo de como implantar um Banco de Dados SQL e criar uma regra de firewall para permitir o acesso dos serviços do Azure usando a CLI do Azure:
let "randomIdentifier=$RANDOM*$RANDOM"
$resourceGroup = "<your resource group>"
$location = "<your location preference>"
$server = "dp300-sql-server-$randomIdentifier"
$login = "sqladmin"
$password = "Pa$$w0rD-$randomIdentifier"
az sql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password
az sql server firewall-rule create --resource-group $resourceGroup --server $server -n AllowYourIp --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
Para saber mais sobre todos os comandos da CLI do SQL do Azure disponíveis, consulte Comandos da CLI do SQL do Azure.
Implantando o modelo do Azure Resource Manager (ARM) usando a CLI do Azure e o PowerShell
Com o PowerShell, você tem várias opções para o escopo de sua implantação. Você pode implantar em um grupo de recursos, uma assinatura, um grupo de gerenciamento, que é uma coleção de assinaturas sob o mesmo modelo do Azure e comumente usado em implantações de grandes empresas, ou um locatário. Os modelos do Azure Resource Manager são parametrizados, exigindo que você passe parâmetros embutidos ou por meio de um arquivo de parâmetros, conforme mostrado no exemplo a seguir.
New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
-TemplateFile c:\MyTemplates\azuredeploy.json `
-TemplateParameterFile c:\MyTemplates\storage.parameters.json
Os arquivos de parâmetro e modelo podem ser armazenados em um repositório Git, no Armazenamento de Blobs do Azure ou em qualquer outro local acessível a partir da máquina de implantação.
A CLI do Azure oferece as mesmas opções de escopo de implantação que o PowerShell. Você pode usar arquivos e modelos de parâmetros locais ou remotos, assim como faria com o PowerShell, conforme mostrado no exemplo a seguir.
az deployment group create --resource-group ExampleResourceGroup --template-file '\path\template.json'
Para implantar modelos vinculados remotos com caminho relativo armazenados em uma conta de armazenamento, use query-string para especificar o token SAS:
az deployment group create \
--name linkedTemplateWithRelativePath \
--resource-group myResourceGroup \
--template-uri "https://stage20210126.blob.core.windows.net/template-staging/mainTemplate.json" \
--query-string $sasToken
Nota
Atualmente, a CLI do Azure não oferece suporte à implantação direta de arquivos Bicep remotos. Em vez disso, você pode usar a CLI do Bicep para converter o arquivo Bicep em um modelo JSON e, em seguida, implantar o modelo JSON de um local remoto.