Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Database for MySQL egy felügyelt szolgáltatás, amellyel magas rendelkezésre állású MySQL-adatbázisokat futtathat, kezelhet és skálázhat a felhőben. Ebben a rövid útmutatóban a Bicep használatával hoz létre egy Azure Database for MySQL-kiszolgálót virtuális hálózati integrációval. A kiszolgálót az Azure Portalon, az Azure CLI-ben vagy az Azure PowerShellben hozhatja létre.
A Bicep tartományspecifikus nyelv (DSL), amely deklaratív szintaxist használ az Azure-erőforrások üzembe helyezéséhez. Tömör szintaxist és megbízható típusbiztonságot kínál, valamint biztosítja a kódok újrafelhasználhatóságát. A Bicep a legjobb szerzői élményt nyújtja az Azure-beli infrastruktúra-kódmegoldásokhoz.
Előfeltételek
Aktív előfizetéssel rendelkező Azure-fiókra van szüksége. Hozzon létre egyet ingyen.
- Ha helyileg szeretné futtatni a kódot, az Azure PowerShellt.
A Bicep-fájl áttekintése
A MySQL-kiszolgálóhoz való Azure-adatbázist számítási és tárolási erőforrások egy meghatározott készletével együtt fogja létrehozni. További információ: Azure Database for MySQL tarifacsomagok. A kiszolgálót egy Azure-erőforráscsoporton belül hozza létre.
Az ebben a rövid útmutatóban használt Bicep-fájl az Azure Gyorsindítási sablonokból származik.
@description('Server Name for Azure database for MySQL')
param serverName string
@description('Database administrator login name')
@minLength(1)
param administratorLogin string
@description('Database administrator password')
@minLength(8)
@secure()
param administratorLoginPassword string
@description('Azure database for MySQL compute capacity in vCores (2,4,8,16,32)')
param skuCapacity int = 2
@description('Azure database for MySQL sku name ')
param skuName string = 'GP_Gen5_2'
@description('Azure database for MySQL Sku Size ')
param SkuSizeMB int = 5120
@description('Azure database for MySQL pricing tier')
@allowed([
'Basic'
'GeneralPurpose'
'MemoryOptimized'
])
param SkuTier string = 'GeneralPurpose'
@description('Azure database for MySQL sku family')
param skuFamily string = 'Gen5'
@description('MySQL version')
@allowed([
'5.6'
'5.7'
'8.0'
])
param mysqlVersion string = '8.0'
@description('Location for all resources.')
param location string = resourceGroup().location
@description('MySQL Server backup retention days')
param backupRetentionDays int = 7
@description('Geo-Redundant Backup setting')
param geoRedundantBackup string = 'Disabled'
@description('Virtual Network Name')
param virtualNetworkName string = 'azure_mysql_vnet'
@description('Subnet Name')
param subnetName string = 'azure_mysql_subnet'
@description('Virtual Network RuleName')
param virtualNetworkRuleName string = 'AllowSubnet'
@description('Virtual Network Address Prefix')
param vnetAddressPrefix string = '10.0.0.0/16'
@description('Subnet Address Prefix')
param subnetPrefix string = '10.0.0.0/16'
var firewallrules = [
{
Name: 'rule1'
StartIpAddress: '0.0.0.0'
EndIpAddress: '255.255.255.255'
}
{
Name: 'rule2'
StartIpAddress: '0.0.0.0'
EndIpAddress: '255.255.255.255'
}
]
resource vnet 'Microsoft.Network/virtualNetworks@2023-09-01' = {
name: virtualNetworkName
location: location
properties: {
addressSpace: {
addressPrefixes: [
vnetAddressPrefix
]
}
}
}
resource subnet 'Microsoft.Network/virtualNetworks/subnets@2023-09-01' = {
parent: vnet
name: subnetName
properties: {
addressPrefix: subnetPrefix
}
}
resource mysqlDbServer 'Microsoft.DBforMySQL/servers@2017-12-01' = {
name: serverName
location: location
sku: {
name: skuName
tier: SkuTier
capacity: skuCapacity
size: '${SkuSizeMB}' //a string is expected here but a int for the storageProfile...
family: skuFamily
}
properties: {
createMode: 'Default'
version: mysqlVersion
administratorLogin: administratorLogin
administratorLoginPassword: administratorLoginPassword
storageProfile: {
storageMB: SkuSizeMB
backupRetentionDays: backupRetentionDays
geoRedundantBackup: geoRedundantBackup
}
minimalTlsVersion: 'TLS1_2'
sslEnforcement: 'Enabled'
}
resource virtualNetworkRule 'virtualNetworkRules@2017-12-01' = {
name: virtualNetworkRuleName
properties: {
virtualNetworkSubnetId: subnet.id
ignoreMissingVnetServiceEndpoint: true
}
}
}
@batchSize(1)
resource firewallRules 'Microsoft.DBforMySQL/servers/firewallRules@2017-12-01' = [for rule in firewallrules: {
parent: mysqlDbServer
name: rule.Name
properties: {
startIpAddress: rule.StartIpAddress
endIpAddress: rule.EndIpAddress
}
}]
output location string = location
output name string = mysqlDbServer.name
output resourceGroupName string = resourceGroup().name
output resourceId string = mysqlDbServer.id
A Bicep-fájl öt Azure-erőforrást határoz meg:
- Microsoft.Network/virtualNetworks
- Microsoft.Network/virtualNetworks/alhálózatok
- Microsoft.DBforMySQL/servers
- Microsoft.DBforMySQL/servers/virtualNetworkRules
- Microsoft.DBforMySQL/servers/firewallRules
A Bicep-fájl üzembe helyezése
Mentse a Bicep-fájlt main.bicep néven a helyi számítógépre.
Telepítse a Bicep-fájlt az Azure CLI vagy az Azure PowerShell használatával.
New-AzResourceGroup -Name exampleRG -Location eastus New-AzResourceGroupDeployment -ResourceGroupName exampleRG -TemplateFile ./main.bicep -serverName "<server-name>" -administratorLogin "<admin-login>"Feljegyzés
Cserélje le <a kiszolgálónevet> az Azure Database for MySQL kiszolgálónevére. Cserélje le <a rendszergazdai bejelentkezést> az adatbázis-rendszergazda bejelentkezési nevére. A rendszer arra is kéri, hogy adja meg az administratorLoginPassword parancsot. A jelszó minimális hossza nyolc karakter.
Amikor az üzembe helyezés befejeződött, egy üzenetnek kell megjelennie, amely jelzi, hogy az üzembe helyezés sikeres volt.
Üzembe helyezett erőforrások áttekintése
Az Azure Portal, az Azure CLI vagy az Azure PowerShell használatával listázhatja az erőforráscsoportban üzembe helyezett erőforrásokat.
Get-AzResource -ResourceGroupName exampleRG
Az erőforrások eltávolítása
Ha már nincs rá szükség, az Azure Portal, az Azure CLI vagy az Azure PowerShell használatával törölheti az erőforráscsoportot és annak erőforrásait.
Remove-AzResourceGroup -Name exampleRG