Neste artigo, você aprenderá como 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, habilitá-lo-á para redundância de zona e configurará com uma rede virtual nova ou preexistente que tenha uma sub-rede de infraestrutura.
Para obter mais informações sobre como os Aplicativos de Contêiner oferecem 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 suportam Aplicativos de Contêiner e zonas de disponibilidade.
Para ver quais regiões oferecem suporte a zonas de disponibilidade, consulte Regiões do Azure com suporte a zona de disponibilidade.
Para ver quais regiões oferecem suporte a Aplicativos de Contêiner, consulte Disponibilidade do produto por região.
Criar um aplicativo de contêiner com redundância de zona
Use o Portal do Azure, a CLI do Azure ou o PowerShell para criar um aplicativo de contêiner com redundância de zona.
- Aceda ao portal do Azure.
- Procure 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 requer 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ê pode aceitar os valores fornecidos para você ou personalizar as configurações.
- Selecione a aba 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 de 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 Container Apps.
Ao usar esses comandos, substitua o <PLACEHOLDERS> por seus valores.
Observação
O ambiente Apenas Consumo requer uma sub-rede dedicada com um intervalo CIDR de /23 ou maior. O ambiente de perfis de carga de trabalho requer uma sub-rede dedicada com um intervalo CIDR igual /27 ou maior. Para saber mais sobre o dimensionamento de sub-redes, 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
Consulta sobre o 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 deve 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 Container Apps.
Ao usar esses comandos, substitua o <PLACEHOLDERS> por seus valores.
Observação
O ambiente Apenas Consumo requer uma sub-rede dedicada com um intervalo CIDR de /23 ou maior. O ambiente de perfis de carga de trabalho requer uma sub-rede dedicada com um intervalo CIDR igual /27 ou maior. Para saber mais sobre o dimensionamento de sub-redes, 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
Consulta para 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 deve ser o mesmo local usado ao criar a rede virtual.
Um espaço de trabalho do Log Analytics é necessário para o ambiente Container Apps. Os comandos a seguir criam um espaço de trabalho do Log Analytics e salvam o ID do espaço de trabalho 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:
Aceda ao portal do Azure.
Pesquise por Ambientes de Aplicativos de Contêiner na caixa de pesquisa superior.
Selecione Ambientes de aplicativos de contêiner.
Selecione o seu ambiente.
Selecione Exibição JSON: 
Verifique se a resposta contém "zoneRedundant": true: 
Execute o az container app env show comando:
Ao usar este comando, substitua o <PLACEHOLDERS> por 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.
Execute o az container app env show comando:
Ao usar este comando, substitua o <PLACEHOLDERS> por seus valores.
$Env = Get-AzContainerAppManagedEnv `
-Name <EnvironmentName> `
-ResourceGroupName <ResourceGroupName>
$Env.ZoneRedundant
O comando exibe True se o ambiente é redundante de zona e False se não é.