Implantar o Azure Spring Apps em uma rede virtual

Nota

Azure Spring Apps é o novo nome para o serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns lugares por um tempo enquanto trabalhamos para atualizar ativos, como capturas de tela, vídeos e diagramas.

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

Este artigo aplica-se a:❌ Basic ✔️ 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 dos aplicativos do Azure Spring Apps e do tempo de execução do serviço 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.
  • Capacitação dos clientes para controlar as 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.


Nota

Você pode selecionar sua rede virtual do Azure somente quando criar uma nova instância de serviço do Azure Spring Apps. Não é possível alterar para usar outra rede virtual após a criação do Azure Spring Apps.

Pré-requisitos

Registre o provedor Microsoft.AppPlatform de recursos do Azure Spring Apps 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 da rede virtual

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

  • Local: a rede virtual deve residir no mesmo local 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 deve incluir duas sub-redes dedicadas a uma instância do Azure Spring Apps:
    • Um para o tempo de execução do serviço.
    • Um para as suas aplicações 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 implantada. Cada sub-rede só pode incluir uma única instância de serviço.
  • Espaço de endereço: o CIDR bloqueia até /28 para a sub-rede de tempo de execução 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 do Azure Spring Apps.

Criar uma rede virtual

Se você já tiver uma rede virtual para hospedar uma instância do Azure Spring Apps, ignore as etapas 1, 2 e 3. Você pode começar a partir 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 virtual de rede>.

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

    Definição Value
    Subscrição Selecione a sua subscrição.
    Grupo de recursos Selecione seu grupo de recursos ou crie um novo.
    Nome Digite azure-spring-apps-vnet.
    Localização Selecione E.U.A. Leste.
  3. Selecione Next: Endereços IP.

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

  5. Selecione Adicionar sub-rede. Em seguida, insira service-runtime-subnet para Nome da sub-rede e digite 10.1.0.0/24 para Intervalo de endereços da sub-rede. Em seguida, 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. Em seguida, selecione Adicionar.

  7. Selecione Rever + criar. Deixe o restante como padrão e selecione Criar.

Conceder permissão de serviço à rede virtual

Esta seção mostra que você deve conceder a permissão de Proprietário do Azure Spring Apps em 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.

Nota

As permissões mínimas necessárias são Administrador de Acesso de Usuário e Colaborador de Rede. Você pode conceder atribuições de função a ambos se não puder conceder Owner permissã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 Azure Spring 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 do Azure Spring Apps.

Use as seguintes etapas para conceder permissão:

  1. Selecione a rede azure-spring-apps-vnet virtual que você criou anteriormente.

  2. Selecione Controle de acesso (IAM) e, em seguida, selecione Adicionar>atribuição de função.

    Captura de ecrã da página de Controlo de Acesso (IAM) do portal do Azure a mostrar o separador Verificar acesso com o botão Adicionar atribuição de função realçado.

  3. Atribua a Owner função ao Provedor de Recursos do Azure Spring Apps. Para obter mais informações, consulte Atribuir funções do Azure utilizando o portal do Azure.

    Nota

    Se não encontrar o Azure Spring Apps Resource Provider, procure Azure Spring Cloud Resource Provider.

    Captura de ecrã da página Controlo de Acesso do portal do Azure com o painel Adicionar atribuição de função e a caixa Selecionar com o Fornecedor de Recursos do Azure Spring Apps realçado.

Implantar uma instância do Azure Spring Apps

Use as seguintes etapas para implantar uma instância do Azure Spring Apps na rede virtual:

  1. Abra o portal do Azure.

  2. Na caixa de pesquisa superior, procure 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 Aplicativos do Azure Spring.

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

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

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

    Definição Value
    Implante em sua própria rede virtual Selecione Yes (Sim).
    Rede virtual Selecione azure-spring-apps-vnet.
    Sub-rede de tempo de execução do serviço Selecione service-runtime-subnet.
    Sub-rede de aplicativos de microsserviço do Spring Boot Selecione apps-subnet.

    Captura de ecrã da página Criar Aplicações Azure Spring do portal do Azure que mostra o separador Rede.

  8. Selecione Rever e criar.

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

    Captura de ecrã da página Criar Aplicações Azure Spring Apps do portal do Azure que mostra a secção Rede do separador Rever e criar.

Após a implantação, mais dois grupos de recursos são criados em sua assinatura para hospedar os recursos de rede para a instância do Azure Spring Apps. Vá para Página Inicial e selecione Grupos de recursos nos itens de menu superior 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 tempo de execução do serviço da instância de serviço.

Captura de tela do portal do Azure mostrando os recursos para o tempo de execução 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 ecrã do portal do Azure a mostrar os recursos para as aplicações Spring.

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

Captura de ecrã do portal do Azure a mostrar a página Dispositivos ligados para uma rede virtual.

Importante

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

Usando intervalos de sub-redes menores

Esta tabela mostra o número máximo de instâncias de aplicativos que o Azure Spring Apps oferece suporte usando intervalos de sub-redes menores.

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

Aplicação com 0,5 núcleo: 192
Aplicação com um núcleo: 96
App com dois núcleos: 48
App com três núcleos: 32
App com quatro núcleos: 24

/27 32 24

Aplicação com 0,5 núcleo: 456
Aplicação com um núcleo: 228
App com dois núcleos: 144
App com três núcleos: 96
App com quatro núcleos: 72

/26 64 56

App com 0,5 núcleo: 500
Aplicação com um núcleo: 500
App com dois núcleos: 336
App com três núcleos: 224
App com quatro núcleos: 168

/25 128 120

App com 0,5 núcleo: 500
Aplicação com um núcleo: 500
App com dois núcleos: 500
App com três núcleos: 480
App com quatro núcleos: 360

/24 256 248

App com 0,5 núcleo: 500
Aplicação com um núcleo: 500
App com dois núcleos: 500
App com três núcleos: 500
App com quatro núcleos: 500

Para sub-redes, o Azure reserva cinco endereços IP e o Azure Spring Apps requer pelo menos três endereços IP. Pelo menos oito endereços IP são necessários, portanto, /29 e /30 não estão operacionais.

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

Nota

Um pequeno intervalo de sub-redes afeta o recurso subjacente que você pode usar para componentes do sistema, como o controlador de entrada. O Azure Spring Apps usa um controlador de entrada subjacente para lidar com o gerenciamento de tráfego de aplicativos. 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 tráfego de 10000 solicitações por segundo.

Traga a 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, o Azure Spring Apps as criará para cada uma das sub-redes e adicionará 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 reconhecerá as tabelas de rotas existentes durante as operações de instância e adicionar/atualizar e/ou regras 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 devem ser atualizadas ou 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 as regras personalizadas estiverem sendo modificadas.

Requisitos da tabela de rotas

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

  • Você pode associar suas tabelas de rotas do Azure à sua vnet somente quando criar uma nova instância de serviço do Azure Spring Apps. Não é possível alterar para usar outra tabela de rotas após a criação do Azure Spring Apps.
  • Tanto a sub-rede do aplicativo Spring quanto a sub-rede de tempo de execução do serviço devem ser associadas a tabelas de rotas diferentes ou a nenhuma delas.
  • As permissões devem ser atribuídas antes da criação da instância. Certifique-se de conceder ao Provedor de Recursos do Azure Spring Apps a Owner permissão (ou User Access Administrator e Network Contributor permissões) em suas tabelas de rotas.
  • Não é possível atualizar o recurso de tabela de rotas associado após a criação do cluster. Embora não seja possível atualizar o recurso da 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 conflitantes.

Usando servidores DNS personalizados

O Azure Spring Apps dá suporte ao uso de servidores DNS personalizados em sua rede virtual.

Se você não especificar servidores DNS personalizados em sua configuração de Rede Virtual do Servidor DNS, o Azure Spring Apps usará, 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 168.63.129.16 DNS do Azure 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 em Responsabilidades do cliente executando o Azure Spring Apps em uma rede virtual. Ele também pode resolver o endereço IP para *.svc.private.azuremicroservices.io em sua rede virtual.

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

Próximos passos