Azure Proactive Resiliency Library v2
Tools Glossary GitHub GitHub Issues Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

flexibleServers

Summary

RecommendationImpactCategoryAutomation AvailableIn Azure Advisor
Enable HA with zone redundancyHighHigh AvailabilityYesNo
Enable custom maintenance scheduleHighScalabilityYesNo
Configure geo redundant backup storageHighDisaster RecoveryYesNo
Configure one or more read replicasHighDisaster RecoveryYesNo
Configure storage auto-growHighScalabilityYesNo

Details


Enable HA with zone redundancy

Impact:  High Category:  High Availability

APRL GUID:  88856605-53d8-4bbd-a75b-4a7b14939d32

Description:

Enable HA with zone redundancy on flexible server instances to deploy a standby replica in a different zone, offering automatic failover capability for improved reliability and disaster recovery.

Potential Benefits:

Enhanced uptime and data protection
Learn More:
High availability concepts in Azure Database for MySQL - Flexible Server

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Find Database for MySQL instances that are not zone redundant
resources
| where type == "microsoft.dbformysql/flexibleservers"
| where location in~ ("australiaeast", "brazilsouth", "canadacentral", "centralindia", "centralus", "eastasia", "eastus", "eastus2", "francecentral", "germanywestcentral", "israelcentral", "italynorth", "japaneast", "japanwest", "koreacentral", "mexicocentral", "newzealandnorth", "northeurope", "norwayeast", "polandcentral", "qatarcentral", "southafricanorth", "southcentralus", "southeastasia", "spaincentral", "swedencentral", "switzerlandnorth", "uaenorth", "uksouth", "westeurope", "westus2", "westus3", "usgovvirginia", "chinanorth3")
| where properties.highAvailability.mode != "ZoneRedundant"
| project recommendationId = "88856605-53d8-4bbd-a75b-4a7b14939d32", name, id, tags, param1 = "ZoneRedundant: False"


Enable custom maintenance schedule

Impact:  High Category:  Scalability

APRL GUID:  82a9a0f2-24ee-496f-9ad2-25f81710942d

Description:

Use custom maintenance schedule on flexible server instances to select a preferred time for service updates to be applied.

Potential Benefits:

Control update timings
Learn More:
Scheduled maintenance in Azure Database for MySQL - Flexible Server

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Find Database for MySQL instances that do not have a custom maintenance window
resources
| where type =~ "microsoft.dbformysql/flexibleservers"
| where properties.maintenanceWindow.customWindow != "Enabled"
| project recommendationId = "82a9a0f2-24ee-496f-9ad2-25f81710942d", name, id, tags, param1 = strcat("customWindow:", properties['maintenanceWindow']['customWindow'])


Configure geo redundant backup storage

Impact:  High Category:  Disaster Recovery

APRL GUID:  5c96afc3-7d2e-46ff-a4c7-9c32850c441b

Description:

Configure GRS to ensure that your database meets its availability and durability targets even in the face of failures or disasters.

Potential Benefits:

Recover from regional failure and/or disaster
Learn More:
Backup and restore in Azure Database for MySQL - Flexible Server

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Find Database for MySQL instances that do not have geo redundant backup storage enabled
resources
| where type =~ "microsoft.dbformysql/flexibleservers"
| where properties.backup.geoRedundantBackup != "Enabled"
| project recommendationId = "5c96afc3-7d2e-46ff-a4c7-9c32850c441b", name, id, tags, param1 = strcat("geoRedundantBackup:", properties['backup']['geoRedundantBackup'])


Configure one or more read replicas

Impact:  High Category:  Disaster Recovery

APRL GUID:  b49a8653-cc43-48c9-8513-a2d2e3f14dd1

Description:

Configure one or more read replicas to ensure that your database meets its availability and durability targets even in the face of failures or disasters.

Potential Benefits:

Recover from regional failure and/or disaster
Learn More:
Read replicas in Azure Database for MySQL - Flexible Server

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Find Database for MySQL instances that do not have a read replica configured
resources
| where type =~ "microsoft.dbformysql/flexibleservers"
| where properties.replicationRole == "None"
| project recommendationId = "b49a8653-cc43-48c9-8513-a2d2e3f14dd1", name, id, tags, param1 = strcat("replicationRole:", properties['replicationRole'])


Configure storage auto-grow

Impact:  High Category:  Scalability

APRL GUID:  8176a79d-8645-4e52-96be-a10fc0204fe5

Description:

Configure storage auto-grow to prevent the server from running out of storage and becoming read-only.

Potential Benefits:

Scale storage automatically to meet increasing demand
Learn More:
Azure Database for MySQL - Flexible Server service tiers - Storage auto grow

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Find Database for MySQL instances that do not have a storage auto-grow
resources
| where type =~ "microsoft.dbformysql/flexibleservers"
| where properties.storage.autoGrow != "Enabled"
| project recommendationId = "8176a79d-8645-4e52-96be-a10fc0204fe5", name, id, tags, param1 = strcat("autoGrow:", properties['storage']['autoGrow'])