Partilhar via


Tutorial: Conectar um aplicativo Web de Serviços de Aplicativo ao Banco de Dados do Azure para MySQL - Servidor flexível em uma rede virtual

Este tutorial mostra como criar e conectar um Aplicativo Web do Serviço de Aplicativo do Azure a uma instância do Servidor Flexível do Banco de Dados do Azure para MySQL isolada dentro da mesma ou de redes virtuais diferentes.

Neste tutorial, vai aprender a:

  • Criar um Banco de Dados do Azure para a instância do Servidor Flexível MySQL em uma rede virtual
  • Criar uma sub-rede para delegar ao Serviço de Aplicativo e criar um aplicativo Web
  • Adicionar o aplicativo Web à rede virtual
  • Conectar-se ao Banco de Dados do Azure para Servidor Flexível MySQL a partir do aplicativo Web
  • Conectar um aplicativo Web e o Banco de Dados do Azure para instância do Servidor Flexível MySQL isolado em VNets diferentes

Pré-requisitos

Se você não tiver uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar. Atualmente, com uma conta gratuita do Azure, você pode experimentar o Banco de Dados do Azure para MySQL - Servidor Flexível gratuitamente por 12 meses. Para obter mais informações, consulte Usar uma conta gratuita do Azure para experimentar o Banco de Dados do Azure para MySQL - Servidor Flexível gratuitamente.

Este artigo requer que você esteja executando a CLI do Azure versão 2.0 ou posterior localmente. Para ver a versão instalada, execute o comando az --version. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Você precisará fazer login na sua conta usando o comando az login . Anote a propriedade id da saída de comando para o nome de subscrição correspondente.

az login

Se tiver várias subscrições, escolha a subscrição adequada na qual o recurso deve ser cobrado. Selecione o ID da subscrição específica na sua conta com o comando az account set. Substitua a propriedade ID da assinatura da saída az login para sua assinatura no espaço reservado para ID de assinatura.

az account set --subscription <subscription ID>

Criar um Banco de Dados do Azure para a instância do Servidor Flexível MySQL

Crie um Banco de Dados do Azure privado para a instância do Servidor Flexível MySQL dentro de uma rede virtual (VNET) usando o seguinte comando:

az mysql flexible-server create --resource-group myresourcegroup --location westus2 --vnet VNETName

Copie a cadeia de conexão e o nome da rede virtual recém-criada. Este comando executa as seguintes ações, que podem levar alguns minutos:

  • Crie o grupo de recursos se ele ainda não existir.
  • Gera um nome de servidor se ele não for fornecido.
  • Crie uma nova rede VNETName virtual para sua nova instância e sub-rede do Banco de Dados do Azure para Servidor Flexível MySQL dentro dessa rede virtual para a instância do Banco de Dados do Azure para Servidor Flexível MySQL. Certifique-se de que o nome é exclusivo.
  • Cria nome de usuário de administrador , senha para o seu servidor, se não for fornecido.
  • Cria um banco de dados vazio chamado flexibleserverdb.

Nota

Anote sua senha que é gerada para você se não for fornecida. Se você esquecer a senha, você tem que redefinir a senha usando o az mysql flexible-server update comando.

Criar sub-rede para o ponto de extremidade do Serviço de Aplicativo

Agora você precisa de uma sub-rede delegada ao ponto de extremidade do Aplicativo Web do Serviço de Aplicativo. Execute o comando a seguir para criar uma nova sub-rede na mesma rede virtual em que a instância do Servidor Flexível do Banco de Dados do Azure para MySQL foi criada.

az network vnet subnet create -g myresourcegroup --vnet-name VNETName --name webappsubnetName  --address-prefixes 10.0.1.0/24  --delegations Microsoft.Web/serverFarms --service-endpoints Microsoft.Web

Anote o nome da rede virtual e o nome da sub-rede após esse comando, pois seria necessário para adicionar a regra de integração VNET para o aplicativo Web depois que ele for criado.

Criar uma aplicação Web

Nesta seção, você cria um host de aplicativo no aplicativo do Serviço de Aplicativo e conecta esse aplicativo ao Banco de Dados do Azure para o banco de dados do Servidor Flexível MySQL. Certifique-se de que está na raiz do repositório do código da sua aplicação no terminal.

Crie um aplicativo do Serviço de Aplicativo (o processo de host) com o comando az webapp up.

az webapp up --resource-group myresourcegroup --location westus2 --plan testappserviceplan --sku P2V2 --name mywebapp

