Compartilhar via


Migrando uma rede virtual personalizada

Observação

Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.

O plano consumo e dedicado Standard será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.

Este artigo se aplica a:✅ Básico/Standard ✅ Enterprise

Nos Aplicativos Spring do Azure, você pode implantar seus aplicativos em uma rede virtual gerenciada. Essa configuração permite a comunicação segura entre seus aplicativos e outros recursos na rede virtual, como bancos de dados e outros serviços. Os Aplicativos de Contêiner do Azure oferecem funcionalidade semelhante, mas com algumas diferenças. Esse artigo explora essas diferenças e fornece diretrizes sobre como criar e gerenciar ambientes de Aplicativos de Contêiner do Azure com redes virtuais gerenciadas.

Pré-requisitos

Criar um ambiente de Aplicativos de Contêiner do Azure com uma rede virtual

Nos Aplicativos Spring do Azure, você precisa configurar duas sub-redes em uma rede virtual: uma para o runtime do sistema e outra para o aplicativo do usuário. Essa configuração garante isolamento e segurança para os componentes do sistema e os aplicativos do usuário. Por outro lado, os Aplicativos de Contêiner do Azure simplificam a configuração da rede ao exigir apenas uma sub-rede para infraestrutura em uma rede virtual.

Nos Aplicativos de Contêiner do Azure, a rede virtual de infraestrutura é isolada da rede virtual do cliente, eliminando a necessidade de conceder permissão ao serviço para a rede virtual, conforme necessário nos Aplicativos Spring do Azure. Há dois tipos de ambientes com suporte. Para obter mais informações, confira a seção Tipos de Ambientes de Aplicativos de Contêiner do Azure. Ao usar o ambiente Perfis de Carga de Trabalho, você precisa atualizar a rede virtual para delegar a sub-rede a Microsoft.App/environments. Para obter mais informações, confira a seção Criar um ambiente de Fornecer uma rede virtual a um ambiente de Aplicativos de Contêiner do Azure.

Além disso, os requisitos para intervalos de sub-rede menores diferem entre os dois serviços.

Para criar um ambiente de Aplicativos de Contêiner do Azure com uma rede virtual, use o seguinte comando da CLI do Azure:

az containerapp env create \
    --resource-group $RESOURCE_GROUP \
    --name $ENVIRONMENT \
    --location "$LOCATION" \
    --internal-only true \
    --infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"

A variável $INFRASTRUCTURE_SUBNET é a ID de Recurso de uma sub-rede na rede virtual do cliente, que é para componentes de infraestrutura e contêineres de aplicativos do usuário. Para obter mais informações, confira a seção Criar um ambiente de Fornecer uma rede virtual a um ambiente de Aplicativos de Contêiner do Azure.

Escolher usar uma rede virtual do cliente nos Aplicativos de Contêiner do Azure não significa que seu aplicativo de contêiner não pode aceitar solicitações públicas. Se você quiser limitar completamente o acesso apenas à rede virtual do cliente, será necessário definir o parâmetro --internal-only como true. Essa configuração garante que nenhum ponto de extremidade público seja criado. Para obter mais informações, confira a seção IP Virtual da Rede no ambiente de Aplicativos de Contêiner do Azure e Fornecer uma rede virtual a um ambiente interno de Aplicativos de Contêiner do Azure.

Migrar o Aplicativo para os Aplicativos de Contêiner do Azure

Depois de criar um Ambiente de Aplicativos de Contêiner do Azure, a próxima etapa será migrar seu aplicativo para os Aplicativos de Contêiner do Azure. Para obter mais informações, confira Mapeamento de Conceitos. Para migrar cada Aplicativo de Contêiner do Azure, confira Visão geral da migração de aplicativos e selecione uma imagem de contêiner ou um artefato para o processo de migração.

Alterar a Configuração de Entrada

Os Aplicativos de Contêiner do Azure oferecem mais opções para personalizar as configurações de entrada em comparação com os Aplicativos Spring do Azure. Para obter mais informações, veja Personalizar a configuração de entrada em Aplicativos Spring do Azure.

