Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os Aplicativos de Contêiner do Azure são executados no contexto de um ambiente, com sua própria rede virtual (VNet). Essa VNet cria um limite seguro em torno de seu ambiente de Aplicativos de Contêiner do Azure.
A configuração de entrada no Azure Container Apps determina como o tráfego de rede externo alcança seus aplicativos. Configurar a 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 escalonável responsável pelos seguintes recursos:
Término do Transport Layer Security (TLS), que descriptografa o tráfego TLS conforme ele entra no ambiente. Essa operação desloca o trabalho de descriptografia para longe de seus aplicativos de contêiner, reduzindo o consumo de recursos e melhorando o desempenho deles.
Balanceamento de carga e divisão de tráfego entre revisões de aplicativo de contêiner ativo. Ter controle sobre onde você direciona o tráfego de entrada permite implementar padrões como implantação azul-verde e realizar testes A/B.
Afinidade de sessão, que ajuda você a criar aplicativos com estado que exigem uma conexão consistente com a mesma réplica do aplicativo de contêiner.
O diagrama a seguir mostra um ambiente de exemplo com o proxy de ingresso roteando o tráfego para dois 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 o 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 recebe até 1 núcleo de vCPU e 2 GB de memória.
No modo de entrada padrão, nenhuma cobrança é aplicada para dimensionar o proxy de entrada ou para os núcleos de vCPU e memória alocada.
Modo de entrada 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.
Esses recursos incluem:
Suporte ao perfil de carga de trabalho: instâncias de proxy de entrada são executadas em um perfil de carga de trabalho de sua escolha. Você tem controle sobre o número de núcleos de 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 ter quantas instâncias precisar.
Configurações avançadas: você pode definir configurações avançadas, como tempos limite ociosos para instâncias de proxy de entrada.
Para decidir entre o modo de entrada padrão e premium, avalie os recursos consumidos pela instância de proxy considerando as solicitações atendidas. Comece examinando os núcleos de 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 um longo período, considere mudar para o modo de entrada premium. Para obter mais informações, consulte as métricas.
Perfil de 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 são 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 recebe 1 núcleo de vCPU. Para obter mais informações, confira Perfis de carga de trabalho nos Aplicativos de Contêiner do Azure.
O perfil de carga de trabalho:
- Não deve ser o perfil de carga de trabalho de Consumo.
- Não deve ser compartilhado com aplicativos ou trabalhos de contêiner.
- Não deve ser excluído enquanto você o estiver usando para o 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 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 conjunto 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 de memória. O número mínimo de instâncias de nós é dois.
Escalonamento
O proxy de entrada é dimensionado independentemente do dimensionamento do aplicativo de contêiner.
Quando o proxy de entrada atinge alta utilização de vCPU ou memória, o Container Apps cria mais instâncias de proxies 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ó.
Máximo: suas instâncias máximas de nó multiplicadas pelos seus núcleos de vCPU. Por exemplo, se você tiver no máximo 50 instâncias de nó e 4 núcleos de vCPU, terá no máximo 200 instâncias de proxy de entrada.
As instâncias do proxy de entrada são distribuídas entre os nós de perfil de carga de trabalho disponíveis.
Configurações avançadas de entrada
Com o modo de entrada premium habilitado, você também pode definir as seguintes configurações:
Configurações | Descrição | Mínimo | Máximo | Padrão |
---|---|---|---|---|
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 | 3,600 | 500 |
Tempo limite de solicitação ociosa | Tempo limite de solicitação ociosa em minutos. | 1 | 60 | 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ão aplicável | 100 |
Você só deve aumentar essas configurações conforme necessário, pois aumentá-las pode levar as instâncias de proxy de entrada a consumir 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 Ingress
Você pode configurar a entrada para seu ambiente depois de criá-la.
Navegue até seu ambiente no portal do Azure.
Selecione Rede.
Selecione Configurações de Ingresso.
Defina as configurações de entrada da seguinte maneira.
Configurações Valor Modo de entrada 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ós Insira as instâncias mínimas do nó do perfil de carga de trabalho. Instâncias máximas de nós 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 para término em minutos. Tempo limite de solicitação ociosa Insira o tempo limite de solicitação de inatividade em minutos. Contagem de cabeçalhos de solicitação Insira o número de cabeçalhos de solicitação. Selecione Aplicar.
Roteamento baseado em regra (versão prévia)
Com o roteamento baseado em regra, você cria um FQDN (nome de domínio totalmente qualificado) 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: ao rotear caminhos diferentes para diferentes aplicativos de contêiner, você pode implantar e atualizar componentes individuais sem afetar todo o aplicativo.
Escalabilidade: com o roteamento baseado em regra, você pode dimensionar aplicativos de contêiner individuais independentemente 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 você a reduzir a superfície de ataque do aplicativo.
Para saber como configurar o roteamento baseado em regras em seu ambiente de aplicativos de contêiner, consulte Usar o 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 no ambiente. A habilitação dessa funcionalidade encripta todo o tráfego de rede dentro do ambiente com um certificado privado válido dentro do âmbito do ambiente 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.
1 O tráfego TLS de entrada é encerrado no proxy de entrada na borda do ambiente.
2 O tráfego de e para o proxy de entrada dentro do ambiente é criptografado por TLS com 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 feitas do aplicativo A para o aplicativo B usando o nome do aplicativo B são enviadas diretamente para o aplicativo B e são criptografadas por TLS. As chamadas entre aplicativos e componentes Java são tratadas da mesma forma que a comunicação entre aplicativos e o TLS criptografado.
Os aplicativos em um ambiente de Aplicativos de Contêiner são autenticados automaticamente. Porém, o tempo de execução dos Aplicativos de Contêiner do Azure não dá suporte à autorização do controle de acesso entre aplicativos usando a criptografia ponto a ponto integrada.
Quando seus aplicativos se comunicam com um cliente fora do ambiente, há suporte para a autenticação bidirecional com mTLS. Para saber mais, confira configurar certificados do cliente.
Você pode habilitar a criptografia ponto a ponto usando os comandos a seguir.
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