Nota

  • Para o argumento --location, use o mesmo local que você fez para o banco de dados na seção anterior.
  • Substitua <app-name> por um nome exclusivo em todo o Azure (o ponto de extremidade do servidor é https://\<app-name>.azurewebsites.net). Os caracteres permitidos para <o nome> do aplicativo são A-Z, 0-9 e -. Um bom padrão é usar uma combinação do nome da sua empresa e um identificador de aplicativo.
  • A camada Básica do Serviço de Aplicativo não oferece suporte à integração com VNET. Por favor, use Standard ou Premium.

Este comando executa as seguintes ações, que podem levar alguns minutos:

  • Crie o grupo de recursos se ele ainda não existir. (Neste comando, você usa o mesmo grupo de recursos no qual criou o banco de dados anteriormente.)
  • Crie o plano testappserviceplan do Serviço de Aplicativo no nível de preço Básico (B1), se ele não existir. --plan e --sku são opcionais.
  • Crie o aplicativo do Serviço de Aplicativo se ele não existir.
  • Habilite o log padrão para o aplicativo, se ainda não estiver habilitado.
  • Carregue o repositório usando a implantação ZIP com a automação de compilação habilitada.

Adicionar o aplicativo Web à rede virtual

Use o comando az webapp vnet-integration para adicionar uma integração de rede virtual regional a um webapp. Substitua <vnet-name> e <subnet-name pelo nome da rede virtual e da sub-rede que a instância do Banco de Dados do Azure para Servidor Flexível MySQL está usando.

az webapp vnet-integration add -g myresourcegroup -n  mywebapp --vnet VNETName --subnet webappsubnetName

Configurar variáveis de ambiente para conectar o banco de dados

Com o código agora implantado no Serviço de Aplicativo, a próxima etapa é conectar o aplicativo ao Banco de Dados do Azure para a instância do Servidor Flexível MySQL no Azure. O código do aplicativo espera encontrar informações do banco de dados em várias variáveis de ambiente. Para definir variáveis de ambiente no Serviço de Aplicativo, crie "configurações do aplicativo" com o az webapp config appsettings set comando.

az webapp config appsettings set --settings DBHOST="<mysql-server-name>.mysql.database.azure.com" DBNAME="flexibleserverdb" DBUSER="<username>" DBPASS="<password>"
  • Substitua <mysql-server-name>, <username> e <password> pelo comando recém-criado do Banco de Dados do Azure para Servidor Flexível MySQL.
  • Substitua o nome> de usuário e< a senha> pelas credenciais que o comando também gerou para você.<
  • O grupo de recursos e o nome do aplicativo são extraídos dos valores armazenados em cache no arquivo .azure/config.
  • O comando cria configurações chamadas DBHOST, DBNAME, DBUSER e DBPASS. Se o código do seu aplicativo estiver usando um nome diferente para as informações do banco de dados, use esses nomes para as configurações do aplicativo, conforme mencionado no código.

Configure o aplicativo Web para permitir todas as conexões de saída de dentro da rede virtual.

az webapp config set --name mywebapp --resource-group myresourcesourcegroup --generic-configurations '{"vnetRouteAllEnabled": true}'

Aplicativo Web do Serviço de Aplicativo e Banco de Dados do Azure para instância do Servidor Flexível MySQL em diferentes redes virtuais

Se você criou o aplicativo do Serviço de Aplicativo e a instância do Servidor Flexível do Banco de Dados do Azure para MySQL em redes virtuais (VNets) diferentes, precisará executar as duas etapas a seguir para estabelecer uma conexão perfeita:

  • Conecte as duas VNets usando o emparelhamento de VNet (local ou global). Consulte Guia Conectar redes virtuais com emparelhamento de rede virtual.
  • Vincule o Banco de Dados do Azure para a zona DNS Privada da instância do Servidor Flexível MySQL à VNet do aplicativo Web usando links de rede virtual. Se você usar o portal do Azure ou a CLI do Azure para criar o Banco de Dados do Azure para instâncias do Servidor Flexível MySQL em uma rede virtual, uma nova zona DNS privada será provisionada automaticamente em sua assinatura usando o nome do servidor fornecido. Navegue até a zona DNS privada da instância do Servidor Flexível do Banco de Dados do Azure para MySQL e siga o guia Como vincular a zona DNS privada a uma rede virtual para configurar um link de rede virtual.

Clean up resources (Limpar recursos)

Limpe todos os recursos criados no tutorial usando o comando a seguir. Este comando exclui todos os recursos desse grupo de recursos.

az group delete -n myresourcegroup

Próximo passo