Dans cet article, vous allez découvrir comment créer une application conteneur redondante interzone à l’intérieur d’un réseau virtuel. Vous allez créer un environnement Azure Container Apps, l’activer pour la redondance de zone et le configurer avec un réseau virtuel nouveau ou préexistant disposant d’un sous-réseau d’infrastructure.
Pour plus d’informations sur la façon dont Container Apps prend en charge la redondance de zone, consultez Fiabilité dans Container Apps.
Prerequisites
La redondance de zone est disponible dans toutes les régions qui prennent en charge les Container Apps et les zones de disponibilité.
Pour voir quelles régions prennent en charge les zones de disponibilité, consultez les régions Azure avec prise en charge des zones de disponibilité.
Pour voir quelles régions prennent en charge Container Apps, consultez Disponibilité des produits par région.
Créer une application conteneur redondante par zone
Utilisez le portail Azure, Azure CLI ou PowerShell pour créer une application conteneur redondante interzone.
- Accédez au portail Azure.
- Recherchez Container Apps dans le champ de recherche supérieur.
- Sélectionnez Container Apps.
- Sélectionnez Créer nouveau dans le champ Environnement Container Apps pour ouvrir le panneau Créer un environnement Container Apps .
- Saisissez le nom de l'environnement.
- Sélectionnez Activé pour le champ de redondance de zone .
La redondance de zone nécessite un réseau virtuel avec un sous-réseau d’infrastructure. Vous pouvez choisir un réseau virtuel existant ou en créer un. Lors de la création d’un réseau virtuel, vous pouvez accepter les valeurs fournies pour vous ou personnaliser les paramètres.
- Sélectionnez l’onglet Réseau.
- Pour affecter un nom de réseau virtuel personnalisé, sélectionnez Créer une dans le champ réseau virtuel .
- Pour affecter un nom de sous-réseau d’infrastructure personnalisé, sélectionnez Créer nouveau dans le champ Sous-réseau d’infrastructure .
- Vous pouvez sélectionner Interne ou Externe pour l’adresse IP virtuelle.
- Cliquez sur Créer.
Créez un réseau virtuel et un sous-réseau d’infrastructure à inclure dans l’environnement Container Apps.
Lorsque vous utilisez ces commandes, remplacez-les <PLACEHOLDERS> par vos valeurs.
Note
L’environnement Consommation uniquement nécessite un sous-réseau dédié avec une plage CIDR de /23 ou plus. L’environnement des profils de charge de travail nécessite un sous-réseau dédié avec une plage CIDR de /27 ou plus grande. Pour en savoir plus sur le dimensionnement du sous-réseau, consultez la vue d’ensemble de l’architecture réseau .
az network vnet create \
--resource-group <RESOURCE_GROUP_NAME> \
--name <VNET_NAME> \
--location <LOCATION> \
--address-prefix 10.0.0.0/16
az network vnet subnet create \
--resource-group <RESOURCE_GROUP_NAME> \
--vnet-name <VNET_NAME> \
--name infrastructure \
--address-prefixes 10.0.0.0/21
Recherchez l’ID de sous-réseau d’infrastructure.
INFRASTRUCTURE_SUBNET=`az network vnet subnet show --resource-group <RESOURCE_GROUP_NAME> --vnet-name <VNET_NAME> --name infrastructure --query "id" -o tsv | tr -d '[:space:]'`
Créez l’environnement avec le --zone-redundant paramètre. L’emplacement doit être le même emplacement que celui utilisé lors de la création du réseau virtuel.
az containerapp env create \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--location "<LOCATION>" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET \
--zone-redundant
Créez un réseau virtuel et un sous-réseau d’infrastructure à inclure dans l’environnement Container Apps.
Lorsque vous utilisez ces commandes, remplacez-les <PLACEHOLDERS> par vos valeurs.
Note
L’environnement Consommation uniquement nécessite un sous-réseau dédié avec une plage CIDR de /23 ou plus. L’environnement des profils de charge de travail nécessite un sous-réseau dédié avec une plage CIDR de /27 ou plus grande. Pour en savoir plus sur le dimensionnement du sous-réseau, consultez la vue d’ensemble de l’architecture réseau .
$SubnetArgs = @{
Name = 'infrastructure-subnet'
AddressPrefix = '10.0.0.0/21'
}
$subnet = New-AzVirtualNetworkSubnetConfig @SubnetArgs
$VnetArgs = @{
Name = <VNetName>
Location = <Location>
ResourceGroupName = <ResourceGroupName>
AddressPrefix = '10.0.0.0/16'
Subnet = $subnet
}
$vnet = New-AzVirtualNetwork @VnetArgs
Requête pour l’ID du sous-réseau d’infrastructure.
$InfrastructureSubnet=(Get-AzVirtualNetworkSubnetConfig -Name $SubnetArgs.Name -VirtualNetwork $vnet).Id
Créez l’environnement avec le --zone-redundant paramètre. L’emplacement doit être le même emplacement que celui utilisé lors de la création du réseau virtuel.
Un espace de travail Log Analytics est requis pour l’environnement Container Apps. Les commandes suivantes créent un espace de travail Log Analytics, et enregistrent l’ID et la clé partagée primaire de l’espace de travail dans les variables d’environnement.
$WorkspaceArgs = @{
Name = 'myworkspace'
ResourceGroupName = <ResourceGroupName>
Location = <Location>
PublicNetworkAccessForIngestion = 'Enabled'
PublicNetworkAccessForQuery = 'Enabled'
}
New-AzOperationalInsightsWorkspace @WorkspaceArgs
$WorkspaceId = (Get-AzOperationalInsightsWorkspace -ResourceGroupName <ResourceGroupName> -Name $WorkspaceArgs.Name).CustomerId
$WorkspaceSharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName <ResourceGroupName> -Name $WorkspaceArgs.Name).PrimarySharedKey
Créez l’environnement en exécutant la commande suivante :
$EnvArgs = @{
EnvName = <EnvironmentName>
ResourceGroupName = <ResourceGroupName>
Location = <Location>
AppLogConfigurationDestination = "log-analytics"
LogAnalyticConfigurationCustomerId = $WorkspaceId
LogAnalyticConfigurationSharedKey = $WorkspaceSharedKey
VnetConfigurationInfrastructureSubnetId = $InfrastructureSubnet
VnetConfigurationInternal = $true
ZoneRedundant = $true
}
New-AzContainerAppManagedEnv @EnvArgs
Vérifier la redondance de zone
Pour vérifier que la redondance de zone est activée pour votre environnement Container Apps :
Accédez au portail Azure.
Recherchez Container Apps Environments dans la barre de recherche en haut.
Sélectionnez Environnements d'applications de conteneur.
Sélectionnez votre environnement.
Sélectionnez l’affichage JSON : 
Vérifiez que la réponse contient "zoneRedundant": true: 
Exécutez la commande az container app env show :
Lorsque vous utilisez cette commande, remplacez les <PLACEHOLDERS> valeurs par vos valeurs.
az containerapp env show \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--subscription <SUBSCRIPTION_ID>
La commande retourne une réponse JSON. Vérifiez que la réponse contient "zoneRedundant": true.
Exécutez la commande az container app env show :
Lorsque vous utilisez cette commande, remplacez les <PLACEHOLDERS> valeurs par vos valeurs.
$Env = Get-AzContainerAppManagedEnv `
-Name <EnvironmentName> `
-ResourceGroupName <ResourceGroupName>
$Env.ZoneRedundant
La commande affiche True si l’environnement est redondant entre zones et False s'il ne l'est pas.