Geo-replicate app configuration store
October 10, 2025 ยท View on GitHub
SYNOPSIS
Replicate app configuration store across all points of presence for an application.
DESCRIPTION
By default, an app configuration store is stored and maintained in a single region.
The app configuration geo-replication feature allows you to replicate your configuration store to additional regions. Each new replica will be in a different region with a new endpoint for your applications to send requests to. The original endpoint of your configuration store is called the origin. The origin can't be removed, but otherwise behaves like any replica.
Replicating your configuration store adds the following benefits:
- Added resiliency for localized outages contained to a region.
- Redistribution of request limits.
- Regional compartmentalization.
When considering where to place replicas, consider the following; where does the application run from?
- For server-side applications, consider deploying replicas to regions where the application is hosted and recovered.
- For client-side applications, consider deploying replicas to regions closest to where the users are located.
RECOMMENDATION
Consider replicating app configuration stores to improve resiliency to region outages.
EXAMPLES
Configure with Bicep
To deploy App Configuration Stores that pass this rule:
- Set
sku.nametoStandard(required for geo-replication). - Deploy a replica sub-resource (child resource).
- Set
locationon replica sub-resource to a different location than the app configuration store.
For example:
resource store 'Microsoft.AppConfiguration/configurationStores@2024-06-01' = {
name: name
location: location
sku: {
name: 'standard'
}
properties: {
disableLocalAuth: true
enablePurgeProtection: true
publicNetworkAccess: 'Disabled'
}
}
resource replica 'Microsoft.AppConfiguration/configurationStores/replicas@2024-06-01' = {
parent: store
name: replicaName
location: replicaLocation
}
Configure with Azure template
To deploy App Configuration Stores that pass this rule:
- Set
sku.nametoStandard(required for geo-replication). - Deploy a replica sub-resource (child resource).
- Set
locationon replica sub-resource to a different location than the app configuration store.
For example:
{
"resources": [
{
"type": "Microsoft.AppConfiguration/configurationStores",
"apiVersion": "2023-03-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"sku": {
"name": "standard"
},
"properties": {
"disableLocalAuth": true,
"enablePurgeProtection": true,
"publicNetworkAccess": "Disabled"
}
},
{
"type": "Microsoft.AppConfiguration/configurationStores/replicas",
"apiVersion": "2023-03-01",
"name": "[format('{0}/{1}', parameters('name'), parameters('replicaName'))]",
"location": "[parameters('replicaLocation')]",
"dependsOn": [
"[resourceId('Microsoft.AppConfiguration/configurationStores', parameters('name'))]"
]
}
]
}