Kurz: Připojení webové aplikace App Services k flexibilnímu serveru Azure Database for MySQL ve virtuální síti
V tomto kurzu se dozvíte, jak vytvořit a připojit webovou aplikaci služby Aplikace Azure k instanci flexibilního serveru Azure Database for MySQL izolovanou uvnitř stejných nebo různých virtuálních sítí.
V tomto kurzu se naučíte, jak:
- Vytvoření instance flexibilního serveru Azure Database for MySQL ve virtuální síti
- Vytvoření podsítě pro delegování do služby App Service a vytvoření webové aplikace
- Přidání webové aplikace do virtuální sítě
- Připojení k flexibilnímu serveru Azure Database for MySQL z webové aplikace
- Připojení webové aplikace a instance flexibilního serveru Azure Database for MySQL izolované v různých virtuálních sítích
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure, než začnete. V současné době můžete s bezplatným účtem Azure vyzkoušet flexibilní server Azure Database for MySQL zdarma po dobu 12 měsíců. Další informace najdete v tématu Použití bezplatného účtu Azure k vyzkoušení flexibilního serveru Azure Database for MySQL zdarma.
Tento článek vyžaduje, abyste místně spustili Azure CLI verze 2.0 nebo novější. Pokud chcete zjistit nainstalovanou verzi, spusťte příkaz az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.
Ke svému účtu se budete muset přihlásit pomocí příkazu az login . Z výstupu příkazu si poznamenejte vlastnost id pro odpovídající název předplatného.
az login
Pokud máte více předplatných, vyberte odpovídající předplatné, ve kterém se má prostředek účtovat. Ve svém účtu vyberte pomocí příkazu az account set konkrétní ID předplatného. Do zástupného symbolu ID předplatného nahraďte vlastnost ID předplatného z příkazu az login output.
az account set --subscription <subscription ID>
Vytvoření instance flexibilního serveru Azure Database for MySQL
Pomocí následujícího příkazu vytvořte privátní instanci flexibilního serveru Azure Database for MySQL ve virtuální síti:
az mysql flexible-server create --resource-group myresourcegroup --location westus2 --vnet VNETName
Zkopírujte připojovací řetězec a název nově vytvořené virtuální sítě. Tento příkaz provede následující akce, které můžou trvat několik minut:
- Vytvořte skupinu prostředků, pokud ještě neexistuje.
- Vygeneruje název serveru, pokud není zadaný.
- Vytvořte novou virtuální síť pro
VNETName
novou instanci a podsíť flexibilního serveru Azure Database for MySQL v rámci této virtuální sítě pro instanci flexibilního serveru Azure Database for MySQL. Ujistěte se, že je název jedinečný. - Vytvoří uživatelské jméno správce , heslo pro váš server, pokud není zadané.
- Vytvoří prázdnou databázi s názvem flexibleserverdb.
Poznámka:
Poznamenejte si heslo, které se pro vás vygeneruje, pokud není zadané. Pokud zapomenete heslo, musíte heslo resetovat pomocí az mysql flexible-server update
příkazu.
Vytvoření podsítě pro koncový bod služby App Service
Teď potřebujete podsíť delegovanou na koncový bod webové aplikace služby App Service. Spuštěním následujícího příkazu vytvořte novou podsíť ve stejné virtuální síti jako instanci flexibilního serveru Azure Database for MySQL.
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
Po tomto příkazu si poznamenejte název virtuální sítě a název podsítě, jak by bylo potřeba přidat pravidlo integrace virtuální sítě pro webovou aplikaci po jeho vytvoření.
Vytvoření webové aplikace
V této části vytvoříte hostitele aplikace v aplikaci App Service a připojíte tuto aplikaci k databázi flexibilního serveru Azure Database for MySQL. Ujistěte se, že jste v kořenovém adresáři úložiště kódu aplikace v terminálu.
Pomocí příkazu az webapp up vytvořte aplikaci App Service (hostitelský proces).
az webapp up --resource-group myresourcegroup --location westus2 --plan testappserviceplan --sku P2V2 --name mywebapp
Poznámka:
- Pro argument --location použijte stejné umístění jako pro databázi v předchozí části.
- Nahraďte <název> aplikace jedinečným názvem ve všech Azure (koncový bod serveru je
https://\<app-name>.azurewebsites.net
). Povolené znaky pro <název> aplikace jsou A-Z, 0-9 a -. Dobrým vzorem je použití kombinace názvu vaší společnosti a identifikátoru aplikace. - Úroveň App Service Basic nepodporuje integraci virtuální sítě. Použijte prosím Standard nebo Premium.
Tento příkaz provede následující akce, které můžou trvat několik minut:
- Vytvořte skupinu prostředků, pokud ještě neexistuje. (V tomto příkazu použijete stejnou skupinu prostředků, ve které jste dříve vytvořili databázi.)
- Pokud plán služby App Service neexistuje, vytvořte plán
testappserviceplan
služby App Service v cenové úrovni Basic (B1). --plan a --sku jsou volitelné. - Pokud aplikace App Service neexistuje, vytvořte ji.
- Pokud ještě není povolené, povolte pro aplikaci výchozí protokolování.
- Nahrajte úložiště pomocí nasazení ZIP s povolenou automatizací sestavení.
Přidání webové aplikace do virtuální sítě
Pomocí příkazu az webapp vnet-integration přidejte do webové aplikace místní integraci virtuální sítě. Nahraďte <název> virtuální sítě a <název podsítě názvem virtuální sítě a podsítě, které instance flexibilního serveru Azure Database for MySQL používá.
az webapp vnet-integration add -g myresourcegroup -n mywebapp --vnet VNETName --subnet webappsubnetName
Konfigurace proměnných prostředí pro připojení databáze
S kódem nasazeným do služby App Service je dalším krokem připojení aplikace k instanci flexibilního serveru Azure Database for MySQL v Azure. Kód aplikace očekává, že najde informace o databázi v řadě proměnných prostředí. Pokud chcete nastavit proměnné prostředí ve službě App Service, vytvoříte pomocí příkazu nastavení aplikace az webapp config appsettings set
.
az webapp config appsettings set --settings DBHOST="<mysql-server-name>.mysql.database.azure.com" DBNAME="flexibleserverdb" DBUSER="<username>" DBPASS="<password>"
- Nahraďte <název> serveru mysql, <uživatelské jméno> a <heslo> pro nově vytvořený příkaz flexibilního serveru Azure Database for MySQL.
- Nahraďte <uživatelské jméno> a <heslo> přihlašovacími údaji, které vám příkaz vygeneroval.
- Skupina prostředků a název aplikace se načítají z hodnot uložených v mezipaměti v souboru .azure/config.
- Příkaz vytvoří nastavení s názvem DBHOST, DBNAME, DBUSER a DBPASS. Pokud kód aplikace používá jiný název informací o databázi, použijte tyto názvy pro nastavení aplikace, jak je uvedeno v kódu.
Nakonfigurujte webovou aplikaci tak, aby umožňovala všechna odchozí připojení z virtuální sítě.
az webapp config set --name mywebapp --resource-group myresourcesourcegroup --generic-configurations '{"vnetRouteAllEnabled": true}'
Webová aplikace služby App Service a instance flexibilního serveru Azure Database for MySQL v různých virtuálních sítích
Pokud jste vytvořili aplikaci App Service a instanci flexibilního serveru Azure Database for MySQL v různých virtuálních sítích, budete muset k vytvoření bezproblémového připojení provést následující dva kroky:
- Propojte tyto dvě virtuální sítě pomocí partnerského vztahu virtuálních sítí (místní nebo globální). Viz Průvodce propojením virtuálních sítí s partnerskými vztahy virtuálních sítí.
- Propojte zónu Privátní DNS instance flexibilního serveru Azure Database for MySQL s virtuální sítí webové aplikace pomocí propojení virtuální sítě. Pokud k vytvoření instancí flexibilního serveru Azure Database for MySQL ve virtuální síti používáte Azure Portal nebo Azure CLI, automaticky se ve vašem předplatném zřídí nová privátní zóna DNS s použitím zadaného názvu serveru. Přejděte do privátní zóny DNS instance flexibilního serveru Azure Database for MySQL a postupujte podle pokynů k propojení privátní zóny DNS s průvodcem virtuální sítí a nastavte propojení virtuální sítě.
Vyčištění prostředků
Pomocí následujícího příkazu vyčistíte všechny prostředky, které jste vytvořili v kurzu. Tento příkaz odstraní všechny prostředky v této skupině prostředků.
az group delete -n myresourcegroup