Mulai cepat: Menggunakan Bicep untuk menyebarkan definisi Azure Managed Application
Mulai cepat ini menjelaskan cara menggunakan Bicep untuk menyebarkan definisi Azure Managed Application dari katalog layanan Anda. Definisi dalam katalog layanan Anda tersedia untuk anggota organisasi Anda.
Untuk menyebarkan definisi aplikasi terkelola dari katalog layanan Anda, lakukan tugas berikut:
- Gunakan Bicep untuk mengembangkan templat yang menyebarkan definisi aplikasi terkelola.
- Buat file parameter untuk penyebaran.
- Sebarkan definisi aplikasi terkelola dari katalog layanan Anda.
Prasyarat
Untuk menyelesaikan tugas dalam artikel ini, Anda memerlukan item berikut:
- Menyelesaikan mulai cepat untuk menggunakan Bicep untuk membuat dan menerbitkan definisi aplikasi terkelola di katalog layanan Anda.
- Akun Azure dengan langganan aktif. Jika Anda tidak memiliki akun, buat akun gratis sebelum memulai.
- Visual Studio Code dengan ekstensi Alat Azure Resource Manager terbaru. Untuk file Bicep, instal ekstensi Bicep untuk Visual Studio Code.
- Instal versi terbaru Azure PowerShell atau Azure CLI.
Mendapatkan definisi aplikasi terkelola
Untuk mendapatkan definisi aplikasi terkelola dengan Azure PowerShell, jalankan perintah berikut.
Di Visual Studio Code, buka terminal PowerShell baru dan masuk ke langganan Azure Anda.
Connect-AzAccount
Perintah membuka browser default Anda dan meminta Anda untuk masuk ke Azure. Untuk informasi selengkapnya, buka Masuk dengan Azure PowerShell.
Dari Azure PowerShell, dapatkan definisi aplikasi terkelola Anda. Dalam contoh ini, gunakan nama grup sumber daya bicepDefinitionRG yang dibuat saat Anda menyebarkan definisi aplikasi terkelola.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG
Get-AzManagedApplicationDefinition
mencantumkan semua definisi yang tersedia dalam grup sumber daya yang ditentukan, seperti sampleBicepManagedApplication.
Perintah berikut mengurai output untuk hanya menampilkan nama definisi dan nama grup sumber daya. Anda menggunakan nama saat menyebarkan aplikasi terkelola.
Get-AzManagedApplicationDefinition -ResourceGroupName bicepDefinitionRG | Select-Object -Property Name, ResourceGroupName
Membuat file Bicep
Buka Visual Studio Code dan buat nama file deployServiceCatalog.bicep. Salin dan tempel kode berikut ke dalam file dan simpan.
@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
}
}
}
}
Untuk informasi selengkapnya tentang jenis sumber daya, buka Microsoft.Solutions/applications.
Buat file parameter
Buka Visual Studio Code dan buat file parameter bernama deployServiceCatalog.parameters.json. Salin dan tempel kode berikut ke dalam file dan simpan.
{
"$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"
}
}
}
Anda perlu menyediakan beberapa parameter untuk menyebarkan aplikasi terkelola:
Parameter | Nilai |
---|---|
definitionName |
Nama definisi katalog layanan. Contoh ini menggunakan sampleBicepManagedApplication. |
definitionRG |
Nama grup sumber daya tempat definisi disimpan. Contoh ini menggunakan bicepDefinitionRG. |
managedAppName |
Nama untuk aplikasi terkelola yang disebarkan. Contoh ini menggunakan sampleBicepManagedApp. |
mrgName |
Nama unik untuk grup sumber daya terkelola yang berisi sumber daya aplikasi yang disebarkan. Grup sumber daya dibuat saat Anda menyebarkan aplikasi terkelola. Untuk membuat nama grup sumber daya terkelola, Anda dapat menjalankan perintah yang mengikuti daftar parameter ini. |
appServicePlanName |
Buat nama paket. Maksimum 40 karakter alfanumerik dan tanda hubung. Misalnya, demoAppServicePlan. App Service nama paket harus unik dalam grup sumber daya di langganan Anda. |
appServiceNamePrefix |
Buat awalan untuk nama paket. Maksimum 47 karakter alfanumerik atau tanda hubung. Misalnya, demoApp. Selama penyebaran, awalan digabungkan dengan string unik untuk membuat nama yang unik secara global di seluruh Azure. |
storageAccountNamePrefix |
Gunakan hanya huruf kecil dan angka dan maksimal 11 karakter. Misalnya, demostg1234. Selama penyebaran, awalan digabungkan dengan string unik untuk membuat nama yang unik secara global di seluruh Azure. |
storageAccountType |
Opsinya Premium_LRS, Standard_LRS, dan Standard_GRS. |
Anda dapat menjalankan perintah berikut untuk membuat nama untuk grup sumber daya terkelola.
$mrgprefix = 'mrg-sampleBicepManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
Variabel $mrgprefix
dan $mrgtimestamp
digabungkan dan disimpan dalam $mrgname
variabel . Nilai variabel dalam format mrg-sampleBicepManagedApplication-20230512103059. Anda menggunakan $mrgname
nilai variabel saat menyebarkan aplikasi terkelola.
Menyebarkan aplikasi terkelola
Gunakan Azure PowerShell atau Azure CLI untuk membuat grup sumber daya dan menyebarkan aplikasi terkelola.
New-AzResourceGroup -Name bicepAppRG -Location westus3
New-AzResourceGroupDeployment `
-ResourceGroupName bicepAppRG `
-TemplateFile deployServiceCatalog.bicep `
-TemplateParameterFile deployServiceCatalog.parameters.json
Penyebaran Anda mungkin menampilkan peringatan linter Bicep bahwa managedResourceGroupId
properti mengharapkan ID sumber daya. Karena grup sumber daya terkelola dibuat selama penyebaran, tidak ada ID sumber daya yang tersedia untuk properti .
Melihat hasil
Setelah aplikasi yang dikelola katalog layanan disebarkan, Anda memiliki dua grup sumber daya baru. Satu grup sumber daya berisi aplikasi terkelola. Grup sumber daya lainnya berisi sumber daya terkelola yang disebarkan. Dalam contoh ini, App Service, paket App Service, dan akun penyimpanan.
Aplikasi terkelola
Setelah penyebaran selesai, Anda dapat memeriksa status aplikasi terkelola Anda.
Jalankan perintah berikut untuk memeriksa status aplikasi terkelola.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG
Perluas properti untuk mempermudah membaca Properties
informasi.
Get-AzManagedApplication -Name sampleBicepManagedApp -ResourceGroupName bicepAppRG | Select-Object -ExpandProperty Properties
Sumber daya terkelola
Anda dapat melihat sumber daya yang disebarkan ke grup sumber daya terkelola.
Untuk menampilkan sumber daya grup sumber daya terkelola, jalankan perintah berikut. Anda membuat $mrgname
variabel saat membuat parameter.
Get-AzResource -ResourceGroupName $mrgname
Untuk menampilkan semua penetapan peran untuk grup sumber daya terkelola.
Get-AzRoleAssignment -ResourceGroupName $mrgname
Definisi aplikasi terkelola yang Anda buat di artikel mulai cepat menggunakan grup dengan penetapan peran Pemilik. Anda bisa menampilkan grup dengan perintah berikut.
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
Anda juga dapat mencantumkan penetapan penolakan untuk grup sumber daya terkelola.
Get-AzDenyAssignment -ResourceGroupName $mrgname
Membersihkan sumber daya
Setelah selesai dengan aplikasi terkelola, Anda dapat menghapus grup sumber daya dan yang menghapus semua sumber daya yang Anda buat. Misalnya, Anda membuat grup sumber daya bicepAppRG dan grup sumber daya terkelola dengan awalan mrg-bicepManagedApplication.
Saat Anda menghapus grup sumber daya bicepAppRG , aplikasi terkelola, grup sumber daya terkelola, dan semua sumber daya Azure akan dihapus.
Perintah meminta Anda untuk mengonfirmasi bahwa Anda ingin menghapus grup sumber daya.
Remove-AzResourceGroup -Name bicepAppRG
Jika Anda ingin menghapus definisi aplikasi terkelola, hapus grup sumber daya yang Anda buat bernama packageStorageRG dan bicepDefinitionRG.
Langkah berikutnya
- Untuk mempelajari cara membuat dan menerbitkan file definisi untuk aplikasi terkelola menggunakan Azure PowerShell, Azure CLI, atau portal, buka Mulai Cepat: Membuat dan menerbitkan definisi Azure Managed Application.
- Untuk menggunakan penyimpanan Anda sendiri untuk membuat dan menerbitkan file definisi untuk aplikasi terkelola, buka Mulai Cepat: Bawa penyimpanan Anda sendiri untuk membuat dan menerbitkan definisi Azure Managed Application.