Aracılığıyla paylaş


Hızlı Başlangıç: Azure Yönetilen Uygulama tanımını dağıtmak için Bicep kullanma

Bu hızlı başlangıçta Hizmet kataloğunuzdan Azure Yönetilen Uygulama tanımını dağıtmak için Bicep'in nasıl kullanılacağı açıklanmaktadır. Hizmet kataloğunuzdaki tanım, kuruluşunuzun üyeleri tarafından kullanılabilir.

Yönetilen uygulama tanımını hizmet kataloğunuzdan dağıtmak için aşağıdaki görevleri gerçekleştirin:

  • Yönetilen uygulama tanımı dağıtan bir şablon geliştirmek için Bicep'i kullanın.
  • Dağıtım için bir parametre dosyası oluşturun.
  • Yönetilen uygulama tanımını hizmet kataloğunuzdan dağıtın.

Önkoşullar

Bu makaledeki görevleri tamamlamak için aşağıdaki öğelere ihtiyacınız vardır:

Yönetilen uygulama tanımını alma

Yönetilen uygulamanın tanımını Azure PowerShell ile almak için aşağıdaki komutları çalıştırın.

Visual Studio Code'da yeni bir PowerShell terminali açın ve Azure aboneliğinizde oturum açın.

Connect-AzAccount

Komut varsayılan tarayıcınızı açar ve Azure'da oturum açmanızı ister. Daha fazla bilgi için Bkz . Azure PowerShell ile oturum açma.

Azure PowerShell'den yönetilen uygulamanızın tanımını alın. Bu örnekte, yönetilen uygulama tanımını dağıttığınızda oluşturulan bicepDefinitionGroup kaynak grubu adını kullanın.

Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup

Get-AzManagedApplicationDefinitionsampleBicepManagedApplication gibi belirtilen kaynak grubundaki tüm kullanılabilir tanımları listeler.

Aşağıdaki komut, çıkışı yalnızca tanım adını ve kaynak grubu adını gösterecek şekilde ayrıştırır. Yönetilen uygulamayı dağıtırken adları kullanırsınız.

Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionGroup | Select-Object -Property Name, ResourceGroupName

Bicep dosyasını oluşturma

Visual Studio Code'u açın ve deployServiceCatalog.bicep adlı bir dosya adı oluşturun. Aşağıdaki kodu kopyalayıp dosyaya yapıştırın ve kaydedin.

@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
      }
    }
  }
}

Kaynak türü hakkında daha fazla bilgi için Microsoft.Solutions/applications adresine gidin.

Parametre dosyasını oluşturma

Visual Studio Code'u açın ve deployServiceCatalog-parameters.bicepparam adlı bir parametre dosyası oluşturun. Aşağıdaki kodu kopyalayıp dosyaya yapıştırın ve kaydedin.

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'
param storageAccountNamePrefix = 'demostg1234'
param storageAccountType = 'Standard_LRS'

Yönetilen uygulamayı dağıtmak için birkaç parametre sağlamanız gerekir:

Parametre Value
definitionName Hizmet kataloğu tanımının adı. Bu örnekte sampleBicepManagedApplication kullanılmıştır.
definitionRG Tanımın depolandığı kaynak grubu adı. Bu örnekte bicepDefinitionGroup kullanılır.
managedAppName Dağıtılan yönetilen uygulamanın adı. Bu örnekte sampleBicepManagedApp kullanılmıştır.
mrgName Uygulamanın dağıtılan kaynaklarını içeren yönetilen kaynak grubunun benzersiz adı. Yönetilen uygulamayı dağıttığınızda kaynak grubu oluşturulur. Yönetilen kaynak grubu adı oluşturmak için bu parametre listesini izleyen komutları çalıştırın ve parametre dosyasındaki yer tutucuyu değiştirmek için değerini kullanın $mrgname .
appServicePlanName Plan adı oluşturun. En fazla 40 alfasayısal karakter ve kısa çizgi. Örneğin demoAppServicePlan. App Service planı adları, aboneliğinizdeki bir kaynak grubu içinde benzersiz olmalıdır.
appServiceNamePrefix Plan adı için bir ön ek oluşturun. En fazla 47 alfasayısal karakter veya kısa çizgi. Örneğin demoApp. Dağıtım sırasında ön ek, Azure genelinde genel olarak benzersiz bir ad oluşturmak için benzersiz bir dizeyle birleştirilir.
storageAccountNamePrefix Yalnızca küçük harf ve sayı kullanın ve en fazla 11 karakter kullanın. Örneğin, demostg1234. Dağıtım sırasında ön ek, Azure genelinde genel olarak benzersiz bir ad oluşturmak için benzersiz bir dizeyle birleştirilir.
storageAccountType Seçenekler Premium_LRS, Standard_LRS ve Standard_GRS.

