Criar e gerenciar um Link Privado para o Banco de Dados do Azure para MySQL usando a CLI
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 da desativação. É altamente recomendável que você atualize para o servidor flexível do Banco de Dados do Azure para MySQL. Para obter mais informações sobre a migração para o servidor flexível do Banco de Dados do Azure para MySQL, confira O que está acontecendo com o Servidor Único do Banco de Dados do Azure para MySQL?
Um ponto de extremidade privado é o bloco de construção fundamental para o link privado no Azure. Ele permite que os recursos do Azure, como VMs (máquinas virtuais), se comuniquem de forma privada com recursos de link privado. Neste artigo, você aprenderá a usar a CLI do Azure para criar uma VM em uma Rede Virtual do Azure e um servidor do Banco de Dados do Azure para MySQL com um ponto de extremidade privado do Azure.
Observação
O recurso de link privado está disponível apenas para servidores do Bancos de Dados do Azure para MySQL nas camadas de preços de Uso Geral ou Otimizado para Memória. Assegure-se de que o servidor de banco de dados esteja em um desses níveis de preços.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
- Este artigo exige a versão 2.0.28 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.
Criar um grupo de recursos
Antes de criar qualquer recurso, você deve criar um grupo de recursos para hospedar a Rede Virtual. Crie um grupo de recursos com az group create. Este exemplo cria um grupo de recursos chamado myResourceGroup no local westeurope:
az group create --name myResourceGroup --location westeurope
Criar uma rede virtual
Crie uma Rede Virtual com az network vnet create. O exemplo cria uma Rede Virtual padrão nomeada myVirtualNetwork com uma sub-rede nomeada mySubnet:
az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--subnet-name mySubnet
Desabilitar políticas de ponto de extremidade privado de sub-rede
O Azure implanta recursos em uma sub-rede dentro de uma rede virtual. Portanto, você precisa criar ou atualizar a sub-rede para desativar as políticas de rede de ponto de extremidade privado. Atualize uma configuração de sub-rede denominada mySubnet com az network vnet subnet update:
az network vnet subnet update \
--name mySubnet \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--disable-private-endpoint-network-policies true
Criar a VM
Crie uma VM com o comando az vm create. Quando solicitado, forneça uma senha a ser usada como credencial de entrada para a VM. Este exemplo cria uma VM chamada myVm:
az vm create \
--resource-group myResourceGroup \
--name myVm \
--image Win2019Datacenter
Observação
O endereço IP público da VM. Você usa esse endereço para conectar-se à VM pela Internet na próxima etapa.
Criar um Banco de Dados do Azure para o servidor MySQL
Criação de um banco de dados do Azure para MySQL com o comando: az mysql server create. Lembre-se de que o nome do seu servidor MySQL deve ser exclusivo no Azure. Substitua o valor do espaço reservado entre colchetes pelo seu valor exclusivo:
# Create a server in the resource group
az mysql server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2
Observação
Em alguns casos, o Banco de Dados do Azure para MySQL e a sub-rede da VNet estão em assinaturas diferentes. Nesses casos, você deve garantir as seguintes configurações:
- Verifique se as duas assinaturas têm o provedor de recursos Microsoft.DBforMySQL registrado. Para obter mais informações, confira resource-manager-registration
Criar um Ponto de Extremidade Privado
Crie um ponto de extremidade privado para o servidor MySQL em sua Rede Virtual:
az network private-endpoint create \
--name myPrivateEndpoint \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--subnet mySubnet \
--private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforMySQL/servers" --query "id" -o tsv) \
--group-id mysqlServer \
--connection-name myConnection
Configurar a Zona DNS Privada
Crie uma Zona DNS Privada para o domínio do servidor MySQL e crie um link de associação com a Rede Virtual.
az network private-dns zone create --resource-group myResourceGroup \
--name "privatelink.mysql.database.azure.com"
az network private-dns link vnet create --resource-group myResourceGroup \
--zone-name "privatelink.mysql.database.azure.com"\
--name MyDNSLink \
--virtual-network myVirtualNetwork \
--registration-enabled false
# Query for the network interface ID
$networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)
az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json
# Copy the content for privateIPAddress and FQDN matching the Azure database for MySQL name
# Create DNS records
az network private-dns record-set a create --name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup
az network private-dns record-set a add-record --record-set-name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup -a <Private IP Address>
Observação
O FQDN na configuração de DNS do cliente não é resolvido para o IP privado configurado. Você precisará configurar uma zona DNS para o FQDN configurado, conforme mostrado aqui.
Conecte uma VM a partir da Internet
Conecte-se à VM myVm da Internet da seguinte forma:
Na barra de pesquisa do portal, insira myVm.
Selecione o botão Conectar. Depois de selecionar o botão Conectar, Conectar-se à máquina virtual abre.
Selecione Baixar Arquivo RDP. O Azure cria um arquivo .rdp (protocolo RDP) e ele é baixado no computador.
Abra o arquivo downloaded.rdp.
Se solicitado, selecione Conectar.
Insira o nome de usuário e a senha que você especificou ao criar a VM.
Observação
Talvez seja necessário selecionar Mais escolhas>Usar uma conta diferente para especificar as credenciais inseridas durante a criação da VM.
Selecione OK.
Você pode receber um aviso do certificado durante o processo de logon. Se você receber um aviso de certificado, selecione Sim ou Continuar.
Depois que a área de trabalho da VM for exibida, minimize-a para voltar para sua área de trabalho local.
Acessar o servidor MySQL de maneira privada pela VM
Na Área de Trabalho Remota do myVM, abra o PowerShell.
Digite
nslookup mydemomysqlserver.privatelink.mysql.database.azure.com
.Você receberá uma mensagem semelhante a esta:
Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: mydemomysqlserver.privatelink.mysql.database.azure.com Address: 10.1.3.4
Teste a conexão de link particular para o servidor MySQL usando qualquer cliente disponível. No exemplo abaixo, o MySQL Workbench foi usado para realizar a operação.
Em Nova conexão, insira ou selecione estas informações:
Configuração Valor Nome da Conexão Selecione o nome de conexão de sua escolha. Nome do host Selecione mydemoserver.privatelink.mysql.database.azure.com Nome de Usuário Insira o nome de usuário como username@servername que é fornecido durante a criação do servidor MySQL. Senha Insira uma senha fornecida durante a criação do servidor MySQL. Selecione Conectar.
Procurar bancos de dados no menu à esquerda.
(Opcional) Crie ou consulte informações no banco de dados MySQL.
Feche a conexão da área de trabalho remota para o myVM.
Limpar recursos
Quando não for mais necessário, você poderá usar o comando az group delete para remover o grupo de recursos e todos os recursos que ele contém:
az group delete --name myResourceGroup --yes
Próximas etapas
- Saiba mais sobre O que é o ponto de extremidade privado do Azure