Private Network Access using virtual network integration for Azure Database for MySQL - Flexible Server

APLICA-SE A: Banco de Dados do Azure para MySQL – Servidor flexível

Este artigo descreve a opção de conectividade privada para o Servidor Flexível do Banco de Dados do Azure para MySQL. Você aprenderá detalhadamente os conceitos de rede virtual para o Servidor Flexível do Banco de Dados do Azure para MySQL para criar um servidor com segurança no Azure.

Acesso privado (Integração de rede virtual)

A Rede Virtual do Azure) é o elemento fundamental da sua rede privada no Azure. A integração da rede virtual com o Servidor Flexível do Banco de Dados do Azure para MySQL traz os benefícios de segurança e isolamento da rede do Azure.

A integração da rede virtual para uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL permite bloquear o acesso ao servidor apenas para sua infraestrutura de rede virtual. A sua rede virtual pode incluir todos os seus recursos de aplicativo e banco de dados numa única rede virtual ou pode estender-se por diferentes Redes Virtuais na mesma região ou numa região diferente. A conectividade perfeita entre várias redes virtuais pode ser estabelecida pelo emparelhamento, que usa a infraestrutura de backbone privado de baixa latência e alta largura de banda da Microsoft. As redes virtuais aparecerão como uma só para fins de conectividade.

O Servidor Flexível do Banco de Dados do Azure para MySQL dá suporte à conectividade do cliente a partir de:

  • Redes virtuais na mesma região do Azure (redes virtuais emparelhadas localmente)
  • Redes virtuais em regiões do Azure (redes virtuais emparelhadas globais)

As sub-redes permitem que você segmente a rede virtual em uma ou mais sub-redes e aloque uma parte do espaço de endereço da rede virtual no qual você poderá implantar os recursos do Azure. Servidor Flexível do Banco de Dados do Azure para MySQL requer uma sub-rede delegada. Uma sub-rede delegada é um identificador explícito de que uma sub-rede pode hospedar apenas instâncias de Servidor Flexível do Banco de Dados do Azure para MySQL. Ao delegar a sub-rede, o serviço obtém permissões diretas para criar recursos específicos do serviço para gerenciar sua instância de Servidor Flexível do Banco de Dados do Azure para MySQL de forma integrada.

Observação

O menor intervalo CIDR que você pode especificar para a sub-rede hospedar o Servidor Flexível do Banco de Dados do Azure para MySQL é /29, que fornece oito endereços IP. No entanto, o primeiro e o último endereço em qualquer rede ou sub-rede não podem ser atribuídos a nenhum host individual. O Azure reserva cinco endereços IP para uso interno da rede do Azure, incluindo os dois endereços IP que não podem ser atribuídos a um host. Isso deixa três endereços IP disponíveis para um intervalo CIDR /29. Para o Servidor Flexível do Banco de Dados do Azure para MySQL, é necessário alocar um endereço IP por nó da sub-rede delegada quando o acesso privado estiver habilitado. Os servidores habilitados para HA requerem dois endereços IP e um servidor não HA requer um endereço IP. É recomendável reservar pelo menos dois endereços IP por instância de Servidor Flexível do Banco de Dados do Azure para MySQL, pois as opções de alta disponibilidade podem ser habilitadas posteriormente. O Servidor Flexível do Banco de Dados do Azure para MySQL se integra a zonas DNS privadas do Azure para fornecer um serviço DNS confiável e seguro para gerenciar e resolver nomes de domínio em uma rede virtual sem a necessidade de adicionar uma solução DNS personalizada. Uma zona de DNS privado pode ser vinculada a uma ou mais redes virtuais pela criação de links de rede virtual

Captura de tela da VNET MySQL do servidor flexível.

No diagrama acima,

  1. As instâncias de Servidor Flexível do Banco de Dados do Azure para MySQL são injetadas em uma sub-rede delegada – 10.0.1.0/24 da rede virtual VNet-1.
  2. Os aplicativos implantados em sub-redes diferentes na mesma rede virtual podem acessar diretamente as instâncias do Servidor Flexível do Banco de Dados do Azure para MySQL.
  3. Os aplicativos implantados em uma rede virtual diferente VNet-2 não têm acesso direto a instâncias do Servidor Flexível do Banco de Dados do Azure para MySQL. Antes que eles possam acessar uma instância, você deve realizar um emparelhamento de rede virtual de zona DNS privada.

