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ı dağıtmak için Bicep'in nasıl kullanılacağı açıklanmaktadır. Hizmet kataloğunuzdaki tanımlar kuruluşunuzun üyeleri tarafından kullanılabilir.
Hizmet kataloğunuzdan yönetilen uygulama tanımı dağıtmak için aşağıdaki görevleri gerçekleştirin:
- Yönetilen uygulama tanımını 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:
- Hizmet kataloğunuzda yönetilen uygulama tanımı oluşturmak ve yayımlamak için Bicep'i kullanma hızlı başlangıcı tamamlandı.
- Etkin aboneliği olan bir Azure hesabı. Hesabınız yoksa başlamadan önce ücretsiz bir hesap oluşturun .
- En son Azure Resource Manager Araçları uzantısıyla Visual Studio Code. Bicep dosyaları için Visual Studio Code için Bicep uzantısını yükleyin.
- Azure PowerShell veya Azure CLI'nın en son sürümünü yükleyin.
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 Azure PowerShell ile oturum açma bölümüne gidin.
Azure PowerShell yönetilen uygulamanızın tanımını alın. Bu örnekte, yönetilen uygulama tanımını dağıttığınızda oluşturulan bicepDefinitionRG kaynak grubu adını kullanın.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG
Get-AzManagedApplicationDefinition
sampleBicepManagedApplication 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 bicepDefinitionRG | Select-Object -Property Name, ResourceGroupName
Bicep dosyasını oluşturma
Visual Studio Code açın ve deployServiceCatalog.bicep dosya adını 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 açın ve deployServiceCatalog.parameters.json adlı bir parametre dosyası oluşturun. Aşağıdaki kodu kopyalayıp dosyaya yapıştırın ve kaydedin.
{
"$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"
}
}
}
Yönetilen uygulamayı dağıtmak için çeşitli parametreler sağlamanız gerekir:
Parametre | Değer |
---|---|
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 bicepDefinitionRG 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ırabilirsiniz. |
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 bicepAppRG -Location westus3
New-AzResourceGroupDeployment `
-ResourceGroupName bicepAppRG `
-TemplateFile deployServiceCatalog.bicep `
-TemplateParameterFile deployServiceCatalog.parameters.json
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 kontrol edebilirsiniz.
Yönetilen uygulamanın durumunu denetlemek için aşağıdaki komutu çalıştırın.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG
Bilgileri okumayı Properties
kolaylaştırmak için özellikleri genişletin.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG | 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şkenini 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ıyla 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, bicepAppRG kaynak gruplarını ve mrg-bicepManagedApplication ön ekini içeren bir yönetilen kaynak grubu oluşturdunuz.
bicepAppRG 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 bicepAppRG
Yönetilen uygulama tanımını silmek istiyorsanız packageStorageRG ve bicepDefinitionRG adlı kaynak gruplarını silin.
Sonraki adımlar
- Azure PowerShell, Azure CLI veya portal kullanarak yönetilen bir uygulamanın tanım dosyalarını oluşturmayı ve yayımlamayı öğrenmek için Hızlı Başlangıç: Azure Yönetilen Uygulama tanımı oluşturma ve yayımlama bölümüne gidin.
- Yönetilen bir uygulamanın tanım dosyalarını oluşturmak ve yayımlamak üzere kendi depolama alanınızı kullanmak için Hızlı Başlangıç: Azure Yönetilen Uygulama tanımı oluşturmak ve yayımlamak için Kendi depolama alanınızı getirme bölümüne gidin.