Sdílet prostřednictvím


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

Další krok