Geo-replicate app configuration store#
Reliability · App Configuration · Rule · 2023_12 · Important
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 Verified Modules
A pre-validated module supported by Microsoft is available from the Azure Bicep public registry. To reference the module, please use the following syntax:
To use the latest version:
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'))]"
]
}
]
}
Links#
- RE:05 Redundancy
- Resiliency and diaster recovery
- Geo-replication overview
- Enable geo-replication
- Azure deployment reference