Yönetilen kaynak grubu için bir ad oluşturmak için aşağıdaki komutları çalıştırabilirsiniz.

$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname

$mrgprefix ve $mrgtimestamp değişkenleri birleştirilir ve değişkende $mrgname depolanır. Değişkenin değeri mrg-sampleBicepManagedApplication-20230512103059 biçimindedir. Yönetilen uygulamayı dağıtırken değişkenin değerini kullanırsınız $mrgname .

Yönetilen uygulamayı dağıtma

Kaynak grubu oluşturmak ve yönetilen uygulamayı dağıtmak için Azure PowerShell veya Azure CLI kullanın.

New-AzResourceGroup -Name bicepApplicationGroup -Location westus

$deployparms = @{
  ResourceGroupName = "bicepApplicationGroup"
  TemplateFile = "deployServiceCatalog.bicep"
  TemplateParameterFile = "deployServiceCatalog-parameters.bicepparam"
  Name = "deployServiceCatalogApp"
}

New-AzResourceGroupDeployment @deployparms

değişken, $deployparms parametre değerlerinin okunabilirliğini geliştirmek için PowerShell splatting kullanır.

Dağıtımınız özelliğin bir kaynak kimliği beklediğine managedResourceGroupId ilişkin bir Bicep linter uyarısı görüntüleyebilir. Yönetilen kaynak grubu dağıtım sırasında oluşturulduğundan, özelliği için kullanılabilir bir kaynak kimliği yoktur.

Sonuçları görüntüleme

Hizmet kataloğu yönetilen uygulaması dağıtıldıktan sonra iki yeni kaynak grubunuz olur. Bir kaynak grubu yönetilen uygulamayı içerir. Diğer kaynak grubu, dağıtılan yönetilen kaynakları içerir. Bu örnekte bir App Service, App Service planı ve depolama hesabı.

Yönetilen uygulama

Dağıtım tamamlandıktan sonra yönetilen uygulamanızın durumunu de kontrol edebilirsiniz.

Yönetilen uygulamanın durumunu denetlemek için aşağıdaki komutu çalıştırın.

Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup

Bilgileri okumayı Properties kolaylaştırmak için özellikleri genişletin.

Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepApplicationGroup | Select-Object -ExpandProperty Properties

Yönetilen kaynaklar

Yönetilen kaynak grubuna dağıtılan kaynakları görüntüleyebilirsiniz.

Yönetilen kaynak grubunun kaynaklarını görüntülemek için aşağıdaki komutu çalıştırın. Parametreleri oluştururken $mrgname değişkeni oluşturdunuz.

Get-AzResource -ResourceGroupName $mrgname

Yönetilen kaynak grubunun tüm rol atamalarını görüntülemek için.

Get-AzRoleAssignment -ResourceGroupName $mrgname

Hızlı başlangıç makalelerinde oluşturduğunuz yönetilen uygulama tanımı, Sahip rolü ataması ile bir grup kullandı. Grubu aşağıdaki komutla görüntüleyebilirsiniz.

Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner

Yönetilen kaynak grubu için reddetme atamalarını da listeleyebilirsiniz.

Get-AzDenyAssignment -ResourceGroupName $mrgname

Kaynakları temizleme

Yönetilen uygulamayla işiniz bittiğinde kaynak gruplarını silebilirsiniz ve bu da oluşturduğunuz tüm kaynakları kaldırır. Örneğin, bicepApplicationGroup kaynak gruplarını ve mrg-bicepManagedApplication ön ekini içeren bir yönetilen kaynak grubu oluşturdunuz.

bicepApplicationGroup kaynak grubunu sildiğinizde, yönetilen uygulama, yönetilen kaynak grubu ve tüm Azure kaynakları silinir.

Komut, kaynak grubunu kaldırmak istediğinizi onaylamanızı ister.

Remove-AzResourceGroup -Name bicepApplicationGroup

Yönetilen uygulama tanımını silmek istiyorsanız package Depolama Group ve bicepDefinitionGroup adlı kaynak gruplarını silin.

Sonraki adımlar