Gyakorlat – Több erőforrás üzembe helyezése hurkok használatával
A Bicep-sablon eddig egyetlen Azure SQL logikai kiszolgálót helyezett üzembe az éles környezet naplózási beállításaival. Most több logikai kiszolgálót kell üzembe helyeznie, egyet minden régióban, ahol a vállalat elindítja az új intelligens mackóját.
Ebben a gyakorlatban kiterjeszti a korábban létrehozott Bicep-kódot, hogy több Azure-régióban is üzembe helyezhesse az adatbázisok példányait.
A folyamat során a következőt fogja elvégezni:
- Helyezze át a meglévő Bicep-kódot egy modulba.
- Hozzon létre egy új Bicep-fájlt másolási ciklussal a modul erőforrásainak többszöri üzembe helyezéséhez.
- Telepítse a Bicep-fájlt, és ellenőrizze az erőforrások üzembe helyezését.
- Módosítsa a paramétert egy további hely hozzáadásához, telepítse újra a fájlt, majd ellenőrizze, hogy az új erőforrások üzembe lettek-e helyezve.
Erőforrások áthelyezése modulba
A Visual Studio Code-ban hozzon létre egy új, modulok nevű mappát ugyanabban a mappában, amelyben létrehozta a main.bicep fájlt.
Helyezze át a main.bicep fájlt az imént létrehozott modulok mappájába.
Nevezze át a main.bicep fájlt database.bicep fájlra.
Több példány üzembe helyezése másolási ciklus használatával
Hozzon létre egy új main.bicep fájlt az imént áthelyezett és átnevezett fájl helyére.
Nyissa meg az új main.bicep fájlt, és adja hozzá a következő paramétereket:
@description('The Azure regions into which the resources should be deployed.') param locations array = [ 'westeurope' 'eastus2' ] @secure() @description('The administrator login username for the SQL server.') param sqlServerAdministratorLogin string @secure() @description('The administrator login password for the SQL server.') param sqlServerAdministratorLoginPassword string
A paraméterdeklarációk alatt adja hozzá a következő moduldeklarációt:
module databases 'modules/database.bicep' = [for location in locations: { name: 'database-${location}' params: { location: location sqlServerAdministratorLogin: sqlServerAdministratorLogin sqlServerAdministratorLoginPassword: sqlServerAdministratorLoginPassword } }]
Figyelje meg, hogy a modul deklarációja a tömbparaméter összes értékére
locations
hivatkozik.Mentse a fájl módosításait.
A Bicep-fájl ellenőrzése
Miután elvégezte az összes fenti módosítást, a main.bicep fájlnak az alábbi példához hasonlóan kell kinéznie:
@description('The Azure regions into which the resources should be deployed.')
param locations array = [
'westeurope'
'eastus2'
]
@secure()
@description('The administrator login username for the SQL server.')
param sqlServerAdministratorLogin string
@secure()
@description('The administrator login password for the SQL server.')
param sqlServerAdministratorLoginPassword string
module databases 'modules/database.bicep' = [for location in locations: {
name: 'database-${location}'
params: {
location: location
sqlServerAdministratorLogin: sqlServerAdministratorLogin
sqlServerAdministratorLoginPassword: sqlServerAdministratorLoginPassword
}
}]
A database.bicep fájlnak a következő példához hasonlóan kell kinéznie:
@description('The Azure region into which the resources should be deployed.')
param location string
@secure()
@description('The administrator login username for the SQL server.')
param sqlServerAdministratorLogin string
@secure()
@description('The administrator login password for the SQL server.')
param sqlServerAdministratorLoginPassword string
@description('The name and tier of the SQL database SKU.')
param sqlDatabaseSku object = {
name: 'Standard'
tier: 'Standard'
}
@description('The name of the environment. This must be Development or Production.')
@allowed([
'Development'
'Production'
])
param environmentName string = 'Development'
@description('The name of the audit storage account SKU.')
param auditStorageAccountSkuName string = 'Standard_LRS'
var sqlServerName = 'teddy${location}${uniqueString(resourceGroup().id)}'
var sqlDatabaseName = 'TeddyBear'
var auditingEnabled = environmentName == 'Production'
var auditStorageAccountName = take('bearaudit${location}${uniqueString(resourceGroup().id)}', 24)
resource sqlServer 'Microsoft.Sql/servers@2023-08-01-preview' = {
name: sqlServerName
location: location
properties: {
administratorLogin: sqlServerAdministratorLogin
administratorLoginPassword: sqlServerAdministratorLoginPassword
}
}
resource sqlDatabase 'Microsoft.Sql/servers/databases@2023-08-01-preview' = {
parent: sqlServer
name: sqlDatabaseName
location: location
sku: sqlDatabaseSku
}
resource auditStorageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = if (auditingEnabled) {
name: auditStorageAccountName
location: location
sku: {
name: auditStorageAccountSkuName
}
kind: 'StorageV2'
}
resource sqlServerAudit 'Microsoft.Sql/servers/auditingSettings@2023-08-01-preview' = if (auditingEnabled) {
parent: sqlServer
name: 'default'
properties: {
state: 'Enabled'
storageEndpoint: environmentName == 'Production' ? auditStorageAccount.properties.primaryEndpoints.blob : ''
storageAccountAccessKey: environmentName == 'Production' ? listKeys(auditStorageAccount.id, auditStorageAccount.apiVersion).keys[0].value : ''
}
}
Ha nem, másolja ki a példát, vagy módosítsa a sablont a példának megfelelően.
A Bicep-sablon üzembe helyezése az Azure-ban
A Visual Studio Code terminálon telepítse a Bicep-sablont az Azure-ban az alábbi kód futtatásával:
az deployment group create --template-file main.bicep
A Visual Studio Code terminálon telepítse a Bicep-sablont az Azure-ban az alábbi Azure PowerShell-parancs futtatásával:
New-AzResourceGroupDeployment -TemplateFile main.bicep
Figyelem
Ügyeljen arra, hogy ugyanazt a bejelentkezési és jelszót használja, amelyet korábban használt, vagy az üzembe helyezés nem fejeződik be sikeresen.
Várjon, amíg az üzembe helyezés befejeződik.
Az üzemelő példány ellenőrzése
Az üzembe helyezés befejezése után ellenőrizni szeretné, hogy az új logikai kiszolgáló és adatbázis üzembe lett-e helyezve, és hogy azok a megfelelő Azure-régiókban találhatók-e.
Nyissa meg az Azure Portalt, és győződjön meg arról, hogy a tesztkörnyezet-előfizetésben van.
Válassza a
[tesztkörnyezeti erőforráscsoport neve] nevű erőforráscsoportot.Ellenőrizze, hogy az új logikai kiszolgáló és adatbázis az USA 2. keleti régiójában található-e, amelyet a
locations
paraméter alapértelmezett értékében adott meg.Hagyja nyitva a lapot a böngészőben. Később még ellenőriznie kell az üzembe helyezéseket.
A sablon frissítése és ismételt üzembe helyezése az Azure-ban egy logikai kiszolgáló további helyével
A mackó játék csapata most újra elindul, ezúttal Ázsiába. A csapat arra kéri, hogy helyezzen üzembe egy új kiszolgálót és adatbázist a kelet-ázsiai régióban. Ehhez frissítenie kell a Bicep-paramétert, és újra üzembe kell helyeznie a sablont.
Térjen vissza a Visual Studio Code-hoz. A main.bicep fájl tetején adjon hozzá egy új értéket a
locations
tömbhöz:@description('The Azure regions into which the resources should be deployed.') param locations array = [ 'westeurope' 'eastus2' 'eastasia' ]
Mentse a fájl módosításait.
A Visual Studio Code terminálban helyezze újra üzembe a fájlt az alábbi kód futtatásával:
az deployment group create --template-file main.bicep
Térjen vissza a Visual Studio Code-hoz. A main.bicep fájl tetején adjon hozzá egy új értéket a
locations
tömbhöz:@description('The Azure regions into which the resources should be deployed.') param locations array = [ 'westeurope' 'eastus2' 'eastasia' ]
Mentse a fájl módosításait.
A Visual Studio Code terminálban helyezze újra üzembe a fájlt az alábbi kód futtatásával:
New-AzResourceGroupDeployment -TemplateFile main.bicep
Figyelem
Ügyeljen arra, hogy ugyanazt a bejelentkezési és jelszót használja, amelyet korábban használt, vagy az üzembe helyezés nem fejeződik be sikeresen.
Várjon, amíg az üzembe helyezés befejeződik.
Az újbóli üzembe helyezés ellenőrzése
Most, hogy újra üzembe helyezi az erőforrásokat, ellenőrizni szeretné, hogy a további logikai kiszolgáló- és adatbázis-erőforrások a kelet-ázsiai régióban lettek-e létrehozva.
Térjen vissza az Azure Portalra, és válassza ki a
[tesztkörnyezeti erőforráscsoport neve] erőforráscsoportot. Ha szükséges, válassza a Frissítés lehetőséget az újonnan üzembe helyezett erőforrások megtekintéséhez.Ellenőrizze, hogy az új logikai kiszolgáló és adatbázis üzembe lett-e helyezve a kelet-ázsiai régióban.