Compartilhar via


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:

  1. Na barra de pesquisa do portal, insira myVm.

  2. Selecione o botão Conectar. Depois de selecionar o botão Conectar, Conectar-se à máquina virtual abre.

  3. Selecione Baixar Arquivo RDP. O Azure cria um arquivo .rdp (protocolo RDP) e ele é baixado no computador.

  4. Abra o arquivo downloaded.rdp.

    1. 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.

  1. Selecione OK.

  2. Você pode receber um aviso de certificado durante o processo de entrada. Selecione Sim ou Continuar se você receber um aviso de certificado.

  3. 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

  1. Na Área de Trabalho Remota do myVM, abra o PowerShell.

  2. 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
    
  3. 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.

  4. 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.
  5. Selecione Conectar.

  6. Procurar bancos de dados no menu à esquerda.

  7. (Opcionalmente) Crie ou consulte informações do banco de dados de Servidor Flexível do Banco de Dados do Azure para MySQL.

  8. 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

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}