Conceitos de conectividade e rede 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 apresenta os conceitos para controlar a conectividade com sua instância de servidor flexível do Banco de Dados do Azure para MySQL. Você aprende em detalhes os conceitos de rede para o Banco de Dados do Azure para servidor flexível MySQL para criar e acessar um servidor com segurança no Azure.

O servidor flexível do Banco de Dados do Azure para MySQL dá suporte a três maneiras de configurar a conectividade com seus servidores:

Nota

Depois de implantar um servidor com acesso público ou privado (via integração VNet), não é possível modificar o modo de conectividade. Mas no modo de acesso público, você pode habilitar ou desabilitar pontos de extremidade privados conforme necessário e também desabilitar o acesso público, se necessário.

Escolha uma opção de rede

Escolha Acesso público (endereços IP permitidos) e Método de ponto de extremidade privado se desejar os seguintes recursos:

  • Conectar-se a partir de recursos do Azure sem suporte de rede virtual
  • Conecte-se a partir de recursos fora do Azure que não estão conectados por VPN ou Rota Expressa
  • O servidor flexível é acessível através de um ponto final público e pode ser acessado através de recursos autorizados da Internet. O acesso público pode ser desativado, se necessário.
  • Capacidade de configurar pontos de extremidade privados para acessar o servidor a partir de hosts em uma rede virtual (VNet)

Escolha Acesso privado (integração VNet) se desejar os seguintes recursos:

  • Conecte-se ao seu servidor flexível a partir de recursos do Azure dentro da mesma rede virtual ou de uma rede virtual emparelhada sem a necessidade de configurar um ponto de extremidade privado
  • Utilizar a VPN ou ExpressRoute para ligar a partir de recursos sem ser do Azure ao seu servidor flexível
  • Nenhum ponto final público

As seguintes características se aplicam se você optar por usar a opção de acesso privado ou público:

  • As conexões de endereços IP permitidos precisam se autenticar na instância flexível do servidor do Banco de Dados do Azure para MySQL com credenciais válidas
  • A encriptação de ligação está disponível para o seu tráfego de rede
  • O servidor tem um nome de domínio totalmente qualificado (fqdn). Recomendamos usar o fqdn em vez de um endereço IP para a propriedade hostname em cadeias de conexão.
  • Ambas as opções controlam o acesso no nível do servidor, não no nível do banco de dados ou da tabela. Você usaria as propriedades de funções do MySQL para controlar o acesso a banco de dados, tabela e outros objetos.

Cenários de rede virtual não suportados

  • Ponto final público (ou IP público ou DNS): um servidor flexível implementado numa rede virtual não pode ter um ponto final público.
  • Depois de o servidor flexível ser implementado numa rede virtual e numa sub-rede, não será possível movê-lo para outra rede virtual ou sub-rede.
  • Depois que o servidor flexível é implantado, você não pode mover a rede virtual que o servidor flexível usa para outro grupo de recursos ou assinatura.
  • O tamanho da sub-rede (espaços de endereços) não pode ser aumentado a partir do momento que os recursos passam a existir na mesma.
  • A alteração do acesso Público para Privado não é permitida após a criação do servidor. A maneira recomendada é usar a restauração point-in-time.

Nota

Se você estiver usando o servidor DNS personalizado, deverá usar um encaminhador DNS para resolver o FQDN do Banco de Dados do Azure para a instância flexível do servidor MySQL. Consulte a resolução de nomes que usa seu servidor DNS para saber mais.

Hostname (Nome do anfitrião)

Independentemente da sua opção de rede, 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 à sua instância de servidor flexível do Banco de Dados do Azure para MySQL. Não é garantido que o endereço IP do servidor permaneça estático. Usar o FQDN ajudará você a evitar fazer alterações na cadeia de conexão.

Um exemplo que usa um FQDN como um nome de host é hostname = servername.mysql.database.azure.com. Sempre que possível, evite usar hostname = 10.0.0.4 (um endereço privado) ou hostname = 40.2.45.67 (um endereço público).

TLS e SSL

O servidor flexível do Banco de Dados do Azure para MySQL dá suporte à conexão de seus aplicativos cliente à instância flexível do servidor do Banco de Dados do Azure para MySQL usando SSL (Secure Sockets Layer) com criptografia TLS (Transport layer security). O TLS é um protocolo padrão da indústria que garante ligações de rede encriptadas entre o seu servidor de bases de dados e as aplicações cliente, o que lhe permite cumprir os requisitos de conformidade.

O servidor flexível do Banco de Dados do Azure para MySQL dá suporte a conexões criptografadas usando TLS 1.2 (Transport Layer Security) por padrão, e todas as conexões de entrada com TLS 1.0 e TLS 1.1 são negadas por padrão. A imposição de conexão criptografada ou a configuração da versão TLS em seu servidor flexível pode ser configurada e alterada.

A seguir estão as diferentes configurações de SSL e TLS que você pode ter para o seu servidor flexível:

Cenário Configurações de parâmetros do servidor Description
Desativar SSL (conexões criptografadas) require_secure_transport = DESLIGADO Se seu aplicativo herdado não oferecer suporte a conexões criptografadas com o Banco de Dados do Azure para instância de servidor flexível MySQL, você poderá desabilitar a imposição de conexões criptografadas com seu servidor flexível definindo require_secure_transport=OFF.
Impor SSL com TLS versão < 1.2 require_secure_transport = ON e tls_version = TLS 1.0 ou TLS 1.1 Se seu aplicativo herdado oferecer suporte a conexões criptografadas, mas exigir TLS versão 1.2, você poderá habilitar conexões criptografadas, mas configurar seu servidor flexível para permitir conexões com a versão < TLS (v1.0 ou v1.1) suportada pelo seu aplicativo
Impor SSL com TLS versão = 1.2 (configuração padrão) require_secure_transport = ON e tls_version = TLS 1.2 Esta é a configuração recomendada e padrão para um servidor flexível.
Impor SSL com TLS versão = 1.3 (Suportado com MySQL v8.0 e superior) require_secure_transport = ON e tls_version = TLS 1.3 Isso é útil e recomendado para o desenvolvimento de novas aplicações

Nota

Não há suporte para alterações na codificação SSL no servidor flexível. Os pacotes de codificação FIPS são impostos por padrão quando tls_version é definido como TLS versão 1.2. Para versões TLS diferentes da versão 1.2, SSL Cipher é definido para as configurações padrão que vem com a instalação da comunidade MySQL.

Veja como se conectar usando SSL/TLS para saber mais.

Próximos passos