Z tego artykułu dowiesz się, jak utworzyć strefowo redundantną aplikację kontenerową w sieci wirtualnej. Utworzysz środowisko usługi Azure Container Apps, w celu zapewnienia nadmiarowości strefowej i skonfigurujesz je z wykorzystaniem nowej lub istniejącej sieci wirtualnej, która ma podsieć infrastruktury.
Aby uzyskać więcej informacji na temat tego, jak usługa Container Apps obsługuje nadmiarowość stref, zobacz Niezawodność w usłudze Container Apps.
Wymagania wstępne
Redundancja strefowa jest dostępna we wszystkich regionach, które obsługują aplikacje kontenerowe i strefy dostępności.
Aby zobaczyć, które regiony obsługują strefy dostępności, zobacz Regiony świadczenia usługi Azure z obsługą stref dostępności.
Aby zobaczyć, które regiony obsługują aplikacje kontenerów, zobacz Dostępność produktu według regionów.
Tworzenie strefowo nadmiarowej aplikacji kontenerowej
Użyj Azure Portal, Azure CLI lub programu PowerShell, aby utworzyć aplikację kontenerową z nadmiarowością strefową.
- Przejdź do witryny Azure Portal.
- Wyszukaj pozycję Container Apps w górnym polu wyszukiwania.
- Wybierz aplikacje kontenerowe.
- Wybierz pozycję Utwórz nowy w polu Środowisko aplikacji kontenera, aby otworzyć panel Tworzenie środowiska aplikacji kontenera.
- Wprowadź nazwę środowiska.
- Wybierz Włączone dla pola nadmiarowości strefy.
Redundancja strefowa wymaga sieci wirtualnej z podsiecią infrastrukturalną. Możesz wybrać istniejącą sieć wirtualną lub utworzyć nową. Podczas tworzenia nowej sieci wirtualnej możesz zaakceptować podane wartości lub dostosować ustawienia.
- Wybierz kartę Sieć.
- Aby przypisać niestandardową nazwę sieci wirtualnej, wybierz pozycję Utwórz nowy w polu Sieć wirtualna .
- Aby przypisać niestandardową nazwę podsieci infrastruktury, wybierz pozycję Utwórz nowy w polu Podsieć infrastruktury.
- Dla wirtualnego adresu IP można wybrać opcję Wewnętrzny lub Zewnętrzny.
- Wybierz Utwórz.
Utwórz sieć wirtualną i podsieć infrastruktury do uwzględnienia w środowisku usługi Container Apps.
W przypadku używania tych poleceń zastąp <PLACEHOLDERS> swoimi wartościami.
Uwaga / Notatka
Środowisko tylko do zużycia wymaga dedykowanej podsieci o zakresie CIDR /23 lub większym. Środowisko profilów obciążeń wymaga dedykowanej podsieci z zakresem CIDR wynoszącym /27 lub większym. Aby dowiedzieć się więcej o określaniu rozmiaru podsieci, zobacz omówienie architektury sieci.
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
Wykonaj zapytanie dotyczące identyfikatora podsieci infrastruktury.
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:]'`
Utwórz środowisko przy użyciu parametru --zone-redundant . Lokalizacja musi być tą samą lokalizacją używaną podczas tworzenia sieci wirtualnej.
az containerapp env create \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--location "<LOCATION>" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET \
--zone-redundant
Utwórz sieć wirtualną i podsieć infrastruktury do uwzględnienia w środowisku usługi Container Apps.
W przypadku używania tych poleceń zastąp <PLACEHOLDERS> swoimi wartościami.
Uwaga / Notatka
Środowisko tylko do zużycia wymaga dedykowanej podsieci o zakresie CIDR /23 lub większym. Środowisko profilów obciążeń wymaga dedykowanej podsieci z zakresem CIDR wynoszącym /27 lub większym. Aby dowiedzieć się więcej o określaniu rozmiaru podsieci, zobacz omówienie architektury sieci.
$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
Wykonaj zapytanie dotyczące identyfikatora podsieci infrastruktury.
$InfrastructureSubnet=(Get-AzVirtualNetworkSubnetConfig -Name $SubnetArgs.Name -VirtualNetwork $vnet).Id
Utwórz środowisko przy użyciu parametru --zone-redundant . Lokalizacja musi być tą samą lokalizacją używaną podczas tworzenia sieci wirtualnej.
Obszar roboczy usługi Log Analytics jest wymagany dla środowiska Usługi Container Apps. Następujące polecenia umożliwiają utworzenie obszaru roboczego usługi Log Analytics i zapisanie identyfikatora obszaru roboczego i podstawowego klucza współużytkowanego w zmiennych środowiskowych.
$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
Utwórz środowisko, uruchamiając następujące polecenie:
$EnvArgs = @{
EnvName = <EnvironmentName>
ResourceGroupName = <ResourceGroupName>
Location = <Location>
AppLogConfigurationDestination = "log-analytics"
LogAnalyticConfigurationCustomerId = $WorkspaceId
LogAnalyticConfigurationSharedKey = $WorkspaceSharedKey
VnetConfigurationInfrastructureSubnetId = $InfrastructureSubnet
VnetConfigurationInternal = $true
ZoneRedundant = $true
}
New-AzContainerAppManagedEnv @EnvArgs
Weryfikowanie nadmiarowości strefy
Aby sprawdzić, czy w środowisku aplikacji kontenerowych włączona jest redundancja strefy:
Przejdź do witryny Azure Portal.
Wyszukaj Container Apps Environments w górnym polu wyszukiwania.
Wybierz Środowiska aplikacji kontenerowych.
Wybierz środowisko.
Wybierz Widok JSON: 
Sprawdź, czy odpowiedź zawiera "zoneRedundant": true: 
az container app env show Uruchom polecenie:
W przypadku korzystania z tego polecenia zastąp element <PLACEHOLDERS> wartościami .
az containerapp env show \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--subscription <SUBSCRIPTION_ID>
Polecenie zwraca odpowiedź JSON. Sprawdź, czy odpowiedź zawiera "zoneRedundant": true.
az container app env show Uruchom polecenie:
W przypadku korzystania z tego polecenia zastąp element <PLACEHOLDERS> wartościami .
$Env = Get-AzContainerAppManagedEnv `
-Name <EnvironmentName> `
-ResourceGroupName <ResourceGroupName>
$Env.ZoneRedundant
Polecenie wyświetla True , czy środowisko jest strefowo nadmiarowe, a False jeśli nie.