Implantar o Azure Spring Apps em uma rede virtual

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 Standard de consumo e dedicado 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 Standard de consumo e dedicado dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.

Este artigo aplica-se a: ✔️ Java ✔️ C#

Este artigo se aplica aos níveis:❌ ✔️ Básico ✔️ Standard ✔️ Enterprise

Este tutorial explica como implantar uma instância do Azure Spring Apps em sua rede virtual. Essa implantação às vezes é chamada de injeção de VNet.

A implantação permite:

  • Isolamento de aplicativos e runtime de serviço do Azure Spring Apps da Internet em sua rede corporativa.
  • Interação do Azure Spring Apps com sistemas em data centers locais ou serviços do Azure em outras redes virtuais.
  • Permitir que clientes controlem comunicações de rede de entrada e saída para o Azure Spring Apps.

O vídeo a seguir descreve como proteger aplicativos Spring Boot usando redes virtuais gerenciadas.


Observação

Você pode selecionar sua rede virtual do Azure somente quando cria uma instância de serviço do Azure Spring Apps. Você não pode alterar e usar outra rede virtual após a criação dos Aplicativos Spring do Azure.

Pré-requisitos

Registrar o provedor de recursos dos Aplicativos Spring do Azure Microsoft.AppPlatform e Microsoft.ContainerService de acordo com as instruções em Registrar provedor de recursos no portal do Azure ou executando o seguinte comando da CLI do Azure:

az provider register --namespace Microsoft.AppPlatform
az provider register --namespace Microsoft.ContainerService

Requisitos de rede virtual

A rede virtual na qual você implanta sua instância do Azure Spring Apps deve atender aos seguintes requisitos:

  • Localização: a rede virtual deve residir na mesma localização que a instância do Azure Spring Apps.
  • Assinatura: a rede virtual deve estar na mesma assinatura que a instância do Azure Spring Apps.
  • Sub-redes: a rede virtual precisa incluir duas sub-redes dedicadas a uma instância dos Aplicativos Spring do Azure:
    • Uma para o runtime do serviço.
    • Um para seus aplicativos do Spring.
    • Há uma relação um-para-um entre essas sub-redes e uma instância do Azure Spring Apps. Use uma nova sub-rede para cada instância de serviço que você implantar. Cada sub-rede só pode incluir uma instância de serviço.
  • Espaço de endereço: o CIDR bloqueia até /28 para a sub-rede de runtime do serviço e a sub-rede de aplicativos Spring.
  • Tabela de rotas: por padrão, as sub-redes não precisam de tabelas de rotas existentes associadas. Você pode trazer sua própria tabela de rotas.

Use as etapas a seguir para configurar a rede virtual para conter a instância dos Aplicativos Spring do Azure.

Criar uma rede virtual

Se você já tiver uma rede virtual para hospedar a instância do Azure Spring Apps, pule as etapas 1, 2 e 3. Você pode começar da etapa 4 para preparar sub-redes para a rede virtual.

  1. No menu do portal do Azure, selecione Criar um recurso. No Azure Marketplace, selecione Rede>Rede virtual.

  2. Na caixa de diálogo Criar rede virtual, insira ou selecione as seguintes informações:

    Configuração Valor
    Subscription Selecione sua assinatura.
    Resource group Selecione seu grupo de recursos ou crie um.
    Nome Insira azure-spring-apps-vnet.
    Localidade Selecione Leste dos EUA.
  3. Selecione Avançar: Endereços IP.

  4. Para o espaço de endereço IPv4, insira 10.1.0.0/16.

  5. Selecione Adicionar sub-rede. Depois, insira service-runtime-subnet em Nome da sub-rede e 10.1.0.0/24 em Intervalo de endereços da sub-rede. Depois, selecione Adicionar.

  6. Selecione Adicionar sub-rede novamente e insira o nome da sub-rede e o intervalo de endereços da sub-rede. Por exemplo, insira apps-subnet e 10.1.1.0/24. Depois, selecione Adicionar.

  7. Selecione Examinar + criar. Deixe o restante com os valores padrão e selecione Criar.

Conceder permissão de serviço para a rede virtual

Esta seção mostra como conceder permissões de Administrador de Acesso de Usuário e Colaborador de Rede aos Aplicativos Spring do Azure na sua rede virtual. Essa permissão permite que você conceda uma entidade de serviço dedicada e dinâmica na rede virtual para implantação e manutenção adicionais.

Observação

