Share via


Criar e gerenciar Link Privado para o Banco de Dados do Azure para MySQL - Servidor Flexível usando a CLI do Azure

APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor Flexível

Neste artigo, você aprenderá a usar a CLI do Azure para criar um ponto de extremidade privado para acessar o Banco de Dados do Azure para servidor flexível MySQL a partir de uma VM em uma VNet.

Iniciar o Azure Cloud Shell

O Azure Cloud Shell é um shell interativo gratuito que você pode usar para executar as etapas neste artigo. Ele tem ferramentas padrão do Azure pré-instaladas e configuradas para uso com sua conta.

Para abrir o Cloud Shell, selecione Experimente no canto superior direito de um bloco de código. Você também pode abrir o Cloud Shell em uma guia separada do navegador acessando .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.

Se você preferir instalar e usar a CLI localmente, este início rápido requer a CLI do Azure versão 2.0 ou posterior. Executar az --version para localizar a versão. Consulte Instalar a CLI do Azure se precisar instalar ou atualizar.

Pré-requisitos

Você deve fazer login na sua conta usando o comando az login . Observe a propriedade id, que se refere à ID da Assinatura da 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 id da saída az login a ser usado como o valor para o argumento de assinatura . Se tiver várias subscrições, escolha a subscrição adequada na qual o recurso deve ser cobrado. Use a lista de contas az 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. Este exemplo cria uma Rede Virtual padrão chamada myVirtualNetwork com uma sub-rede chamada mySubnet:

az network vnet create \
 --name myVirtualNetwork \
 --resource-group myResourceGroup \
 --subnet-name mySubnet

Desativar 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 desabilitar as políticas de rede de ponto de extremidade privado. Atualize uma configuração de sub-rede chamada 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 createo . Quando solicitado, forneça uma senha a ser usada como as credenciais de entrada para a VM. Este exemplo cria uma VM chamada myVm:

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Win2019Datacenter

Nota

Registre o endereço IP público da VM conforme ele for necessário para se conectar da Internet na próxima etapa.

Criar 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 adicione 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>

Nota

Em alguns casos, a instância de 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:

  • Verifique se ambas as assinaturas têm o provedor de recursos Microsoft.DBforMySQL/flexibleServer registrado. Para obter mais informações, consulte resource-manager-registration.

Criar o ponto de extremidade privado

Crie um ponto de extremidade privado para o Banco de Dados do Azure para servidor flexível 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/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 Banco de Dados do Azure para domínio de servidor flexível 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>

Nota

O FQDN na configuração DNS do cliente não resolve o IP privado configurado. Você deve configurar uma zona DNS para o FQDN configurado, conforme mostradoaqui.

Ligar a uma VM a partir da Internet

Ligue-se à VM myVm a partir da Internet da seguinte forma:

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

  2. Selecione o botão Ligar. Depois de selecionar o botão Conectar, Conectar à máquina virtual é aberto.

  3. Selecione Transferir Ficheiro RDP. O Azure cria um ficheiro de Protocolo de Ambiente de Trabalho Remoto (.rdp) e transfere-o para o seu computador.

  4. Abra o arquivo downloaded.rdp .

    1. Se lhe for pedido, selecione Ligar.

. Digite o nome de usuário e a senha que você especificou ao criar a VM. > [! NOTA] > Talvez seja necessário selecionar Mais opçõesUsar uma conta diferente, para especificar as credenciais inseridas quando você criou a VM.

  1. Selecione OK.

  2. Poderá receber um aviso de certificado durante o processo de início de sessão. Selecione Sim ou Continuar se receber um aviso de certificado.

  3. Quando a área de trabalho da VM aparecer, minimize-a para retornar à área de trabalho local.

Acessar a instância de servidor flexível do Banco de Dados do Azure para MySQL de forma privada a partir da VM

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

  2. Introduzir 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 o Banco de Dados do Azure para instância de servidor flexível do 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:

    Definição valor
    Nome da Ligação Selecione o nome da conexão de sua escolha.
    Hostname (Nome do anfitrião) Selecione mydemoserver.privatelink.mysql.database.azure.com
    Username Insira o nome de usuário conforme username@servername fornecido durante o Banco de Dados do Azure para a criação de instância de servidor flexível do MySQL.
    Palavra-passe Insira uma senha fornecida durante o Banco de Dados do Azure para a criação de instância de servidor flexível do MySQL.
  5. Selecione Ligar.

  6. Procure bases de dados a partir do menu à esquerda.

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

  8. Feche a ligação ao ambiente de trabalho remoto para myVm.

Clean up resources (Limpar recursos)

Quando não for mais necessário, você poderá usar az group delete para remover o grupo de recursos e todos os recursos que ele possui:

az group delete --name myResourceGroup --yes

Listar sub-recursos vinculáveis privados (groupIds)

az network private-link-resource list --id {PrivateLinkResourceID}  // or -g MyResourceGroup -n MySA --type Microsoft.Storage/storageAccounts

Listar conexões de ponto de extremidade privado em um determinado recurso

az network private-endpoint-connection list --id {PrivateLinkResourceID}

Aprovar conexões de ponto de extremidade privado em um determinado recurso

az network private-endpoint-connection approve --id {PrivateEndpointConnectionID}  --description "Approved!"

Rejeitar conexões de ponto de extremidade privadas em um determinado recurso

az network private-endpoint-connection reject --id {PrivateEndpointConnectionID}  --description "Rejected!"

Excluir conexões de ponto de extremidade privado em um determinado recurso

az network private-endpoint-connection delete --id {PrivateEndpointConnectionID}

Próximos passos

  • Saiba como [configurar link privado para o Banco de Dados do Azure para servidor flexível MySQL no portal do Azure.
  • Saiba como gerenciar a conectividade com o Banco de Dados do Azure para servidor flexível MySQL.
  • Saiba como adicionar outra camada de criptografia ao Banco de Dados do Azure para servidor flexível MySQL usando Chaves Gerenciadas pelo Cliente.
  • Saiba como configurar e usar a autenticação do Microsoft Entra em seu Banco de Dados do Azure para instância de servidor flexível do MySQL.