Acesso à Rede Privada usando a integração de rede virtual para o Banco de Dados do Azure para MySQL - Servidor Flexível

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)

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

A integração de rede virtual para uma instância de servidor flexível do Banco de Dados do Azure para MySQL permite que você bloqueie o acesso ao servidor somente para sua infraestrutura de rede virtual. Sua rede virtual pode incluir todos os seus recursos de aplicativo e banco de dados em uma única rede virtual ou pode se estender por diferentes Redes Virtuais na mesma região ou em uma 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 de:

  • Redes virtuais na mesma região do Azure (redes virtuais emparelhadas localmente)
  • Redes virtuais entre 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. O 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 perfeitamente.

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 pela 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 exigem 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 Banco de Dados do Azure para a instância de servidor flexível do 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 às 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

Flexible server MySQL VNET

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 diferentes sub-redes na mesma rede virtual podem acessar o Banco de Dados do Azure para instâncias de servidor flexível do MySQL diretamente.
  3. Os aplicativos implantados em uma rede virtual diferente VNet-2 não têm acesso direto ao Banco de Dados do Azure para instâncias de servidor flexíveis do MySQL. Antes que eles possam acessar uma instância, você deve executar um emparelhamento de rede virtual de zona DNS privada.

Conceitos de rede virtual

Aqui estão alguns conceitos com os quais você deve se familiarizar ao usar Redes Virtuais com o Banco de Dados do Azure para instâncias de servidor flexíveis do 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 de 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 na rede virtual atual ou em qualquer rede virtual emparelhada na região em que 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 perfeitamente. 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 de servidor flexível do Banco de Dados do Azure para MySQL em redes virtuais emparelhadas é roteado somente 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 instâncias de servidor flexíveis do Banco de Dados do Azure para MySQL com uma rede virtual, uma nova zona DNS privada terminada com mysql.database.azure.com será provisionada automaticamente por servidor em 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.

Conectar-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 a Rota Expressa ou 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.

Próximas etapas

  • Saiba como habilitar o acesso privado (integração de rede virtual) usando o portal do Azure ou a CLI do Azure.
  • Saiba como usar o TLS.