Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa esercitazione illustra come creare e connettere un'app Web del servizio app Azure a un'istanza del server flessibile Database di Azure per MySQL isolata all'interno di reti virtuali uguali o diverse.
In questa esercitazione si apprenderà come:
- Creare un'istanza di Database di Azure per MySQL - Server flessibile in una rete virtuale
- Creare una subnet da delegare ad App Service e creare un'app Web
- Aggiungere l'app Web alla rete virtuale
- Connettersi al server flessibile Database di Azure per MySQL dall'app Web
- Connetti un'app Web e un'istanza di Database di Azure per MySQL - Flexible Server isolate in VNet diverse
Prerequisiti
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare. Attualmente, con un account gratuito di Azure, è possibile provare il server flessibile di Database MySQL di Azure gratuitamente per 12 mesi. Per altre informazioni, vedere Usare un account gratuito di Azure per provare gratuitamente Database di Azure per MySQL - Server flessibile.
Per questo articolo è necessario eseguire in locale l'interfaccia della riga di comando di Azure versione 2.0 o successiva. Per vedere la versione installata, eseguire il comando az --version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
È necessario accedere all'account con il comando az login. Prendere nota della proprietà id nell'output del comando per il nome dell'abbonamento corrispondente.
az login
Se si possiedono più sottoscrizioni, scegliere quella appropriata in cui verrà fatturata la risorsa. Selezionare l'ID della sottoscrizione specifica nel proprio account usando il comando az account set. Sostituisci nel segnaposto dell'ID sottoscrizione la proprietà subscription ID dell'output di az login relativa alla tua sottoscrizione.
az account set --subscription <subscription ID>
Creare un'istanza del server flessibile di Database di Azure per MySQL
Creare un'istanza privata di Database di Azure per MySQL Flexible Server all'interno di una rete virtuale (VNET) usando il comando seguente:
az mysql flexible-server create --resource-group myresourcegroup --location westus2 --vnet VNETName
Copiare il stringa di connessione e il nome della rete virtuale appena creata. Questo comando esegue le azioni seguenti, che potrebbero richiedere alcuni minuti:
- Crea il gruppo di risorse se non esiste già.
- Genera un nome di server, se non specificato.
- Creare una nuova rete virtuale
VNETNameper la nuova istanza di Database di Azure per MySQL - Server flessibile e una subnet all'interno di questa rete virtuale per l'istanza di Database di Azure per MySQL - Server flessibile. Assicurarsi che il nome sia univoco. - Crea il nome utente e la password dell'amministratore per il server, se non specificato.
- Crea un database vuoto denominato flexibleserverdb.
Nota
Prendi nota della password generata per te, se non ne viene fornita una. Se si dimentica la password, è necessario reimpostare la password usando il az mysql flexible-server update comando .
Crea subnet per endpoint di App Service
È ora necessaria una subnet delegata all'endpoint di App Web di App Service. Eseguire il comando seguente per creare una nuova subnet nella stessa rete virtuale in cui è stata creata l'istanza di Database di Azure per MySQL - Flexible Server.
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
Annotare il nome della rete virtuale e il nome della subnet dopo aver eseguito questo comando, poiché saranno necessari per aggiungere la regola di integrazione con la VNET per l'app Web dopo che sarà stata creata.
Creare un'app Web
In questa sezione si crea l'host dell'app in un'app di App Service e si connette questa app al database di Database di Azure per MySQL - Flexible Server. Nel terminale assicurarsi di trovarsi nella radice del repository del codice dell'applicazione.
Creare un'app di App Service (processo ospitante) con il comando az webapp up.
az webapp up --resource-group myresourcegroup --location westus2 --plan testappserviceplan --sku P2V2 --name mywebapp
Nota
- Per l'argomento --location, usare la stessa posizione specificata per il database nella sezione precedente.
- Sostituire <app-name> con un nome univoco in tutto Azure (l'endpoint server è
https://\<app-name>.azurewebsites.net). I caratteri consentiti per <app-name> sono A-Z, 0-9 e -. Un criterio valido consiste nell'usare una combinazione del nome della società e di un identificatore dell'app. - Il piano Basic di App Service non supporta l'integrazione con VNET. Usare Standard o Premium.
Questo comando esegue le azioni seguenti, che potrebbero richiedere alcuni minuti:
- Crea il gruppo di risorse se non esiste già. In questo comando viene usato lo stesso gruppo di risorse in cui in precedenza è stato creato il database.
- Creare il piano di App Service
testappserviceplannel livello tariffario Basic (B1), se non esiste. --plan e --sku sono facoltativi. - Crea l'app di App Service se non esiste.
- Abilita la registrazione predefinita per l'app, se non è già abilitata.
- Carica il repository usando la distribuzione ZIP con l'automazione della compilazione abilitata.
Aggiungere l'app Web alla rete virtuale
Usa il comando az webapp vnet-integration per aggiungere a un'app Web l'integrazione rete virtuale a livello di area geografica. Sostituire <vnet-name> e <subnet-name con la rete virtuale e il nome della subnet usati dall'istanza del server flessibile Database di Azure per MySQL.
az webapp vnet-integration add -g myresourcegroup -n mywebapp --vnet VNETName --subnet webappsubnetName
Configurare le variabili di ambiente per la connessione del database
Con il codice ora distribuito in servizio app, il passaggio successivo consiste nel connettere l'app all'istanza del server flessibile Database di Azure per MySQL in Azure. Il codice dell'app prevede di trovare informazioni sul database in una serie di variabili di ambiente. Per impostare le variabili di ambiente in servizio app, creare "impostazioni dell'app" con il 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>"
- Sostituire <mysql-server-name>, <username> e <password> nel comando di Database di Azure per MySQL - Server flessibile appena creato.
- Sostituisci <username> e <password> con le credenziali generate dal comando.
- Il gruppo di risorse e il nome dell'app vengono ricavate a partire dai valori memorizzati nella cache nel file .azure/config.
- Il comando crea impostazioni denominate DBHOST, DBNAME, DBUSER e DBPASS. Se il codice dell'applicazione usa nomi diversi per le informazioni del database, usare questi nomi per le impostazioni dell'app come indicato nel codice.
Configurare l'app Web per consentire tutte le connessioni in uscita dall'interno della rete virtuale.
az webapp config set --name mywebapp --resource-group myresourcesourcegroup --generic-configurations '{"vnetRouteAllEnabled": true}'
App Service, app Web e Azure Database per MySQL - Istanza di server flessibile in reti virtuali diverse
Se hai creato l'app di App Service e l'istanza di Database di Azure per MySQL Flexible Server in reti virtuali (VNet) diverse, dovrai eseguire i due passaggi seguenti per stabilire una connessione senza interruzioni:
- Connetti le due VNet usando il peering di rete virtuale (locale o globale). Vedere la guida Connettere reti virtuali con il peering di rete virtuale.
- Collega la zona DNS privata dell'istanza di Database di Azure per MySQL - Server flessibile alla VNet dell'app Web tramite collegamenti di rete virtuale. Se si usa la portale di Azure o l'interfaccia della riga di comando di Azure per creare istanze del server flessibile Database di Azure per MySQL in una rete virtuale, viene eseguito automaticamente il provisioning di una nuova zona DNS privata nella sottoscrizione usando il nome del server specificato. Passare alla zona DNS privata dell'istanza del server flessibile Database di Azure per MySQL e seguire la guida Come collegare la zona DNS privata a una rete virtuale per configurare un collegamento di rete virtuale.
Pulire le risorse
Pulire tutte le risorse create nell'esercitazione con il comando seguente. Questo comando elimina tutte le risorse incluse in questo gruppo di risorse.
az group delete -n myresourcegroup