Gerenciar grupos de recursos do Azure Resource Manager com a CLI do Azure

Saiba como usar A CLI do Azure com o Azure Resource Manager para gerenciar os grupos de recursos do Azure. Para gerenciar recursos do Azure, confira Gerenciar recursos do Azure usando a CLI do Azure.

Outros artigos sobre o gerenciamento de grupos de recursos:

O que é um grupo de recursos?

Um grupo de recursos é um contêiner que mantém os recursos relacionados a uma solução do Azure. O grupo de recursos pode incluir todos os recursos para a solução ou apenas os recursos que você deseja gerenciar como um grupo. Você decide como deseja alocar recursos para grupos de recursos com base no que faz mais sentido para sua organização. Em geral, adicione recursos que compartilham o mesmo ciclo de vida no mesmo grupo de recursos, para que você possa implantar, atualizar e excluí-los como um grupo facilmente.

O grupo de recursos armazena metadados sobre os recursos. Portanto, quando você especifica um local para o grupo de recursos, especifica onde os metadados são armazenados. Por motivos de conformidade, talvez você precise garantir que os dados sejam armazenados em determinada região.

O grupo de recursos armazena metadados sobre os recursos. Quando você especifica uma localização para o grupo de recursos, você especifica onde os metadados são armazenados.

Criar grupos de recursos

O comando da CLI a seguir cria um grupo de recursos.

az group create --name demoResourceGroup --location westus

Listar os grupos de recursos

O script da CLI a seguir lista os grupos de recursos da sua assinatura.

az group list

Para obter um grupo de recursos:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group show --name $resourceGroupName

Excluir grupos de recursos

O seguinte script da CLI exclui um grupo de recursos:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName

Para saber mais sobre como o Azure Resource Manager solicita a exclusão de recursos, veja Exclusão de grupo de recursos do Azure Resource Manager.

Implantar recursos em um grupo de recursos existente

Confira Implantar recursos em um grupo de recursos existente.

Implantar um grupo de recursos e recursos

Você pode criar um grupo de recursos e implantar os recursos usando um modelo do Resource Manager. Para saber mais, confira Create resource group and deploy resources (Criar grupo de recursos e implantar recursos).

Reimplantar quando ocorrer falha na implantação

Esse recurso também é conhecido como Reversão em caso de erro. Para obter mais informações, confira Reimplantar quando a implantação falhar.

Mover para outro grupo de recursos ou assinatura

Você pode mover os recursos do grupo para outro grupo de recursos. Para saber mais, confira Mover recursos.

Bloquear grupo de recursos

O bloqueio impede que outros usuários na sua organização acidentalmente excluam ou modifiquem recursos críticos, tais como a assinatura, recursos ou um grupo de recursos do Azure.

O script a seguir bloqueia um grupo de recursos para que ele não possa ser excluído.

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az lock create --name LockGroup --lock-type CanNotDelete --resource-group $resourceGroupName

O seguinte script obtém todos os bloqueios de um grupo de recursos:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az lock list --resource-group $resourceGroupName

O seguinte script exclui um bloqueio:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
echo "Enter the lock name:" &&
read lockName &&
az lock delete --name $lockName --resource-group $resourceGroupName

Para saber mais, confira Bloquear recursos com o Gerenciador de Recursos do Azure.

Aplicar marcas aos grupos de recursos

Você pode aplicar marcas a recursos e grupos de recursos para organizar seus ativos de modo lógico. Para obter informações, veja Usar marcas para organizar os recursos do Azure.

Exportar grupos de recursos para modelos

Depois de configurar o grupo de recursos com sucesso, é interessante ver o modelo do Resource Manager para o grupo de recursos. A exportação do modelo oferece dois benefícios:

  • Automatizar com facilidade as implantações futuras da solução, pois o modelo contém a infraestrutura completa.
  • Aprender a sintaxe do modelo analisando o JSON (JavaScript Object Notation) que representa a sua solução.

Para exportar todos os recursos em um grupo de recursos, use az group export e forneça o nome do grupo de recursos.

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group export --name $resourceGroupName

O script exibe o modelo no console. Copie o JSON e salve como um arquivo.

Em vez de exportar todos os recursos no grupo de recursos, você pode selecionar quais exportar.

Para exportar um recurso, passe a ID do recurso.

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
echo "Enter the storage account name:" &&
read storageAccountName &&
storageAccount=$(az resource show --resource-group $resourceGroupName --name $storageAccountName --resource-type Microsoft.Storage/storageAccounts --query id --output tsv) &&
az group export --resource-group $resourceGroupName --resource-ids $storageAccount

Para exportar mais de um recurso, passe as IDs dos recursos separadas por espaço. Para exportar todos os recursos, não especifique este argumento ou forneça "*".

az group export --resource-group <resource-group-name> --resource-ids $storageAccount1 $storageAccount2

Ao exportar o modelo, você pode especificar se os parâmetros serão usados no modelo. Por padrão, os parâmetros para nomes de recursos são incluídos, mas não têm um valor padrão. Você deve passar o valor de parâmetro durante a implantação.

"parameters": {
  "serverfarms_demoHostPlan_name": {
    "type": "String"
  },
  "sites_webSite3bwt23ktvdo36_name": {
    "type": "String"
  }
}

No recurso, o parâmetro é usado para o nome.

"resources": [
  {
    "type": "Microsoft.Web/serverfarms",
    "apiVersion": "2016-09-01",
    "name": "[parameters('serverfarms_demoHostPlan_name')]",
    ...
  }
]

Se você usar o parâmetro --include-parameter-default-value ao exportar o modelo, o parâmetro de modelo vai incluir o valor padrão definido para o valor atual. Você pode usar o valor padrão ou substituí-lo passando um valor diferente.

"parameters": {
  "serverfarms_demoHostPlan_name": {
    "defaultValue": "demoHostPlan",
    "type": "String"
  },
  "sites_webSite3bwt23ktvdo36_name": {
    "defaultValue": "webSite3bwt23ktvdo36",
    "type": "String"
  }
}

Se você usar o parâmetro --skip-resource-name-params ao exportar o modelo, os parâmetros para nomes de recursos não serão incluídos. Em vez disso, o nome é definido diretamente no recurso para o seu valor atual. Não é possível personalizar o nome durante a implantação.

"resources": [
  {
    "type": "Microsoft.Web/serverfarms",
    "apiVersion": "2016-09-01",
    "name": "demoHostPlan",
    ...
  }
]

O recurso de exportação de modelo não dá suporte à exportação de recursos do Azure Data Factory. Para saber mais sobre como você pode exportar recursos do Data Factory, consulte Copiar ou clonar um data factory no Azure Data Factory.

Para exportar recursos criados por meio do modelo de implantação clássico, você deve migrá-los para o modelo de implantação do Resource Manager.

Para obter mais informações, confira Exportação única e de vários recursos para o modelo no portal do Azure.

Gerenciar o acesso a grupos de recursos

O RBAC do Azure (controle de acesso baseado em função do Azure) é a maneira usada para gerenciar o acesso aos recursos no Azure. Para saber mais, confira Adicionar ou remover atribuições de função do Azure usando a CLI do Azure.

Próximas etapas