Utilizar os pontos finais de serviço e regras de Rede Virtual para Base de Dados do Azure para MySQL

APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor Único

Importante

O servidor único do Banco de Dados do Azure para MySQL está no caminho de desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para o servidor flexível MySQL. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para servidor flexível MySQL, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único MySQL?

As regras de rede virtual são um recurso de segurança de firewall que controla se o Banco de Dados do Azure para servidor MySQL aceita comunicações enviadas de sub-redes específicas em redes virtuais. Este artigo explica por que o recurso de regra de rede virtual às vezes é sua melhor opção para permitir a comunicação com segurança ao seu Banco de Dados do Azure para o servidor MySQL.

Para criar uma regra de rede virtual, primeiro deve haver uma rede virtual (VNet) e um ponto de extremidade de serviço de rede virtual para que a regra faça referência. A imagem a seguir ilustra como um ponto de extremidade de serviço de Rede Virtual funciona com o Banco de Dados do Azure para MySQL:

Example of how a VNet Service Endpoint works

Nota

Esse recurso está disponível em todas as regiões do Azure onde o Banco de Dados do Azure para MySQL é implantado para servidores de uso geral e otimizados para memória. No caso de emparelhamento de VNet, se o tráfego estiver fluindo através de um Gateway de VNet comum com pontos de extremidade de serviço e for suposto fluir para o par, crie uma regra ACL/VNet para permitir que as Máquinas Virtuais do Azure na VNet de Gateway acessem o Banco de Dados do Azure para o servidor MySQL.

Você também pode considerar o uso do Private Link para conexões. O Private Link fornece um endereço IP privado em sua VNet para o Banco de Dados do Azure para o servidor MySQL.

Terminologia e descrição

Rede virtual: você pode ter redes virtuais associadas à sua assinatura do Azure.

Sub-rede: uma rede virtual contém sub-redes. Todas as máquinas virtuais (VMs) do Azure que você tem são atribuídas a sub-redes. Uma sub-rede pode conter várias VMs ou outros nós de computação. Os nós de computação que estão fora da sua rede virtual não podem aceder à sua rede virtual, a menos que configure a sua segurança para permitir o acesso.

Ponto de extremidade do serviço de Rede Virtual: um ponto de extremidade do serviço de Rede Virtual é uma sub-rede cujos valores de propriedade incluem um ou mais nomes formais de tipo de serviço do Azure. Neste artigo, estamos interessados no nome do tipo Microsoft.Sql, que se refere ao serviço do Azure chamado Banco de Dados SQL. Essa marca de serviço também se aplica ao Banco de Dados do Azure para serviços MySQL e PostgreSQL. É importante observar que, ao aplicar a marca de serviço Microsoft.Sql a um ponto de extremidade do serviço VNet, ela configurará o tráfego do ponto de extremidade do serviço para todos os servidores do Banco de Dados SQL do Azure, Banco de Dados do Azure para MySQL e Banco de Dados do Azure para PostgreSQL na sub-rede.

Regra de rede virtual: uma regra de rede virtual para seu Banco de Dados do Azure para servidor MySQL é uma sub-rede listada na lista de controle de acesso (ACL) do seu Banco de Dados do Azure para servidor MySQL. Para estar na ACL do seu Banco de Dados do Azure para servidor MySQL, a sub-rede deve conter o nome do tipo Microsoft.Sql .

Uma regra de rede virtual informa ao seu Banco de Dados do Azure para o servidor MySQL aceitar comunicações de cada nó que está na sub-rede.

Benefícios de uma regra de rede virtual

Até que você tome uma ação, as VMs em suas sub-redes não podem se comunicar com seu Banco de Dados do Azure para o servidor MySQL. Uma ação que estabelece a comunicação é a criação de uma regra de rede virtual. A lógica para escolher a abordagem de regra de VNet requer uma discussão de comparação e contraste envolvendo as opções de segurança concorrentes oferecidas pelo firewall.

A. Permitir acesso aos serviços do Azure

O painel de segurança Conexão tem um botão ON/OFF rotulado Permitir acesso aos serviços do Azure. A configuração ON permite comunicações de todos os endereços IP do Azure e todas as sub-redes do Azure. Esses IPs ou sub-redes do Azure podem não ser de sua propriedade. Essa configuração ON provavelmente é mais aberta do que você deseja que seu Banco de Dados do Azure para Banco de Dados MySQL seja. O recurso de regra de rede virtual oferece um controle granular muito mais fino.

B. Regras de PI

O firewall do Banco de Dados do Azure para MySQL permite especificar intervalos de endereços IP a partir dos quais as comunicações são aceitas no Banco de Dados do Azure para Banco de Dados MySQL. Essa abordagem é adequada para endereços IP estáveis que estão fora da rede privada do Azure. Mas muitos nós dentro da rede privada do Azure são configurados com endereços IP dinâmicos . Os endereços IP dinâmicos podem mudar, como quando a VM é reiniciada. Seria loucura especificar um endereço IP dinâmico em uma regra de firewall, em um ambiente de produção.

Você pode salvar a opção IP obtendo um endereço IP estático para sua VM. Para obter detalhes, consulte Configurar endereços IP privados para uma máquina virtual usando o portal do Azure.

No entanto, a abordagem IP estática pode se tornar difícil de gerenciar e é cara quando feita em escala. As regras de rede virtual são mais fáceis de estabelecer e gerir.

Detalhes sobre regras de rede virtual

Esta seção descreve vários detalhes sobre regras de rede virtual.

Apenas uma região geográfica

Cada ponto de extremidade do serviço de Rede Virtual se aplica a apenas uma região do Azure. O ponto de extremidade não permite que outras regiões aceitem comunicações da sub-rede.

Qualquer regra de rede virtual é limitada à região à qual seu ponto de extremidade subjacente se aplica.

Nível de servidor, não nível de banco de dados

Cada regra de rede virtual se aplica a todo o seu Banco de Dados do Azure para servidor MySQL, não apenas a um banco de dados específico no servidor. Em outras palavras, a regra de rede virtual se aplica no nível do servidor, não no nível do banco de dados.

Funções de administração de segurança

Há uma separação de funções de segurança na administração de pontos de extremidade de serviço de Rede Virtual. É necessária ação de cada uma das seguintes funções:

  • Administração de rede: ative o ponto de extremidade.
  • Administrador de Banco de Dados: atualize a lista de controle de acesso (ACL) para adicionar a sub-rede fornecida ao Banco de Dados do Azure para o servidor MySQL.

Alternativa do RBAC do Azure:

As funções de administrador de rede e administrador de banco de dados têm mais recursos do que os necessários para gerenciar regras de rede virtual. Apenas é necessário um subconjunto das suas capacidades.

Você tem a opção de usar o controle de acesso baseado em função do Azure (Azure RBAC) no Azure para criar uma única função personalizada que tenha apenas o subconjunto necessário de recursos. A função personalizada pode ser usada em vez de envolver o administrador de rede ou o administrador de banco de dados. A área de superfície da sua exposição de segurança é menor se você adicionar um usuário a uma função personalizada, em comparação com a adição do usuário às outras duas funções principais de administrador.

Nota

Em alguns casos, o Banco de Dados do Azure para MySQL e a sub-rede VNet estão em assinaturas diferentes. Nesses casos, você deve garantir as seguintes configurações:

  • Ambas as assinaturas devem estar no mesmo locatário do Microsoft Entra.
  • O usuário tem as permissões necessárias para iniciar operações, como habilitar pontos de extremidade de serviço e adicionar uma sub-rede VNet ao servidor determinado.
  • Verifique se a assinatura tem o provedor de recursos Microsoft.Sql e Microsoft.DBforMySQL registrado. Para obter mais informações, consulte resource-manager-registration

Limitações

Para o Banco de Dados do Azure para MySQL, o recurso de regras de rede virtual tem as seguintes limitações:

  • Um aplicativo Web pode ser mapeado para um IP privado em uma rede virtual/sub-rede. Mesmo que os pontos de extremidade de serviço estejam ATIVADOS a partir de determinada VNet/sub-rede, as conexões do Aplicativo Web com o servidor terão uma fonte IP pública do Azure, não uma fonte de VNet/sub-rede. Para habilitar a conectividade de um Aplicativo Web com um servidor que tenha regras de firewall de rede virtual, você deve Permitir que os serviços do Azure acessem o servidor no servidor.

  • No firewall do Banco de Dados do Azure para MySQL, cada regra de rede virtual faz referência a uma sub-rede. Todas essas sub-redes referenciadas devem ser hospedadas na mesma região geográfica que hospeda o Banco de Dados do Azure para MySQL.

  • Cada Banco de Dados do Azure para servidor MySQL pode ter até 128 entradas de ACL para qualquer rede virtual.

  • As regras de rede virtual aplicam-se apenas às redes virtuais do Azure Resource Manager; e não para redes de modelo de implantação clássicas.

  • Ativar pontos de extremidade de serviço de rede virtual para o Banco de Dados do Azure para MySQL usando a marca de serviço Microsoft.Sql também habilita os pontos de extremidade para todos os serviços do Banco de Dados do Azure: Banco de Dados do Azure para MySQL, Banco de Dados do Azure para PostgreSQL, Banco de Dados SQL do Azure e Azure Synapse Analytics.

  • O suporte para pontos de extremidade de serviço VNet é apenas para servidores de uso geral e otimizados para memória.

  • Se o Microsoft.Sql estiver habilitado em uma sub-rede, isso indica que você deseja usar apenas regras de VNet para se conectar. As regras de firewall não-VNet de recursos nessa sub-rede não funcionarão.

  • No firewall, os intervalos de endereços IP se aplicam aos seguintes itens de rede, mas as regras de rede virtual não:

ExpressRoute

Se sua rede estiver conectada à rede do Azure por meio do uso da Rota Expressa, cada circuito será configurado com dois endereços IP públicos no Microsoft Edge. Os dois endereços IP são usados para se conectar aos Serviços da Microsoft, como ao Armazenamento do Azure, usando o Emparelhamento Público do Azure.

Para permitir a comunicação do seu circuito com o Banco de Dados do Azure para MySQL, você deve criar regras de rede IP para os endereços IP públicos de seus circuitos. Para localizar os endereços IP públicos do seu circuito de Rota Expressa, abra um tíquete de suporte com a Rota Expressa usando o portal do Azure.

Adicionando uma regra de Firewall VNET ao seu servidor sem ativar os Pontos de Extremidade do Serviço VNET

A mera configuração de uma regra de firewall de rede virtual não ajuda a proteger o servidor à rede virtual. Você também deve ativar os pontos de extremidade do serviço VNet para que a segurança entre em vigor. Quando você ativa os pontos de extremidade de serviço, sua sub-rede de rede virtual enfrenta tempo de inatividade até concluir a transição de Desativado para Ativado. Tal é especialmente verdade no contexto de grandes VNets. Você pode usar o sinalizador IgnoreMissingServiceEndpoint para reduzir ou eliminar o tempo de inatividade durante a transição.

Você pode definir o sinalizador IgnoreMissingServiceEndpoint usando a CLI ou o portal do Azure.

Próximos passos

Para artigos sobre como criar regras de rede virtual, consulte: