Guia de início rápido: usar o Bicep para implantar uma definição de Aplicativo Gerenciado do Azure
Este guia de início rápido descreve como usar o Bicep para implantar uma definição de Aplicativo Gerenciado do Azure a partir do seu catálogo de serviços. As definições no seu catálogo de serviços estão disponíveis para os membros da sua organização.
Para implantar uma definição de aplicativo gerenciado a partir do seu catálogo de serviços, execute as seguintes tarefas:
- Use o Bicep para desenvolver um modelo que implante uma definição de aplicativo gerenciado.
- Crie um arquivo de parâmetro para a implantação.
- Implante a definição de aplicativo gerenciado a partir do seu catálogo de serviços.
Pré-requisitos
Para concluir as tarefas neste artigo, você precisa dos seguintes itens:
- Implantou uma definição com Guia de início rápido: use o Bicep para criar e publicar uma definição de Aplicativo Gerenciado do Azure.
- Uma conta do Azure com uma subscrição ativa. Se você não tiver uma conta, crie uma conta gratuita antes de começar.
- Código do Visual Studio com a extensão mais recente das Ferramentas do Azure Resource Manager. Para arquivos Bicep, instale a extensão Bicep para Visual Studio Code.
- A versão mais recente do Azure PowerShell ou da CLI do Azure.
Obter definição de aplicativo gerenciado
Para obter a definição do aplicativo gerenciado com o Azure PowerShell, execute os seguintes comandos.
No Visual Studio Code, abra um novo terminal do PowerShell e entre na sua assinatura do Azure.
Connect-AzAccount
O comando abre seu navegador padrão e solicita que você entre no Azure. Para obter mais informações, vá para Entrar com o Azure PowerShell.
No Azure PowerShell, obtenha a definição do seu aplicativo gerenciado. Neste exemplo, use o nome do grupo de recursos bicepDefinitionGroup que foi criado quando você implantou a definição de aplicativo gerenciado.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup
Get-AzManagedApplicationDefinition
lista todas as definições disponíveis no grupo de recursos especificado, como sampleBicepManagedApplication.
O comando a seguir analisa a saída para mostrar apenas o nome da definição e o nome do grupo de recursos. Você usa os nomes quando implanta o aplicativo gerenciado.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup | Select-Object -Property Name, ResourceGroupName
Criar o arquivo Bicep
Abra o Visual Studio Code e crie um nome de arquivo deployServiceCatalog.bicep. Copie e cole o código a seguir no arquivo e salve-o.
@description('Region where the resources are deployed.')
param location string = resourceGroup().location
@description('Resource group name where the definition is stored.')
param definitionRG string
@description('Name of the service catalog definition.')
param definitionName string
// Parameters for the managed application's resource deployment
@description('Name of the managed application.')
param managedAppName string
@description('Name for the managed resource group.')
param mrgName string
@maxLength(40)
@description('Service plan name with maximum 40 alphanumeric characters and hyphens. Must be unique within a resource group in your subscription.')
param appServicePlanName string
@maxLength(47)
@description('Globally unique across Azure. Maximum of 47 alphanumeric characters or hyphens.')
param appServiceNamePrefix string
@description('Resource ID for the managed application definition.')
var appResourceId = resourceId('${definitionRG}', 'Microsoft.Solutions/applicationdefinitions', '${definitionName}')
@description('Creates the path for the managed resource group. The resource group is created during deployment.')
var mrgId = '${subscription().id}/resourceGroups/${mrgName}'
resource bicepServiceCatalogApp 'Microsoft.Solutions/applications@2021-07-01' = {
name: managedAppName
kind: 'ServiceCatalog'
location: location
properties: {
applicationDefinitionId: appResourceId
managedResourceGroupId: mrgId
parameters: {
appServicePlanName: {
value: appServicePlanName
}
appServiceNamePrefix: {
value: appServiceNamePrefix
}
}
}
}
Para obter mais informações sobre o tipo de recurso, vá para Microsoft.Solutions/applications.
Criar o ficheiro de parâmetros
Abra o Visual Studio Code e crie um arquivo de parâmetro chamado deployServiceCatalog-parameters.bicepparam. Copie e cole o código a seguir no arquivo e salve-o.
using './deployServiceCatalog.bicep'
param definitionName = 'sampleBicepManagedApplication'
param definitionRG = 'bicepDefinitionGroup'
param managedAppName = 'sampleBicepManagedApp'
param mrgName = 'placeholder for managed resource group name'
param appServicePlanName = 'demoAppServicePlan'
param appServiceNamePrefix = 'demoApp'
Você precisa fornecer vários parâmetros para implantar o aplicativo gerenciado:
Parâmetro | Value |
---|---|
definitionName |
Nome da definição do catálogo de serviços. Este exemplo usa sampleBicepManagedApplication. |
definitionRG |
Nome do grupo de recursos onde a definição está armazenada. Este exemplo usa bicepDefinitionGroup. |
managedAppName |
Nome do aplicativo gerenciado implantado. Este exemplo usa sampleBicepManagedApp. |
mrgName |
Nome exclusivo para o grupo de recursos gerenciados que contém os recursos implantados do aplicativo. O grupo de recursos é criado quando você implanta o aplicativo gerenciado. Para criar um nome de grupo de recursos gerenciados, execute os comandos que seguem essa lista de parâmetros e use o $mrgname valor para substituir o espaço reservado no arquivo de parâmetros. |
appServicePlanName |
Crie um nome de plano. Máximo de 40 caracteres alfanuméricos e hífenes. Por exemplo, demoAppServicePlan. Os nomes dos planos do Serviço de Aplicativo devem ser exclusivos dentro de um grupo de recursos em sua assinatura. |
appServiceNamePrefix |
Crie um prefixo para o nome do plano. Máximo de 47 caracteres alfanuméricos ou hífenes. Por exemplo, demoApp. Durante a implantação, o prefixo é concatenado com uma cadeia de caracteres exclusiva para criar um nome que seja globalmente exclusivo no Azure. |
Você pode executar os seguintes comandos para criar um nome para o grupo de recursos gerenciados.
$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
As $mrgprefix
variáveis e $mrgtimestamp
são concatenadas e armazenadas na $mrgname
variável. O valor da variável está no formato mrg-sampleBicepManagedApplication-20230512103059. Você usa o $mrgname
valor da variável ao implantar o aplicativo gerenciado.
Implementar a aplicação gerida
Use o Azure PowerShell ou a CLI do Azure para criar um grupo de recursos e implantar o aplicativo gerenciado.
New-AzResourceGroup -Name bicepApplicationGroup -Location westus
$deployparms = @{
ResourceGroupName = "bicepApplicationGroup"
TemplateFile = "deployServiceCatalog.bicep"
TemplateParameterFile = "deployServiceCatalog-parameters.bicepparam"
Name = "deployServiceCatalogApp"
}
New-AzResourceGroupDeployment @deployparms
A $deployparms
variável usa o splatting do PowerShell para melhorar a legibilidade dos valores dos parâmetros.
Sua implantação pode exibir um aviso de linter do Bicep de que a managedResourceGroupId
propriedade espera uma ID de recurso. Como o grupo de recursos gerenciados é criado durante a implantação, não há uma ID de recurso disponível para a propriedade.
Ver resultados
Depois que o aplicativo gerenciado do catálogo de serviços for implantado, você terá dois novos grupos de recursos. Um grupo de recursos contém o aplicativo gerenciado. O outro grupo de recursos contém os recursos gerenciados que foram implantados. Neste exemplo, um Serviço de Aplicativo, um plano do Serviço de Aplicativo e uma conta de armazenamento.
Aplicação gerida
Após a conclusão da implantação, você poderá verificar o status do aplicativo gerenciado.
Execute o seguinte comando para verificar o status do aplicativo gerenciado.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup
Expanda as propriedades para facilitar a leitura das Properties
informações.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup | Select-Object -ExpandProperty Properties
Recursos geridos
Você pode exibir os recursos implantados no grupo de recursos gerenciados.
Para exibir os recursos do grupo de recursos gerenciados, execute o seguinte comando. Você criou a $mrgname
variável quando criou os parâmetros.
Get-AzResource -ResourceGroupName $mrgname
Para exibir todas as atribuições de função para o grupo de recursos gerenciados.
Get-AzRoleAssignment -ResourceGroupName $mrgname
A definição de aplicativo gerenciado que você criou nos artigos de início rápido usou um grupo com a atribuição de função Proprietário. Você pode visualizar o grupo com o seguinte comando.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
Você também pode listar as atribuições de negação para o grupo de recursos gerenciados.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Clean up resources (Limpar recursos)
Quando terminar o aplicativo gerenciado, você poderá excluir os grupos de recursos e isso removerá todos os recursos criados. Por exemplo, você criou os grupos de recursos bicepApplicationGroup e um grupo de recursos gerenciados com o prefixo mrg-bicepManagedApplication.
Quando você exclui o grupo de recursos bicepApplicationGroup , o aplicativo gerenciado, o grupo de recursos gerenciados e todos os recursos do Azure são excluídos.
O comando solicita que você confirme que deseja remover o grupo de recursos.
Remove-AzResourceGroup -Name bicepApplicationGroup
Se desejar excluir a definição de aplicativo gerenciado, exclua os grupos de recursos criados chamados packageStorageGroup e bicepDefinitionGroup.
Próximos passos
- Para saber como criar e publicar os arquivos de definição para um aplicativo gerenciado usando o Azure PowerShell, a CLI do Azure ou o portal, vá para Guia de início rápido: criar e publicar uma definição de aplicativo gerenciado do Azure.
- Para usar seu próprio armazenamento para criar e publicar os arquivos de definição para um aplicativo gerenciado, vá para Guia de início rápido: traga seu próprio armazenamento para criar e publicar uma definição de Aplicativo Gerenciado do Azure.