Tutorial: Conectar-se a um servidor SQL do Azure usando um Ponto de Extremidade Privado do Azure usando a CLI do Azure
O ponto de extremidade privado do Azure é o bloco de construção fundamental para o Link Privado no Azure. Ele permite que os recursos do Azure, como máquinas virtuais (VMs), se comuniquem com recursos de Link Privado de forma privada.
Neste tutorial, irá aprender a:
- Crie uma rede virtual e um host bastião.
- Cria uma máquina virtual.
- Crie um servidor SQL do Azure e um ponto de extremidade privado.
- Teste a conectividade com o ponto de extremidade privado do SQL Server.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Entre no portal do Azure e verifique se sua assinatura está ativa executando
az login
o . - Verifique sua versão da CLI do Azure em um terminal ou janela de comando executando
az --version
. Para obter a versão mais recente, consulte as notas de versão mais recentes.- Se não tiver a versão mais recente, atualize a instalação seguindo o guia de instalação do seu sistema operativo ou plataforma.
Criar um grupo de recursos
Um grupo de recursos do Azure é um contentor lógico no qual os recursos do Azure são implementados e geridos.
Crie um grupo de recursos com az group create:
- Nomeado CreateSQLEndpointTutorial-rg.
- Na localização eastus.
az group create \
--name CreateSQLEndpointTutorial-rg \
--location eastus
Criar uma rede virtual e um host bastion
Nesta seção, você criará uma rede virtual, uma sub-rede e um host bastion.
O host bastion será usado para se conectar com segurança à máquina virtual para testar o ponto de extremidade privado.
Criar uma rede virtual com az network vnet create
- Nomeado myVNet.
- Prefixo de endereço de 10.0.0.0/16.
- Sub-rede chamada myBackendSubnet.
- Prefixo de sub-rede de 10.0.0.0/24.
- No grupo de recursos CreateSQLEndpointTutorial-rg.
- Localização de eastus.
az network vnet create \
--resource-group CreateSQLEndpointTutorial-rg\
--location eastus \
--name myVNet \
--address-prefixes 10.0.0.0/16 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.0.0.0/24
Atualize a sub-rede para desativar as políticas de rede de ponto de extremidade privado para o ponto de extremidade privado com a atualização da sub-rede az network vnet:
az network vnet subnet update \
--name myBackendSubnet \
--resource-group CreateSQLEndpointTutorial-rg \
--vnet-name myVNet \
--disable-private-endpoint-network-policies true
Use az network public-ip create para criar um endereço ip público para o host bastion:
- Crie um endereço IP público redundante de zona padrão chamado myBastionIP.
- Em CreateSQLEndpointTutorial-rg.
az network public-ip create \
--resource-group CreateSQLEndpointTutorial-rg \
--name myBastionIP \
--sku Standard
Use az network vnet subnet create para criar uma sub-rede bastion:
- Chamado AzureBastionSubnet.
- Prefixo de endereço de 10.0.1.0/24.
- Na rede virtual myVNet.
- No grupo de recursos CreateSQLEndpointTutorial-rg.
az network vnet subnet create \
--resource-group CreateSQLEndpointTutorial-rg \
--name AzureBastionSubnet \
--vnet-name myVNet \
--address-prefixes 10.0.1.0/24
Use az network bastion create para criar um host bastion:
- Nomeado myBastionHost.
- Em CreateSQLEndpointTutorial-rg.
- Associado ao IP público myBastionIP.
- Associado à rede virtual myVNet.
- Na localização eastus .
az network bastion create \
--resource-group CreateSQLEndpointTutorial-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--location eastus
Pode levar alguns minutos para o host do Azure Bastion implantar.
Criar máquina virtual de teste
Nesta seção, você criará uma máquina virtual que será usada para testar o ponto de extremidade privado.
Crie uma VM com az vm create. Quando solicitado, forneça uma senha para ser usada como as credenciais para a VM:
- Nomeado myVM.
- Em CreateSQLEndpointTutorial-rg.
- Na rede myVNet.
- Na sub-rede myBackendSubnet.
- Imagem do servidor Win2019Datacenter.
az vm create \
--resource-group CreateSQLEndpointTutorial-rg \
--name myVM \
--image Win2019Datacenter \
--public-ip-address "" \
--vnet-name myVNet \
--subnet myBackendSubnet \
--admin-username azureuser
Nota
O Azure fornece um IP de acesso de saída padrão para VMs que não recebem um endereço IP público ou estão no pool de back-end de um balanceador de carga básico interno do Azure. O mecanismo IP de acesso de saída padrão fornece um endereço IP de saída que não é configurável.
O IP de acesso de saída padrão é desativado quando um dos seguintes eventos acontece:
- Um endereço IP público é atribuído à VM.
- A VM é colocada no pool de back-end de um balanceador de carga padrão, com ou sem regras de saída.
- Um recurso do Gateway NAT do Azure é atribuído à sub-rede da VM.
As VMs que você cria usando conjuntos de dimensionamento de máquina virtual no modo de orquestração flexível não têm acesso de saída padrão.
Para obter mais informações sobre conexões de saída no Azure, consulte Acesso de saída padrão no Azure e Usar SNAT (Conversão de Endereço de Rede de Origem) para conexões de saída.
Criar um servidor SQL do Azure
Nesta seção, você criará um servidor SQL e um banco de dados.
Use az sql server create para criar um servidor SQL:
- Substitua <sql-server-name> pelo nome exclusivo do servidor.
- Substitua <a sua palavra-passe> pela sua palavra-passe.
- Em CreateSQLEndpointTutorial-rg.
- Na região de Eastus .
az sql server create \
--name <sql-server-name> \
--resource-group CreateSQLEndpointTutorial-rg \
--location eastus \
--admin-user sqladmin \
--admin-password <your-password>
Use az sql db create para criar um banco de dados:
- Nomeado myDataBase.
- Em CreateSQLEndpointTutorial-rg.
- Substitua <sql-server-name> pelo nome exclusivo do servidor.
az sql db create \
--resource-group CreateSQLEndpointTutorial-rg \
--server <sql-server-name> \
--name myDataBase \
--sample-name AdventureWorksLT
Criar ponto de extremidade privado
Nesta seção, você criará o ponto de extremidade privado.
Use az sql server list para colocar a ID do recurso do servidor SQL em uma variável de shell.
Use az network private-endpoint create para criar o endpoint e a conexão:
- Nomeado myPrivateEndpoint.
- No grupo de recursos CreateSQLEndpointTutorial-rg.
- Na rede virtual myVNet.
- Na sub-rede myBackendSubnet.
- Conexão chamada myConnection.
id=$(az sql server list \
--resource-group CreateSQLEndpointTutorial-rg \
--query '[].[id]' \
--output tsv)
az network private-endpoint create \
--name myPrivateEndpoint \
--resource-group CreateSQLEndpointTutorial-rg \
--vnet-name myVNet --subnet myBackendSubnet \
--private-connection-resource-id $id \
--group-ids sqlServer \
--connection-name myConnection
Configurar a zona DNS privada
Nesta seção, você criará e configurará a zona DNS privada usando az network private-dns zone create.
Você usará az network private-dns link vnet create para criar o link de rede virtual para a zona dns.
Você criará um grupo de zonas dns com az network private-endpoint dns-zone-group create.
- Zona denominada privatelink.database.windows.net
- Na rede virtual myVNet.
- No grupo de recursos CreateSQLEndpointTutorial-rg.
- Link DNS chamado myDNSLink.
- Associado a myPrivateEndpoint.
- Grupo de zonas chamado MyZoneGroup.
az network private-dns zone create \
--resource-group CreateSQLEndpointTutorial-rg \
--name "privatelink.database.windows.net"
az network private-dns link vnet create \
--resource-group CreateSQLEndpointTutorial-rg \
--zone-name "privatelink.database.windows.net" \
--name MyDNSLink \
--virtual-network myVNet \
--registration-enabled false
az network private-endpoint dns-zone-group create \
--resource-group CreateSQLEndpointTutorial-rg \
--endpoint-name myPrivateEndpoint \
--name MyZoneGroup \
--private-dns-zone "privatelink.database.windows.net" \
--zone-name sql
Testar a conectividade com o ponto de extremidade privado
Nesta seção, você usará a máquina virtual criada na etapa anterior para se conectar ao servidor SQL através do ponto de extremidade privado.
Inicie sessão no portal do Azure.
Selecione Grupos de recursos no painel de navegação esquerdo.
Selecione CreateSQLEndpointTutorial-rg.
Selecione myVM.
Na página de visão geral de myVM, selecione Conectar e Bastion.
Selecione o botão azul Usar bastião .
Digite o nome de usuário e a senha que você inseriu durante a criação da máquina virtual.
Abra o Windows PowerShell no servidor depois de se conectar.
Introduzir
nslookup <sqlserver-name>.database.windows.net
. Substitua <sqlserver-name> pelo nome do servidor SQL criado nas etapas anteriores. Você receberá uma mensagem semelhante à exibida abaixo:Server: UnKnown Address: 168.63.129.16 Non-authoritative answer: Name: mysqlserver8675.privatelink.database.windows.net Address: 10.0.0.5 Aliases: mysqlserver8675.database.windows.net
Um endereço IP privado de 10.0.0.5 é retornado para o nome do servidor SQL. Esse endereço está na sub-rede da rede virtual que você criou anteriormente.
Instale o SQL Server Management Studio em myVM.
Abra o SQL Server Management Studio.
Em Conectar ao servidor, insira ou selecione estas informações:
Definição Value Tipo de servidor Selecione Motor de Base de Dados. Nome do servidor Digite <sql-server-name.database.windows.net> Autenticação Selecione SQL Server Authentication (Autenticação do SQL Server). User name Digite o nome de usuário que você inseriu durante a criação do servidor Palavra-passe Introduza a palavra-passe que introduziu durante a criação do servidor Memorizar palavra-passe Selecione Yes (Sim). Selecione Ligar.
Procure bases de dados a partir do menu à esquerda.
(Opcionalmente) Crie ou consulte informações do mysqldatabase.
Feche a conexão bastion para myVM.
Clean up resources (Limpar recursos)
Quando terminar de usar o ponto de extremidade privado, o SQL Server e a VM, exclua o grupo de recursos e todos os recursos que ele contém:
az group delete \
--name CreateSQLEndpointTutorial-rg
Próximos passos
Neste tutorial, você criou:
- Rede virtual e host bastião.
- Máquina virtual.
- Servidor SQL do Azure com ponto de extremidade privado.
Você usou a máquina virtual para testar a conectividade com segurança com o servidor SQL no ponto de extremidade privado.
Como próxima etapa, você também pode estar interessado no cenário de arquitetura de banco de dados SQL do Azure com conectividade privada, que conecta um aplicativo Web fora da rede virtual ao ponto de extremidade privado de um banco de dados.