Gerenciar grupos de recursos do Azure Resource Manager usando o Azure PowerShell

Saiba como usar o Azure PowerShell com o Azure Resource Manager para gerenciar seus grupos de recursos do Azure. Para gerenciar os recursos do Azure, consulte Gerenciar recursos do Azure com o Azure Powershell.

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 uma localização para o grupo de recursos, você está especificando o local em que 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 script do PowerShell a seguir cria um grupo de recursos.

New-AzResourceGroup -Name demoResourceGroup -Location westus

Listar os grupos de recursos

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

Get-AzResourceGroup

Para obter um grupo de recursos:

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

Get-AzResourceGroup -Name $resourceGroupName

Excluir grupos de recursos

O script do PowerShell a seguir exclui um grupo de recursos:

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

Remove-AzResourceGroup -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.

Para validar uma implantação de grupo de recursos, consulte Test-AzResourceGroupDeployment.

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 para um novo grupo de recursos ou assinatura.

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.

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

New-AzResourceLock -LockName LockGroup -LockLevel CanNotDelete -ResourceGroupName $resourceGroupName 

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

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

Get-AzResourceLock -ResourceGroupName $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, é possível exibir um modelo do Resource Manager para ele. A exportação do modelo oferece dois benefícios:

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

Para exportar todos os recursos em um grupo de recursos, use o cmdlet Export-AzResourceGroup e forneça o nome do grupo de recursos.

$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"

Export-AzResourceGroup -ResourceGroupName $resourceGroupName

Ele salva o modelo como um arquivo local.

Em vez de todos os recursos no grupo de recursos, é possível selecionar apenas alguns para a exportação.

Para exportar um recurso, transmita a ID dele.

$resource = Get-AzResource `
  -ResourceGroupName <resource-group-name> `
  -ResourceName <resource-name> `
  -ResourceType <resource-type>
Export-AzResourceGroup `
  -ResourceGroupName <resource-group-name> `
  -Resource $resource.ResourceId

Para exportar mais de um recurso, transmita as IDs deles em uma matriz.

Export-AzResourceGroup `
  -ResourceGroupName <resource-group-name> `
  -Resource @($resource1.ResourceId, $resource2.ResourceId)

Ao exportar o modelo, é possível especificar se parâmetros serão usados nele. 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": {
    "defaultValue": null,
    "type": "String"
  },
  "sites_webSite3bwt23ktvdo36_name": {
    "defaultValue": null,
    "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 -IncludeParameterDefaultValue 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 -SkipResourceNameParameterization 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 o Azure PowerShell.

Próximas etapas