A tabela a seguir mapeia as propriedades de configuração entre os dois serviços:

Recurso Azure Spring Apps Aplicativos de Contêiner do Azure
Afinidade de sessão ingressSettings.sessionAffinity ingress.stickySessions.affinity
Idade Máxima do Cookie de Sessão ingressSettings.sessionCookieMaxAge EasyAuthConfig.login.cookieExpiration.timeToExpiration
Protocolo de Back-end ingressSettings.backendProtocol ingress.transport
Autenticação de cliente ingressSettings.clientAuth ingress.clientCertificateMode
Tempo Limite de Leitura de Entrada ingressSettings.readTimeoutInSeconds 240
Tempo Limite de Envio de Entrada ingressSettings.sendTimeoutInSeconds 240

Os Aplicativos de Contêiner do Azure não permitem que os usuários especifiquem um valor de tempo limite personalizado. Em vez disso, ele impõe um tempo limite de solicitação interno para solicitações HTTP, que é limitado a 240 segundos. Portanto, se uma solicitação exceder essa duração, a conexão será automaticamente encerrada para garantir o gerenciamento eficiente de recursos e evitar que solicitações de longa duração monopolizem o sistema.

Os Aplicativos de Contêiner do Azure não dão suporte direto a um item de configuração session-max-age. No entanto, você pode gerenciar a duração e os comportamentos da sessão por meio de outras configurações relacionadas. Por exemplo, você pode usar a configuração cookieExpiration na configuração EasyAuth para controlar quanto tempo dura uma sessão de autenticação. Essa configuração permite especificar a duração pela qual o cookie de autenticação permanece válido.

Para obter mais informações sobre as configurações de entrada fornecidas pelos Aplicativos de Contêiner do Azure, confira Entrada nos Aplicativos de Contêiner do Azure.

Tanto os Aplicativos Spring do Azure quanto os Aplicativos de Contêiner do Azure oferecem maneiras de gerar pontos de extremidade publicamente acessíveis. Nos Aplicativos Spring do Azure, cada implantação tem uma URL exclusiva para fins de teste durante as implantações azul-verde. Da mesma forma, nos Aplicativos de Contêiner do Azure, um rótulo de revisão fornece uma URL exclusiva que você pode usar para rotear o tráfego para a revisão específica à qual o rótulo está atribuído. Para obter mais informações, confira a seção Rótulos de Atualizar e implantar alterações nos Aplicativos de Contêiner do Azure.

Nos Aplicativos Spring do Azure, o sistema investiga automaticamente a porta 1025 para aplicativos no plano Básico/Standard e a porta 8080 para aplicativos no plano Enterprise. Essas investigações ajudam a determinar se o contêiner do aplicativo está pronto para aceitar tráfego. Por outro lado, os Aplicativos de Contêiner do Azure oferecem mais flexibilidade ao permitir que os usuários especifiquem a porta de investigação usando o parâmetro --target-port. Essa configuração oferece aos usuários mais controle sobre a configuração e o comportamento do aplicativo.

Para atualizar a porta de entrada de destino de um aplicativo de contêiner, você pode usar o seguinte comando da CLI do Azure:

az containerapp ingress update \
    --resource-group <resource-group> \
    --name <app-name> \
    --target-port <target-port>

A lista a seguir explica cada parâmetro:

  • --name: O nome do seu aplicativo de contêiner.
  • --resource-group: O grupo de recursos que contém seu aplicativo de contêiner.
  • --target-port: A porta na qual seu aplicativo de contêiner está ouvindo.

Para obter mais informações, confira a seção Habilitar entrada de Configurar entrada para seu aplicativo nos Aplicativos de Contêiner do Azure.

Alterar configuração de saída (UDR)

