Criar e gerenciar o Link Privado para o Banco de Dados do Azure para MySQL - Servidor Flexível MySQL utilizando a CLI do Azure
Neste artigo, você aprenderá a usar a CLI do Azure para criar um ponto de extremidade privado para acessar um Servidor Flexível do Banco de Dados do Azure para MySQL a partir de uma VM em uma VNet.
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas deste artigo. Ele possui as ferramentas padrão do Azure pré-instaladas e configuradas para uso com sua conta.
Para abrir o Cloud Shell, selecione Experimentar no canto superior direito de um bloco de código. Você também pode abrir o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com/bash. Selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e selecione Enter para executá-lo.
Caso prefira instalar e usar a CLI localmente, este início rápido exigirá a CLI do Azure versão 2.0 ou posterior. Execute az --version
para encontrar a versão. Consulte Instalar a CLI do Azure se você precisar instalar ou atualizar.
Pré-requisitos
Você deve entrar na sua conta usando o comando az login. Observe a propriedade id, que se refere à ID da Assinatura para sua conta do Azure.
az login
Selecione a assinatura específica em sua conta usando o comando az account set. No comando, anote o valor da ID da saída az login para usá-la como valor do argumento assinatura. Se tiver várias assinaturas, escolha a que for adequada para cobrança do recurso. Use az account list para obter todas as suas assinaturas.
az account set --subscription <subscription id>
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 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
Registre o endereço IP público da VM, pois ele será necessário para a conexão com a Internet na próxima etapa.
Crie a instância de Servidor Flexível do Banco de Dados do Azure para MySQL com acesso público no grupo de recursos
Crie uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL com acesso público e adicionar o endereço IP do cliente para acessá-lo.
az mysql flexible-server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--public-access <my_client_ip>
Observação
Em alguns casos, a instância do Servidor Flexível do 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:
- Certifique-se de que ambas as assinaturas tenham o provedor de recursos Microsoft.DBforMySQL/flexibleServer 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 Flexível do Banco de Dados do Azure para MySQL na 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/flexibleServers" --query "id" -o tsv) \
--group-id mysqlServer \
--connection-name myConnection \
--location location
Configurar a Zona DNS Privada
Crie uma Zona DNS Privada para o domínio de Servidor Flexível do Banco de Dados do Azure para 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 MySQL flexible server 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 do DNS do cliente não resolve o IP privado configurado. Você deve configurar uma zona DNS para o FQDN configurado como mostradoaqui.
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 opções Usar uma conta diferente para especificar as credenciais inseridas durante a criação da VM.
Selecione OK.
Você pode receber um aviso de certificado durante o processo de entrada. Selecione Sim ou Continuar se você receber um aviso de certificado.
Quando a área de trabalho da VM for exibida, minimize-a para retornar à sua área de trabalho local.
Acesse a instância do Banco de Dados do Azure para MySQL servidor flexível de forma privada a partir da 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 privado para a instância do Servidor Flexível do Banco de Dados do Azure para MySQL usando qualquer cliente disponível. O exemplo a seguir usa o MySQL Workbench para fazer 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, fornecido durante a criação da instância do Servidor Flexível do Banco de Dados do Azure para MySQL. Senha Insira uma senha fornecida durante a criação da instância do Servidor Flexível do Banco de Dados do Azure para MySQL. Selecione Conectar.
Procurar bancos de dados no menu à esquerda.
(Opcionalmente) Crie ou consulte informações do banco de dados de Servidor Flexível do Banco de Dados do Azure para MySQL.
Feche a conexão da área de trabalho remota para myVm.
Limpar os 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
Comandos da CLI de Link Privado adicionais
Lista de sub-recursos privados vinculáveis (groupIds)
az network private-link-resource list --id {PrivateLinkResourceID} // or -g MyResourceGroup -n MySA --type Microsoft.Storage/storageAccounts
Listar as conexões de pontos de extremidade privados em um determinado recurso
az network private-endpoint-connection list --id {PrivateLinkResourceID}
Aprovar as conexões do ponto de extremidade privado em um determinado recurso
az network private-endpoint-connection approve --id {PrivateEndpointConnectionID} --description "Approved!"
Rejeitar as conexões do ponto de extremidade privado em um determinado recurso
az network private-endpoint-connection reject --id {PrivateEndpointConnectionID} --description "Rejected!"
Excluir as conexões do ponto de extremidade privado em um determinado recurso
az network private-endpoint-connection delete --id {PrivateEndpointConnectionID}
Conteúdo relacionado
- Criar e gerenciar o Link Privado para o Banco de Dados do Azure para MySQL – Servidor Flexível usando o portal
- gerenciar a conectividade
- Criptografia de dados com chaves gerenciadas pelo cliente para o Banco de Dados do Azure para MySQL – Servidor Flexível
- Autenticação do Microsoft Entra para o Banco de Dados do Azure para MySQL – Servidor Flexível