Conceitos de rede virtual

Aqui estão alguns conceitos que você deve estar familiarizado ao usar as redes virtuais com instâncias de Servidor Flexível do Banco de Dados do Azure para MySQL.

  • Rede virtual -

    Uma Rede Virtual do Azure contém um espaço de endereço IP privado configurado para seu uso. Visite a Visão geral da Rede Virtual do Azure para saber mais sobre redes virtuais do Azure.

    Sua rede virtual deve estar na mesma região do Azure que sua instância de Servidor Flexível do Banco de Dados do Azure para MySQL.

  • Sub-rede delegada -

    Uma rede virtual contém sub-redes. As sub-redes permitem segmentar a rede virtual em espaços de endereço menores. Os recursos do Azure são implantados em sub-redes específicas dentro de uma rede virtual.

    Sua instância de Servidor Flexível do Banco de Dados do Azure para MySQL deve estar em uma sub-rede delegada apenas para uso de Servidor Flexível do Banco de Dados do Azure para MySQL. Essa delegação significa que apenas as instâncias do Servidor Flexível do Banco de Dados do Azure para MySQL podem usar essa sub-rede. Nenhum outro tipo de recurso do Azure pode estar na sub-rede delegada. Você delega uma sub-rede atribuindo sua propriedade de delegação como Microsoft.DBforMySQL/flexibleServers.

  • NSGs (grupos de segurança de rede)

    As regras de segurança em grupos de segurança de rede permitem filtrar o tipo de tráfego de rede que pode fluir para dentro e fora das sub-redes da rede virtual e dos adaptadores de rede. Examine visão geral do grupo de segurança de rede para mais informações.

  • Integração de zona de DNS privado

    A integração da zona DNS privada do Azure permite que você resolva o DNS privado dentro da rede virtual atual ou de qualquer rede virtual emparelhada na região onde a zona DNS privada esteja vinculada.

  • Emparelhamento de rede virtual

    Um emparelhamento de rede virtual permite que você conecte duas ou mais redes virtuais no Azure sem interrupção. As redes virtuais emparelhadas aparecerão como uma para fins de conectividade. O tráfego entre máquinas virtuais em uma rede virtual emparelhada usa infraestrutura de backbone da Microsoft. O tráfego entre o aplicativo cliente e a instância do Servidor Flexível do Banco de Dados do Azure para MySQL em redes virtuais emparelhadas é roteado apenas pela rede privada da Microsoft e é isolado para essa rede.

Usar uma zona DNS privada

  • Se você usar o portal do Azure ou a CLI do Azure para criar as instâncias de Servidor Flexível do Banco de Dados do Azure para MySQL com uma rede virtual, uma nova zona DNS privada que termina com mysql.database.azure.com é provisionada automaticamente por servidor na sua assinatura usando o nome do servidor fornecido. Como alternativa, se você quiser configurar sua própria zona DNS privada com a instância de Servidor Flexível do Banco de Dados do Azure para MySQL, confira a documentação de visão geral do DNS privado.

  • Se você usar a API do Azure, um modelo do Azure Resource Manager (modelo do ARM) ou o Terraform, crie zonas DNS privadas que terminam com mysql.database.azure.com e as use ao configurar instâncias de Servidor Flexível do Banco de Dados do Azure para MySQL com acesso privado. Para saber mais, confira a Visão geral da zona DNS privada.

    Importante

    Os nomes de zona DNS privado devem terminar com mysql.database.azure.com. Se você estiver se conectando a uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL com SSL e estiver usando uma opção para executar a verificação completa (sslmode=VERIFY_IDENTITY) com o nome da entidade do certificado, use <servername>.mysql.database.azure.com na cadeia de conexão.

Saiba como criar uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL com acesso privado (integração de rede virtual) no portal do Azure ou na CLI do Azure.

Integração com um servidor DNS personalizado

Se você estiver usando o servidor DNS personalizado, deverá usar um encaminhador DNS para resolver o FQDN da instância de Servidor Flexível do Banco de Dados do Azure para MySQL. O endereço IP do encaminhador deve ser 168.63.129.16. O servidor DNS personalizado deve estar dentro da rede virtual ou acessível por meio da configuração do Servidor DNS da rede virtual. Veja a resolução de nomes que usa seu servidor DNS para saber mais.

