Criar e gerenciar Link Privado para o Banco de Dados do Azure para MySQL - Servidor Flexível usando a CLI do Azure
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 az lista de contas 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 create
o . 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 necessário para se conectar a partir da Internet na próxima etapa.
Criar o Banco de Dados do Azure para a instância do Servidor Flexível MySQL com acesso público no grupo de recursos
Crie um Banco de Dados do Azure para a instância do Servidor Flexível 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 do Banco de Dados do Azure para Servidor Flexível 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 o domínio do 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:
Na barra de pesquisa do portal, digite myVm.
Selecione o botão Ligar. Depois de selecionar o botão Conectar , Conectar à máquina virtual é aberto.
Selecione Transferir Ficheiro RDP. O Azure cria um ficheiro de Protocolo de Ambiente de Trabalho Remoto (.rdp) e transfere-o para o seu computador.
Abra o arquivo downloaded.rdp .
- 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ções Usar uma conta diferente para especificar as credenciais inseridas quando criou a VM.
Selecione OK.
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.
Quando a área de trabalho da VM aparecer, minimize-a para retornar à área de trabalho local.
Acessar o Banco de Dados do Azure para instância do Servidor Flexível MySQL de forma privada a partir da VM
Na Área de Trabalho Remota do myVM, abra o PowerShell.
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
Teste a conexão de link privado para o Banco de Dados do Azure para a instância do Servidor Flexível 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:
Definição Value 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 da instância do Servidor Flexível MySQL. Palavra-passe Insira uma senha fornecida durante o Banco de Dados do Azure para a criação da instância do Servidor Flexível MySQL. Selecione Ligar.
Procure bases de dados a partir do menu à esquerda.
(Opcionalmente) Crie ou consulte informações do Banco de Dados do Azure para o banco de dados do Servidor Flexível MySQL.
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
Comandos adicionais da CLI de Link Privado
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}
Conteúdos relacionados
- Criar e gerenciar Link Privado para o Banco de Dados do Azure para MySQL - Servidor flexível usando o portal
- Gerenciar 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