Se você estiver usando sua própria tabela de rotas ou um recurso de rota definido pelo usuário, também precisará conceder aos Aplicativos Spring do Azure as mesmas atribuições de função para suas tabelas de rotas. Para obter mais informações, consulte a seção Traga sua própria tabela de rotas e Controlar o tráfego de saída para uma instância dos Aplicativos Spring do Azure.

Para conceder permissão, use as seguintes etapas:

  1. Selecione a rede virtual azure-spring-apps-vnet criada anteriormente.

  2. Selecione Controle de Acesso (IAM) e escolha Adicionar>Adicionar atribuição de função.

    Captura de tela da página controle de acesso do portal do Azure (IAM) mostrando a guia Verificar acesso com o botão Adicionar atribuição de função realçado.

  3. Atribua as funções Network Contributor e User Access Administrator ao Provedor de Recursos do Azure Spring Cloud. Para obter mais informações, confira Atribuir funções do Azure usando o portal do Azure.

    Observação

    A função User Access Administrator está nas funções de Administrador com Privilégios e Network Contributor está nas funções de Trabalho.

Implantar uma instância do Azure Spring Apps

Para implantar uma instância dos Aplicativos Spring do Azure na rede virtual:

  1. Abra o Portal do Azure.

  2. Na caixa de pesquisa superior, pesquise por Azure Spring Apps. Selecione Azure Spring Apps no resultado.

  3. Na página Azure Spring Apps, selecione Adicionar.

  4. Preencha o formulário na página Criar do Azure Spring Apps.

  5. Selecione o mesmo grupo de recursos e região que a rede virtual.

  6. Para Nome em Detalhes do Serviço, selecione azure-spring-apps-vnet.

  7. Selecione a guia Rede e selecione os seguintes valores:

    Configuração Valor
    Implantar em sua rede virtual Selecione Sim.
    Rede virtual Selecione azure-spring-apps-vnet.
    Sub-rede do runtime de serviço Selecione service-runtime-subnet.
    Sub-rede de aplicativos de microsserviço do Spring Boot Selecione apps-subnet.

    Captura de tela da página Criar dos Aplicativos Spring do Azure mostrando a guia Rede.

  8. Selecione Examinar e criar.

  9. Verifique suas especificações e selecione Criar.

    Captura de tela da página Criar dos Aplicativos Spring do Azure do portal do Azure mostrando a seção Rede da guia Examinar e criar.

Após a implantação, dois grupos de recursos adicionais serão criados em sua assinatura para hospedar os recursos de rede para a instância dos Aplicativos Spring do Azure. Acesse a Página Inicial e selecione Grupos de recursos nos itens de menu superiores para localizar os novos grupos de recursos a seguir.

O grupo de recursos nomeado como ap-svc-rt_{service instance name}_{service instance region} contém recursos de rede para o runtime de serviço da instância de serviço.

Captura de tela do portal do Azure mostrando os recursos para o runtime do serviço.

O grupo de recursos nomeado como ap-app_{service instance name}_{service instance region} contém recursos de rede para seus aplicativos Spring da instância de serviço.

Captura de tela do portal do Azure mostrando os recursos para os aplicativos Spring.

Esses recursos de rede estão conectados à sua rede virtual criada na imagem anterior.

Captura de tela do portal do Azure mostrando a página Dispositivos conectados de uma rede virtual.

Importante

Os grupos de recursos são totalmente gerenciados pelo serviço do Azure Spring Apps. Não exclua nem modifique manualmente nenhum recurso.

Usando intervalos de sub-rede menores

Esta tabela mostra o número máximo de instâncias de aplicativo a que o Azure Spring Apps dá suporte usando intervalos de sub-rede menores.

CIDR de sub-rede de aplicativo IPs totais IPs disponíveis Máximo de instâncias do aplicativo
/ 28 16 8

Aplicativo com meio núcleo: 192
Aplicativo com um núcleo: 96
Aplicativo com dois núcleos: 48
Aplicativo com três núcleos: 32
Aplicativo com quatro núcleos: 24

/ 27 32 24

Aplicativo com meio núcleo: 456
Aplicativo com um núcleo: 228
Aplicativo com dois núcleos: 144
Aplicativo com três núcleos: 96
Aplicativo com quatro núcleos: 72

/ 26 64 56

Aplicativo com meio núcleo: 500
Aplicativo com um núcleo: 500
Aplicativo com dois núcleos: 336
Aplicativo com três núcleos: 224
Aplicativo com quatro núcleos: 168

/ 25 128 120