Tanto os Aplicativos Spring do Azure quanto os Aplicativos de Contêiner do Azure oferecem maneiras de controlar o tráfego de saída por meio do recurso traga sua própria tabela de rotas - Rotas Definidas pelo Usuário (UDR) - com Firewall do Azure. No entanto, observe as seguintes diferenças:

  • Não é necessário adicionar uma atribuição de função para um provedor de recursos dos Aplicativos de Contêiner do Azure.
  • Uma sub-rede dedicada para a sub-rede de runtime do serviço Aplicativos de Contêiner do Azure não é necessária.
  • Os Aplicativos de Contêiner do Azure fornecem uma maneira mais flexível de dar suporte a UDR. Nos Aplicativos de Contêiner do Azure, não é necessário definir explicitamente a opção --outbound-type como userDefinedRouting ao provisionar Aplicativos Spring do Azure.

Para obter mais informações, confira a seção Rotas de Configuração de sub-rede com CLI e Controlar o tráfego de saída nos Aplicativos de Contêiner do Azure com rotas definidas pelo usuário.

Nos Aplicativos de Contêiner do Azure, somente perfis de carga de trabalho do tipo ambiente dão suporte a UDR. Além disso, os Aplicativos de Contêiner do Azure dão suporte à saída por meio do Gateway da NAT e à criação de pontos de extremidade privados no ambiente do aplicativo de contêiner.

Para criar um ambiente de Aplicativos de Contêiner do Azure que dê suporte a UDR, use o seguinte comando:

az containerapp env create \
    --resource-group $RESOURCE_GROUP \
    --name $ENVIRONMENT \
    --location "$LOCATION" \
    --enable-workload-profiles \
    --infrastructure-subnet-resource-id "$INFRASTRUCTURE_SUBNET"

Defina o parâmetro --enable-workload-profiles como true para habilitar os perfis de carga de trabalho.

Proteja redes virtuais com Grupos de Segurança de Rede

Tanto os Aplicativos Spring do Azure quanto os Aplicativos de Contêiner do Azure oferecem suporte robusto, permitindo que você gerencie e proteja o tráfego de saída de forma eficaz usando Grupos de Segurança de Rede (NSG). As principais diferenças estão nas configurações específicas.

Para obter mais informações, confira Protegendo uma VNET personalizada nos Aplicativos de Contêiner do Azure com Grupos de Segurança de Rede.

Alterar as Configurações de DNS

Tanto os Aplicativos Spring do Azure quanto os Aplicativos de Contêiner do Azure dão suporte ao uso de servidores DNS personalizados em uma rede virtual do cliente. Recomendamos adicionar o IP do DNS do Azure 168.63.129.16 como servidor DNS upstream no servidor DNS personalizado.

Para obter mais informações, confira a seção DNS de Rede no ambiente de Aplicativos de Contêiner do Azure.

Atualmente, os Aplicativos de Contêiner do Azure em um tipo de ambiente Somente Consumo não dão suporte à liberação de alterações nas configurações de DNS como os Aplicativos Spring do Azure. Para obter mais informações, confira Liberar alterações nas configurações de DNS nos Aplicativos Spring do Azure. No entanto, o tipo de ambiente de perfil de carga de trabalho atualiza automaticamente as configurações de DNS a cada 5 minutos.

Os Aplicativos de Contêiner do Azure dão suporte à implantação com uma zona DNS privada. Para obter mais informações, confira a seção Implantar com um DNS privado de Fornecer uma rede virtual para um ambiente de Aplicativos de Contêiner do Azure. Essa abordagem fornece uma maneira mais flexível de dar suporte à vinculação de uma zona DNS privada do que usar Aplicativos Spring do Azure. Para obter mais informações, confira a seção Vincular a zona DNS privada com Aplicativos Spring do Azure de Acessar um aplicativo nos Aplicativos Spring do Azure em uma rede virtual.

Acessar um aplicativo nos Aplicativos de Contêiner do Azure em uma rede virtual do cliente

Os Aplicativos de Contêiner do Azure oferecem recursos de Acesso público à rede e Ponto de extremidade privado para expor aplicativos à Internet ou protegê-los em uma rede privada. Da mesma forma, os Aplicativos Spring do Azure dão suporte a esses recursos, conforme descrito nos artigos a seguir: