Partilhar via


Configurar o ingresso para um ambiente de Aplicações de Contentor do Azure

Os Aplicativos de Contêiner do Azure são executados no contexto de um ambiente, com sua própria rede virtual (VNet). Este VNet cria um limite seguro ao redor do ambiente Azure Container Apps.

A configuração de entrada nos Aplicativos de Contêiner do Azure determina como o tráfego de rede externa chega aos seus aplicativos. A configuração da entrada permite controlar o roteamento de tráfego, melhorar o desempenho do aplicativo e implementar estratégias avançadas de implantação. Este artigo orienta você pelas opções de configuração de entrada disponíveis nos Aplicativos de Contêiner do Azure e ajuda você a escolher as configurações certas para suas cargas de trabalho.

Um ambiente de Aplicativos de Contêiner do Azure inclui um proxy de entrada de borda escalável responsável pelos seguintes recursos:

O diagrama a seguir mostra um exemplo de ambiente com o proxy de entrada roteando o tráfego para dois apps de contentor.

Diagrama de como o proxy de entrada roteia o tráfego para seus aplicativos de contêiner.

Por padrão, os Aplicativos de Contêiner do Azure criam seu ambiente de aplicativo de contêiner com o modo de entrada padrão. Se seu aplicativo precisar operar em níveis de alta escala, você poderá definir o modo de entrada como premium.

Modo de entrada padrão

Com o modo de entrada padrão, seu ambiente de Aplicativos de Contêiner tem duas instâncias de proxy de entrada. Os aplicativos de contêiner criam mais instâncias conforme necessário, até um máximo de 10. Cada instância é atribuída um máximo de 1 núcleo vCPU e 2 GB de memória.

No modo de entrada padrão, nenhum faturamento é aplicado para dimensionar o proxy de entrada ou para os núcleos vCPU e memória alocada.

Modo de ingresso Premium

O modo de entrada padrão pode se tornar um gargalo em ambientes de alta escala. Como alternativa, o modo de entrada premium inclui recursos avançados para garantir que sua entrada acompanhe as demandas de tráfego.

Estas funcionalidades incluem:

  • Suporte ao perfil de carga de trabalho: instâncias de proxy de ingresso executadas em um perfil de carga de trabalho de sua escolha. Você tem controle sobre o número de núcleos vCPU e recursos de memória disponíveis para o proxy.

  • Regras de intervalo de escala configuráveis: as regras de intervalo de escala de proxy são configuráveis para que você possa garantir que tenha quantas instâncias seu aplicativo exigir.

  • Definições avançadas: Pode configurar definições avançadas, tais como tempos limite de inatividade para instâncias de proxy de entrada.

Para decidir entre o modo de entrada padrão e premium, você avalia os recursos consumidos pela instância de proxy considerando as solicitações atendidas. Comece examinando os núcleos vCPU e os recursos de memória consumidos pela instância de proxy. Se o seu ambiente mantiver a contagem máxima de proxy de entrada (padrão 10) por qualquer período prolongado, considere mudar para o modo de entrada premium. Para obter mais informações, consulte métricas. Para aprender a configurar o modo de entrada premium, veja a opção Usar entrada premium nas Aplicações Azure Container.

Perfil da carga de trabalho

Você pode selecionar um perfil de carga de trabalho para fornecer nós dedicados para suas instâncias de proxy de entrada que podem ser dimensionadas de acordo com suas necessidades. Os tipos de perfil de carga de trabalho D4-D32 são recomendados. Cada instância de proxy de entrada é alocada 1 núcleo de vCPU. Para obter mais informações, consulte Perfis de carga de trabalho em Aplicativos de Contêiner do Azure.

O perfil da carga de trabalho:

  • Não deve ser o perfil de carga de trabalho de consumo.
  • Não deve ser partilhado com aplicações ou tarefas de contêiner.
  • Não deve ser excluído enquanto você estiver usando-o para seu proxy de entrada.

A execução do proxy de entrada em um perfil de carga de trabalho é cobrada de acordo com a taxa desse perfil de carga de trabalho. Para obter mais informações, consulte faturamento.

Você também pode configurar o número de nós de perfil de carga de trabalho. Um perfil de carga de trabalho é um pool escalável de nós. Cada nó contém várias instâncias de proxy de entrada. O número de nós é dimensionado com base na vCPU e na utilização da memória. O número mínimo de instâncias de nó são duas.

Escalonamento

O proxy de entrada é dimensionado independentemente do dimensionamento do seu aplicativo de contêiner.

Quando o proxy de entrada atinge uma alta utilização de vCPU ou de memória, o Container Apps cria mais instâncias do proxy de entrada. Quando a utilização diminui, as instâncias de proxy de entrada extra são removidas.

Suas instâncias mínimas e máximas de proxy de entrada são determinadas da seguinte maneira:

  • Mínimo: Há um mínimo de duas instâncias de nós.

  • Máximo: o número máximo de instâncias do seu nó multiplicado pelo número de núcleos de vCPU. Por exemplo, se tiver 50 instâncias de nós máximas e 4 núcleos de vCPU, terá no máximo 200 instâncias de proxy de entrada.

As instâncias de proxy de entrada são distribuídas entre os nós de perfil de carga de trabalho disponíveis.

Configurações avançadas de ingresso

Com o modo de entrada premium ativado, você também pode definir as seguintes configurações:

Configurações Descrição Mínimo Máximo Predefinido
Período de carência de rescisão A quantidade de tempo (em segundos) para o aplicativo contêiner concluir o processamento de solicitações antes que elas sejam canceladas durante o desligamento. 0 3600 500
Tempo limite para inatividade da solicitação Tempos limite para pedidos inativos em minutos. 4 30 4
Contagem de cabeçalhos de solicitação Aumente essa configuração se você tiver clientes que enviam um grande número de cabeçalhos de solicitação. 1 N/A 100

Você só deve aumentar essas configurações conforme necessário, porque aumentá-las pode levar suas instâncias de proxy de entrada consumindo mais recursos por períodos mais longos, tornando-se mais vulneráveis ao esgotamento de recursos e ataques de negação de serviço.

Configurar ingresso

Você pode configurar a entrada para seu ambiente depois de criá-lo.

  1. Navegue até seu ambiente no portal do Azure.

  2. Selecione Rede.

  3. Selecione Configurações de ingresso.

  4. Configure suas configurações de entrada da seguinte maneira.

    Configurações Valor
    Modo de Ingresso Selecione Padrão ou Premium.
    Tamanho do perfil da carga de trabalho Selecione um tamanho de D4 a D32.
    Instâncias mínimas de nó Insira as instâncias mínimas do nó do perfil de carga de trabalho.
    Número máximo de instâncias de nó Insira as instâncias máximas do nó do perfil de carga de trabalho.
    Período de carência de rescisão Insira o período de carência de rescisão em minutos.
    Tempo limite para inatividade da solicitação Introduza o timeout do pedido inativo em minutos.
    Contagem de cabeçalhos de solicitação Insira o número de cabeçalhos de solicitação.
  5. Selecione Aplicar.

Roteamento baseado em regras

Com o roteamento baseado em regras, você cria um nome de domínio totalmente qualificado (FQDN) em seu ambiente de aplicativos de contêiner. Em seguida, você usa regras para rotear solicitações para esse FQDN para diferentes aplicativos de contêiner, dependendo do caminho de cada solicitação. Isso oferece os seguintes benefícios.

  • Isolamento: roteando caminhos diferentes para aplicativos de contêiner diferentes, você pode implantar e atualizar componentes individuais sem afetar todo o aplicativo.

  • Escalabilidade: com o roteamento baseado em regras, você pode dimensionar aplicativos de contêiner individuais de forma independente com base no tráfego que cada aplicativo de contêiner recebe.

  • Regras de roteamento personalizadas: você pode, por exemplo, redirecionar usuários para diferentes versões do seu aplicativo ou implementar testes A/B.

  • Segurança: você pode implementar medidas de segurança personalizadas para cada aplicativo de contêiner. Isso ajuda a reduzir a superfície de ataque do seu aplicativo.

Para saber como configurar o roteamento baseado em regras em seu ambiente de aplicativos de contêiner, consulte Usar roteamento baseado em regras.

Criptografia ponto a ponto no ambiente de Aplicativos de Contêiner do Azure

Os Aplicativos de Contêiner do Azure dão suporte à criptografia TLS ponto a ponto dentro do ambiente. Habilitar esse recurso criptografa todo o tráfego de rede dentro do ambiente com um certificado privado que é válido dentro do escopo do ambiente de Aplicativos de Contêiner do Azure. Os Aplicativos de Contêiner do Azure gerenciam automaticamente esses certificados.

Observação

Por padrão, a criptografia ponto a ponto está desabilitada. Habilitar a criptografia ponto a ponto para seus aplicativos pode aumentar a latência de resposta e reduzir a taxa de transferência máxima em cenários de alta carga.

O exemplo a seguir mostra um ambiente com criptografia ponto a ponto habilitada. Diagrama de como o tráfego é criptografado/descriptografado com criptografia ponto a ponto habilitada.

1 O tráfego TLS de entrada é encerrado no proxy de ingressão no limite do ambiente.

2 O tráfego de entrada e saída do proxy dentro do ambiente está criptografado com TLS utilizando um certificado privado e é descriptografado pelo receptor.

3 As chamadas feitas do aplicativo A para o FQDN do aplicativo B são enviadas primeiro para o proxy de entrada de borda e são criptografadas por TLS.

4 As chamadas efetuadas da aplicação A para a aplicação B utilizando o nome da aplicação B são enviadas diretamente para a aplicação B e são encriptadas por TLS. As chamadas entre aplicações e componentes Java são tratadas da mesma forma que a comunicação entre aplicações e são encriptadas com TLS.

Os aplicativos em um ambiente de Aplicativos de Contêiner são autenticados automaticamente. No entanto, o tempo de execução das Aplicações de Contentores não oferece suporte à autorização de controlo de acesso entre aplicações usando a criptografia ponto a ponto incorporada.

Quando seus aplicativos estão se comunicando com um cliente fora do ambiente, a autenticação bidirecional com mTLS é suportada. Para saber mais, consulte Configurar certificados de cliente.

Você pode habilitar a criptografia ponto a ponto usando os seguintes comandos.

Ao criar:

az containerapp env create \
    --name <ENVIRONMENT_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --location <LOCATION> \
    --enable-peer-to-peer-encryption

Para um aplicativo de contêiner existente:

az containerapp env update \
    --name <ENVIRONMENT_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --enable-peer-to-peer-encryption