Início Rápido: Utilizar o Bicep para implementar uma definição da Aplicação Gerida do Azure
Este início rápido descreve como utilizar o Bicep para implementar uma definição de Aplicação Gerida do Azure a partir do catálogo de serviços. A definição no catálogo de serviços está disponível para os membros da sua organização.
Para implementar uma definição de aplicação gerida a partir do catálogo de serviços, efetue as seguintes tarefas:
- Utilize o Bicep para desenvolver um modelo que implemente uma definição de aplicação gerida.
- Crie um ficheiro de parâmetros para a implementação.
- Implemente a definição de aplicação gerida a partir do catálogo de serviços.
Pré-requisitos
Para concluir as tarefas neste artigo, precisa dos seguintes itens:
- Concluiu o início rápido para utilizar o Bicep para criar e publicar uma definição de aplicação gerida no seu catálogo de serviços.
- Uma conta do Azure com uma subscrição ativa. Se não tiver uma conta, crie uma conta gratuita antes de começar.
- Visual Studio Code com a extensão mais recente do Azure Resource Manager Tools. Para ficheiros Bicep, instale a extensão Bicep para o Visual Studio Code.
- Instale a versão mais recente do Azure PowerShell ou da CLI do Azure.
Obter a definição da aplicação gerida
Para obter a definição da aplicação gerida com Azure PowerShell, execute os seguintes comandos.
No Visual Studio Code, abra um novo terminal do PowerShell e inicie sessão na sua subscrição do Azure.
Connect-AzAccount
O comando abre o browser predefinido e pede-lhe para iniciar sessão no Azure. Para obter mais informações, aceda a Iniciar sessão com Azure PowerShell.
A partir de Azure PowerShell, obtenha a definição da sua aplicação gerida. Neste exemplo, utilize o nome do grupo de recursos bicepDefinitionRG que foi criado quando implementou a definição da aplicação gerida.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG
Get-AzManagedApplicationDefinition
lista todas as definições disponíveis no grupo de recursos especificado, como sampleBicepManagedApplication.
O seguinte comando analisa a saída para mostrar apenas o nome da definição e o nome do grupo de recursos. Utiliza os nomes quando implementa a aplicação gerida.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG | Select-Object -Property Name, ResourceGroupName
Criar o ficheiro Bicep
Abra o Visual Studio Code e crie um nome de ficheiro deployServiceCatalog.bicep. Copie e cole o seguinte código no ficheiro e guarde-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
@maxLength(11)
@description('Use only lowercase letters and numbers and a maximum of 11 characters.')
param storageAccountNamePrefix string
@allowed([
'Premium_LRS'
'Standard_LRS'
'Standard_GRS'
])
@description('The options are Premium_LRS, Standard_LRS, or Standard_GRS')
param storageAccountType 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
}
storageAccountNamePrefix: {
value: storageAccountNamePrefix
}
storageAccountType: {
value: storageAccountType
}
}
}
}
Para obter mais informações sobre o tipo de recurso, aceda a Microsoft.Solutions/applications.
Criar o ficheiro de parâmetros
Abra o Visual Studio Code e crie um ficheiro de parâmetro com o nome deployServiceCatalog.parameters.json. Copie e cole o seguinte código no ficheiro e guarde-o.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"definitionName": {
"value": "sampleBicepManagedApplication"
},
"definitionRG": {
"value": "bicepDefinitionRG"
},
"managedAppName": {
"value": "sampleBicepManagedApp"
},
"mrgName": {
"value": "<placeholder for managed resource group name>"
},
"appServicePlanName": {
"value": "demoAppServicePlan"
},
"appServiceNamePrefix": {
"value": "demoApp"
},
"storageAccountNamePrefix": {
"value": "demostg1234"
},
"storageAccountType": {
"value": "Standard_LRS"
}
}
}
Tem de fornecer vários parâmetros para implementar a aplicação gerida:
Parâmetro | Valor |
---|---|
definitionName |
Nome da definição do catálogo de serviços. Este exemplo utiliza sampleBicepManagedApplication. |
definitionRG |
Nome do grupo de recursos onde a definição é armazenada. Este exemplo utiliza bicepDefinitionRG. |
managedAppName |
Nome da aplicação gerida implementada. Este exemplo utiliza sampleBicepManagedApp. |
mrgName |
Nome exclusivo para o grupo de recursos geridos que contém os recursos implementados da aplicação. O grupo de recursos é criado quando implementa a aplicação gerida. Para criar um nome de grupo de recursos gerido, pode executar os comandos que se seguem a esta lista de parâmetros. |
appServicePlanName |
Crie um nome de plano. Máximo de 40 carateres alfanuméricos e hífenes. Por exemplo, demoAppServicePlan. Serviço de Aplicações nomes de planos têm de ser exclusivos num grupo de recursos na sua subscrição. |
appServiceNamePrefix |
Crie um prefixo para o nome do plano. Máximo de 47 carateres alfanuméricos ou hífenes. Por exemplo, demoApp. Durante a implementação, o prefixo é concatenado com uma cadeia exclusiva para criar um nome globalmente exclusivo no Azure. |
storageAccountNamePrefix |
Utilize apenas letras minúsculas e números e um máximo de 11 carateres. Por exemplo, demostg1234. Durante a implementação, o prefixo é concatenado com uma cadeia exclusiva para criar um nome globalmente exclusivo no Azure. |
storageAccountType |
As opções são Premium_LRS, Standard_LRS e Standard_GRS. |
Pode executar os seguintes comandos para criar um nome para o grupo de recursos geridos.
$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. Utilize o $mrgname
valor da variável quando implementar a aplicação gerida.
Implementar a aplicação gerida
Utilize Azure PowerShell ou a CLI do Azure para criar um grupo de recursos e implementar a aplicação gerida.
New-AzResourceGroup -Name bicepAppRG -Location westus3
New-AzResourceGroupDeployment `
-ResourceGroupName bicepAppRG `
-TemplateFile deployServiceCatalog.bicep `
-TemplateParameterFile deployServiceCatalog.parameters.json
A sua implementação poderá apresentar um linter Bicep a avisar que a managedResourceGroupId
propriedade espera um ID de recurso. Uma vez que o grupo de recursos gerido é criado durante a implementação, não existe um ID de recurso disponível para a propriedade.
Ver resultados
Após a implementação da aplicação gerida do catálogo de serviços, tem dois novos grupos de recursos. Um grupo de recursos contém a aplicação gerida. O outro grupo de recursos contém os recursos geridos que foram implementados. Neste exemplo, uma Serviço de Aplicações, Serviço de Aplicações plano e conta de armazenamento.
Aplicação gerida
Após a conclusão da implementação, pode verificar o estado da aplicação gerida.
Execute o seguinte comando para verificar o estado da aplicação gerida.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG
Expanda as propriedades para facilitar a leitura das Properties
informações.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG | Select-Object -ExpandProperty Properties
Recursos geridos
Pode ver os recursos implementados no grupo de recursos geridos.
Para apresentar os recursos do grupo de recursos geridos, execute o seguinte comando. Criou a $mrgname
variável quando criou os parâmetros.
Get-AzResource -ResourceGroupName $mrgname
Para apresentar todas as atribuições de funções do grupo de recursos gerido.
Get-AzRoleAssignment -ResourceGroupName $mrgname
A definição de aplicação gerida que criou nos artigos de início rápido utilizou um grupo com a atribuição de função proprietário. Pode ver o grupo com o seguinte comando.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
Também pode listar as atribuições de negação para o grupo de recursos gerido.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Limpar os recursos
Quando tiver terminado a aplicação gerida, pode eliminar os grupos de recursos e isso remove todos os recursos que criou. Por exemplo, criou os grupos de recursos bicepAppRG e um grupo de recursos gerido com o prefixo mrg-bicepManagedApplication.
Quando elimina o grupo de recursos bicepAppRG , a aplicação gerida, o grupo de recursos gerido e todos os recursos do Azure são eliminados.
O comando pede-lhe para confirmar que pretende remover o grupo de recursos.
Remove-AzResourceGroup -Name bicepAppRG
Se quiser eliminar a definição da aplicação gerida, elimine os grupos de recursos que criou com o nome packageStorageRG e bicepDefinitionRG.
Passos seguintes
- Para saber como criar e publicar os ficheiros de definição de uma aplicação gerida com Azure PowerShell, a CLI do Azure ou o portal, aceda a Início Rápido: Criar e publicar uma definição de Aplicação Gerida do Azure.
- Para utilizar o seu próprio armazenamento para criar e publicar os ficheiros de definição de uma aplicação gerida, aceda a Início Rápido: Traga o seu próprio armazenamento para criar e publicar uma definição de Aplicação Gerida do Azure.