Neste artigo, você aprenderá a criar um aplicativo de contêiner com redundância de zona dentro de uma rede virtual. Você criará um Ambiente de Aplicativos de Contêiner do Azure, habilitará-o para redundância de zona e configurará com uma rede virtual nova ou pré-existente que tenha uma sub-rede de infraestrutura.
Para obter mais informações sobre como os Aplicativos de Contêiner dão suporte à redundância de zona, consulte Confiabilidade em Aplicativos de Contêiner.
Pré-requisitos
A redundância de zona está disponível em todas as regiões que dão suporte aos Aplicativos de Contêiner e zonas de disponibilidade.
Para ver quais regiões dão suporte a zonas de disponibilidade, consulte as regiões do Azure com suporte à zona de disponibilidade.
Para ver quais regiões dão suporte a Aplicativos de Contêiner, consulte a Disponibilidade do Produto por Região.
Criar um aplicativo de contêiner com redundância regional
Use o Portal do Azure, a CLI do Azure ou o PowerShell para criar um aplicativo de contêiner com redundância de zona.
- Vá para o portal do Azure.
- Pesquise por Aplicativos de Contêiner na caixa de pesquisa superior.
- Selecione Aplicativos de Contêiner.
- Selecione Criar Novo no campo Ambiente de Aplicativos de Contêiner para abrir o painel Criar Ambiente de Aplicativos de Contêiner.
- Insira o nome do ambiente.
- Selecione Habilitado para o campo Redundância de zona.
A redundância de zona exige uma rede virtual com uma sub-rede de infraestrutura. Você pode escolher uma rede virtual existente ou criar uma nova. Ao criar uma nova rede virtual, você poderá aceitar os valores fornecidos ou personalizar as configurações.
- Selecione a guia Rede.
- Para atribuir um nome de rede virtual personalizado, selecione Criar Novo no campo Rede Virtual.
- Para atribuir um nome de sub-rede de infraestrutura personalizado, selecione Criar Novo no campo Sub-rede infraestrutura.
- Você pode selecionar Interno ou Externo para o IP Virtual.
- Selecione Criar.
Crie uma rede virtual e uma sub-rede de infraestrutura para incluir no ambiente de Aplicativos de Contêiner.
Ao usar esses comandos, substitua <PLACEHOLDERS> por seus valores.
Observação
O ambiente Somente Consumo requer uma sub-rede dedicada com um intervalo CIDR igual a /23 ou maior. O ambiente de perfis de carga de trabalho requer uma sub-rede dedicada com um intervalo CIDR igual a /27 ou maior. Para saber mais sobre o dimensionamento de sub-rede, consulte a visão geral da arquitetura de rede.
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
Solicite a ID da sub-rede de infraestrutura.
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:]'`
Crie o ambiente com o --zone-redundant parâmetro. O local deverá ser o mesmo local usado ao criar a rede virtual.
az containerapp env create \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--location "<LOCATION>" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET \
--zone-redundant
Crie uma rede virtual e uma sub-rede de infraestrutura para incluir no ambiente de Aplicativos de Contêiner.
Ao usar esses comandos, substitua <PLACEHOLDERS> por seus valores.
Observação
O ambiente Somente Consumo requer uma sub-rede dedicada com um intervalo CIDR igual a /23 ou maior. O ambiente de perfis de carga de trabalho requer uma sub-rede dedicada com um intervalo CIDR igual a /27 ou maior. Para saber mais sobre o dimensionamento de sub-rede, consulte a visão geral da arquitetura de rede.
$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
Consulte o ID da sub-rede de infraestrutura.
$InfrastructureSubnet=(Get-AzVirtualNetworkSubnetConfig -Name $SubnetArgs.Name -VirtualNetwork $vnet).Id
Crie o ambiente com o --zone-redundant parâmetro. O local deverá ser o mesmo local usado ao criar a rede virtual.
Um workspace do Log Analytics é necessário para o ambiente de Aplicativos de Contêiner. Os comandos a seguir criam um workspace do Log Analytics e salvam a ID do workspace e a chave compartilhada primária em variáveis de ambiente.
$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
Crie o ambiente executando o seguinte comando:
$EnvArgs = @{
EnvName = <EnvironmentName>
ResourceGroupName = <ResourceGroupName>
Location = <Location>
AppLogConfigurationDestination = "log-analytics"
LogAnalyticConfigurationCustomerId = $WorkspaceId
LogAnalyticConfigurationSharedKey = $WorkspaceSharedKey
VnetConfigurationInfrastructureSubnetId = $InfrastructureSubnet
VnetConfigurationInternal = $true
ZoneRedundant = $true
}
New-AzContainerAppManagedEnv @EnvArgs
Verificar redundância de zona
Para verificar se a redundância de zona está habilitada para seu ambiente de Aplicativos de Contêiner:
Vá para o portal do Azure.
Pesquise por Ambientes dos Aplicativos de Contêiner na caixa de pesquisa superior.
Selecione Ambientes de Aplicativos de Contêiner.
Selecione seu ambiente.
Selecione Visão JSON: 
Verifique se a resposta contém "zoneRedundant": true: 
Executar o comando az container app env show:
Ao usar este comando, substitua <PLACEHOLDERS> pelos seus valores.
az containerapp env show \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--subscription <SUBSCRIPTION_ID>
O comando retorna uma resposta JSON. Verifique se a resposta contém "zoneRedundant": true.
Executar o comando az container app env show:
Antes de executar esse comando, substitua o <PLACEHOLDERS> por seus valores.
$Env = Get-AzContainerAppManagedEnv `
-Name <EnvironmentName> `
-ResourceGroupName <ResourceGroupName>
$Env.ZoneRedundant
O comando exibe True se o ambiente tiver redundância de zona e False se não tiver.