Aplicativo com meio núcleo: 500
Aplicativo com um núcleo: 500
Aplicativo com dois núcleos: 500
Aplicativo com três núcleos: 480
Aplicativo com quatro núcleos: 360

/24 256 248

Aplicativo com meio núcleo: 500
Aplicativo com um núcleo: 500
Aplicativo com dois núcleos: 500
Aplicativo com três núcleos: 500
Aplicativo com quatro núcleos: 500

Para sub-redes, o Azure reserva cinco endereços IP e os Aplicativos Spring do Azure requerem pelo menos três endereços IP. Pelo menos nove endereços IP são necessários; portanto /29 e /30 não são operacionais.

Para uma sub-rede de runtime de serviço, o tamanho mínimo é /28.

Observação

Um pequeno intervalo de sub-rede afeta o recurso subjacente que você pode usar para componentes do sistema, como o controlador de entrada. O serviço dos Aplicativos Spring do Azure usa um controlador de entrada subjacente para controlar o gerenciamento de tráfego do aplicativo. O número de instâncias do controlador de entrada aumenta automaticamente à medida que o tráfego do aplicativo aumenta. Reserve um intervalo de IP de sub-rede de rede virtual maior se o tráfego do aplicativo puder aumentar no futuro. Normalmente, você reserva um endereço IP para um tráfego de 10.000 solicitações por segundo.

Traga sua própria tabela de rotas

O Azure Spring Apps dá suporte ao uso de sub-redes e tabelas de rotas existentes.

Se suas sub-redes personalizadas não contiverem tabelas de rotas, os Aplicativos Spring do Azure as criarão para cada uma das sub-redes e adicionarão regras a elas durante todo o ciclo de vida da instância. Se suas sub-redes personalizadas contiverem tabelas de rotas, o Azure Spring Apps confirmará as tabelas de rotas existentes durante operações de instância e adicionará/atualizará e/ou controlará de acordo com as operações.

Aviso

As regras personalizadas podem ser adicionadas às tabelas de rotas personalizadas e atualizadas. No entanto, as regras são adicionadas pelo Azure Spring Apps e não precisam ser atualizadas nem removidas. Regras como 0.0.0.0/0 devem sempre existir em uma determinada tabela de rotas e mapear para o destino do seu gateway de Internet, como um NVA ou outro gateway de saída. Tenha cuidado ao atualizar regras quando apenas suas regras personalizadas estiverem sendo modificadas.

Requisitos da tabela de rotas

As tabelas de rotas às quais sua rede virtual personalizada está associada devem cumprir os seguintes requisitos:

  • Você poderá associar suas tabelas de rotas do Azure à sua rede virtual somente quando criar uma instância de serviço dos Aplicativos Spring do Azure. Você não pode alterar para usar outra tabela de rotas após ter criado uma instância dos Aplicativos Spring do Azure.
  • A sub-rede de aplicativos do Spring e a sub-rede de runtime do serviço precisam ser associadas a diferentes tabelas de rotas a ou nenhuma delas.
  • As permissões precisam ser atribuídas antes da criação da instância. Lembre-se de conceder ao Provedor de Recursos do Azure Spring Cloud as permissões de User Access Administrator e Network Contributor em suas tabelas de rotas.
  • O recurso de tabela de rotas associado não pode ser atualizado após a criação do cluster. Embora não seja possível atualizar o recurso de tabela de rotas, você pode modificar regras personalizadas na tabela de rotas.
  • Não é possível reutilizar uma tabela de rotas com várias instâncias devido a possíveis regras de roteamento em conflito.

Usar servidores DNS personalizados

Os Aplicativos Spring do Azure dão suporte ao uso de servidores DNS personalizados em sua rede virtual.

Se você não especificar servidores DNS personalizados na configuração de Rede Virtual do Servidor DNS, os Aplicativos Spring do Azure usarão, por padrão, o DNS do Azure para resolver endereços IP. Se sua rede virtual estiver configurada com configurações de DNS personalizadas, adicione o IP do DNS do Azure 168.63.129.16 como o servidor DNS upstream no servidor DNS personalizado. O DNS do Azure pode resolver endereços IP para todos os FQDNs públicos mencionados nas responsabilidades do cliente que executam os Aplicativos Spring do Azure em uma rede virtual. Ele também pode resolver o endereço IP para *.svc.private.azuremicroservices.io em sua rede virtual.

Se o servidor DNS personalizado não puder adicionar o IP do DNS do Azure 168.63.129.16 como o servidor DNS upstream, use as seguintes etapas:

Próximas etapas