Importante

Para o provisionamento bem-sucedido da instância de Servidor Flexível do Banco de Dados do Azure para MySQL, mesmo que você esteja usando um servidor DNS personalizado, você não deverá bloquear o tráfego DNS para o AzurePlatformDNS usando NSG.

Zonas DNS privadas e emparelhamento de rede virtual

As configurações de zona DNS privada e o emparelhamento de redes virtuais são independentes um do outro. Para obter mais informações sobre como criar e usar zonas de DNS privado, confira a seção Usar uma zona de DNS privado.

Se você quiser se conectar à instância de Servidor Flexível do Banco de Dados do Azure para MySQL de um cliente provisionado em outra rede virtual da mesma região ou de uma região diferente, será necessário vincular a zona DNS privada à rede virtual. Confira como vincular a documentação da rede virtual.

Observação

Apenas nomes de zonas DNS privadas que terminam com mysql.database.azure.com podem ser vinculados.

Conecte-se de um servidor local a uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL em uma rede virtual usando o ExpressRoute ou a VPN

Para cargas de trabalho que exigem acesso a uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL em uma rede virtual de uma rede local, você precisa de um ExpressRoute ou VPN e uma rede virtual conectada ao local. Com essa configuração em vigor, você precisará de um encaminhador DNS para resolver o nome do Servidor Flexível do Banco de Dados do Azure para MySQL se quiser se conectar de aplicativos cliente (como o MySQL Workbench) em execução em redes virtuais locais. Este encaminhador DNS é responsável por resolver todas as consultas DNS por meio de um encaminhador de nível de servidor para o serviço DNS 168.63.129.16 fornecido pelo Azure.

Para configurá-lo corretamente, você precisará dos seguintes recursos:

  • Uma rede local.
  • Uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL provisionada com acesso privado (integração de rede virtual).
  • Uma rede virtual conectada ao local.
  • Um encaminhador DNS 168.63.129.16 implantado no Azure.

Em seguida, você pode usar o nome de Servidor Flexível (FQDN) do Banco de Dados do Azure para MySQL para se conectar do aplicativo cliente na rede virtual emparelhada ou da rede local à instância de Servidor Flexível do Banco de Dados do Azure para MySQL.

Observação

Recomendamos que você use o nome de domínio totalmente qualificado (FQDN) <servername>.mysql.database.azure.com em cadeias de conexão ao se conectar à instância de Servidor Flexível do Banco de Dados do Azure para MySQL. Não há garantia de que o endereço IP do servidor permanecerá estático. Usar o FQDN ajudará você a evitar fazer alterações na cadeia de conexão.

Cenários de rede virtual sem suporte

  • Ponto de extremidade público (IP público ou DNS) – uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL implantada em uma rede virtual não pode ter um ponto de extremidade público.
  • Depois que a instância de Servidor Flexível do Banco de Dados do Azure para MySQL for implantada em uma rede virtual e sub-rede, você não poderá movê-la para outra rede virtual ou sub-rede. Não é possível mover a rede virtual para outro grupo de recursos ou assinatura.
  • A configuração de integração de DNS privado não pode ser alterada após a implantação.
  • Não é possível aumentar o tamanho da sub-rede (espaços de endereços) depois que já houver recursos na sub-rede.

O Banco de Dados do Azure para MySQL com Servidor Flexível pode ser transferido do acesso privado (rede virtual integrada) para o acesso público, com a opção de usar o Link Privado. Essa funcionalidade permite que os servidores alternem da rede virtual integrada para a infraestrutura de Link Privado/Público de maneira transparente, sem a necessidade de alterar o nome do servidor ou migrar dados, simplificando o processo para os clientes.

Observação

Uma vez que a transição é feita, ela não poderá ser revertida. A transição envolve um tempo de inatividade de aproximadamente 5 a 10 minutos para servidores não HA e cerca de 20 minutos para servidores habilitados para HA.

O processo é realizado no modo offline e consiste em duas etapas:

  1. Desconectar o servidor da infraestrutura de rede virtual.
  2. Estabelecer um Link Privado ou habilitar o acesso público.