In diesem Artikel erfahren Sie, wie Sie eine zonenredundante Container-App in einem virtuellen Netzwerk erstellen. Sie erstellen eine Azure-Container-Apps-Umgebung, aktivieren sie für Zonenredundanz und konfigurieren sie mit einem neuen oder bereits vorhandenen virtuellen Netzwerk, das über ein Infrastruktursubnetz verfügt.
Weitere Informationen dazu, wie Container-Apps Zonenredundanz unterstützen, finden Sie unter Zuverlässigkeit in Container-Apps.
Voraussetzungen
Zonenredundanz ist in allen Regionen verfügbar, die Container-Apps und Verfügbarkeitszonen unterstützen.
Informationen dazu, welche Regionen Verfügbarkeitszonen unterstützen, finden Sie unter Azure-Regionen mit Unterstützung der Verfügbarkeitszone.
Informationen dazu, welche Regionen Container-Apps unterstützen, finden Sie unter "Produktverfügbarkeit nach Region".
Erstellen einer zonenredundanten Container-App
Verwenden Sie Azure Portal, Azure CLI oder PowerShell, um eine zonenredundante Container-App zu erstellen.
- Navigieren Sie zum Azure-Portal.
- Suchen Sie im oberen Suchfeld nach Azure Container Apps.
- Wählen Sie Azure Container Apps aus.
- Wählen Sie im Feld Azure Container Apps-Umgebung die Option Neu erstellen, um den Bereich Container-Apps-Umgebung erstellen zu öffnen.
- Geben Sie den Umgebungsnamen ein.
- Wählen Sie Aktiviert für das Feld Zonenredundanz aus.
Zonenredundanz erfordert ein virtuelles Netzwerk mit einem Infrastruktursubnetz. Wählen Sie ein vorhandenes virtuelles Netzwerk aus, oder erstellen Sie ein neues. Beim Erstellen eines neuen virtuellen Netzwerks können Sie die bereitgestellten Werte übernehmen oder die Einstellungen anpassen.
- Wählen Sie die Registerkarte Netzwerk aus.
- Um dem virtuellen Netzwerk einen benutzerdefinierten Namen zuzuweisen, wählen Sie im Feld Microsoft Azure Virtual Network die Option Neu erstellen aus.
- Um einen benutzerdefinierten Infrastruktur-Subnetznamen zuzuweisen, wählen Sie im Feld Infrastruktur-Subnetz die Option Neu erstellen aus.
- Sie können Intern oder Extern für die virtuelle IP auswählen.
- Wählen Sie "Erstellen" aus.
Erstellen Sie ein virtuelles Netzwerk und ein Infrastruktur-Subnetz, das in die Azure Container Apps-Umgebung eingeschlossen werden soll.
Wenn Sie diese Befehle verwenden, ersetzen Sie das <PLACEHOLDERS> durch Ihre Werte.
Hinweis
Die Umgebung „Nur Verbrauch“ erfordert ein dediziertes Subnetz mit einem CIDR-Bereich von /23 oder höher. Die Umgebung „Arbeitsauslastungsprofile“ erfordert ein dediziertes Subnetz mit einem CIDR-Bereich von /27 oder höher. Weitere Informationen zur Subnetzgröße finden Sie in der Übersicht über die Netzwerkarchitektur.
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
Abfrage der Infrastruktur-Subnetz-ID.
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:]'`
Erstellen Sie die Umgebung mit dem --zone-redundant Parameter. Der Standort muss derselbe sein, der beim Erstellen des virtuellen Netzwerks verwendet wurde.
az containerapp env create \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--location "<LOCATION>" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET \
--zone-redundant
Erstellen Sie ein virtuelles Netzwerk und ein Infrastruktur-Subnetz, das in die Azure Container Apps-Umgebung eingeschlossen werden soll.
Wenn Sie diese Befehle verwenden, ersetzen Sie das <PLACEHOLDERS> durch Ihre Werte.
Hinweis
Die Umgebung „Nur Verbrauch“ erfordert ein dediziertes Subnetz mit einem CIDR-Bereich von /23 oder höher. Die Umgebung „Arbeitsauslastungsprofile“ erfordert ein dediziertes Subnetz mit einem CIDR-Bereich von /27 oder höher. Weitere Informationen zur Subnetzgröße finden Sie in der Übersicht über die Netzwerkarchitektur.
$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
Fragen Sie die Subnetz-ID der Infrastruktur ab.
$InfrastructureSubnet=(Get-AzVirtualNetworkSubnetConfig -Name $SubnetArgs.Name -VirtualNetwork $vnet).Id
Erstellen Sie die Umgebung mit dem --zone-redundant Parameter. Der Standort muss derselbe sein, der beim Erstellen des virtuellen Netzwerks verwendet wurde.
Für die Container Apps-Umgebung ist ein Log Analytics-Arbeitsbereich erforderlich. Die folgenden Befehle erstellen einen Log Analytics-Arbeitsbereich und speichern die Arbeitsbereichs-ID und den primären freigegebenen Schlüssel in Umgebungsvariablen.
$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
Erstellen Sie die Umgebung, indem Sie den folgenden Befehl ausführen:
$EnvArgs = @{
EnvName = <EnvironmentName>
ResourceGroupName = <ResourceGroupName>
Location = <Location>
AppLogConfigurationDestination = "log-analytics"
LogAnalyticConfigurationCustomerId = $WorkspaceId
LogAnalyticConfigurationSharedKey = $WorkspaceSharedKey
VnetConfigurationInfrastructureSubnetId = $InfrastructureSubnet
VnetConfigurationInternal = $true
ZoneRedundant = $true
}
New-AzContainerAppManagedEnv @EnvArgs
Überprüfen der Zonenredundanz
So überprüfen Sie, ob Zonenredundanz für Ihre Container-Apps-Umgebung aktiviert ist:
Navigieren Sie zum Azure-Portal.
Suchen Sie in der oberen Suchleiste nach Container-Apps-Umgebungen.
Wählen Sie Container-Apps-Umgebungen aus.
Wählen Sie Ihre Umgebung aus.
Wählen Sie die JSON-Ansicht aus: 
Überprüfen Sie, ob die Antwort folgendes enthält "zoneRedundant": true: 
Führen Sie den Befehl az container app env show aus:
Wenn Sie diesen Befehl verwenden, ersetzen Sie das <PLACEHOLDERS> durch Ihre Werte.
az containerapp env show \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--subscription <SUBSCRIPTION_ID>
Der Befehl gibt eine JSON-Antwort zurück. Überprüfen Sie, ob die Antwort enthält "zoneRedundant": true.
Führen Sie den Befehl az container app env show aus:
Ersetzen Sie bei Verwendung dieses Befehls die Platzhalter <PLACEHOLDERS> durch Ihre Werte.
$Env = Get-AzContainerAppManagedEnv `
-Name <EnvironmentName> `
-ResourceGroupName <ResourceGroupName>
$Env.ZoneRedundant
Der Befehl zeigt an True , ob die Umgebung zonenredundant ist und False nicht.