Oktatóanyag: Azure Database for PostgreSQL létrehozása – Rugalmas kiszolgálópéldány létrehozása Az App Services Web App alkalmazással a virtuális hálózaton

A következőkre vonatkozik: Azure Database for PostgreSQL – Rugalmas kiszolgáló

Ez az oktatóanyag bemutatja, hogyan hozhat létre Azure-alkalmazás service webalkalmazást rugalmas Azure Database for PostgreSQL-kiszolgálóval egy virtuális hálózaton belül.

Ezen oktatóanyag segítségével megtanulhatja a következőket:

  • Rugalmas Azure Database for PostgreSQL-kiszolgálópéldány létrehozása virtuális hálózaton
  • Webalkalmazás létrehozása
  • A webalkalmazás hozzáadása a virtuális hálózathoz
  • Csatlakozás rugalmas Azure Database for PostgreSQL-kiszolgálóra a webalkalmazásból

Előfeltételek

  • Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

  • Telepítse az Azure CLI.2.0-s vagy újabb verzióját helyileg. A telepített verziók megtekintéséhez futtassa az az --version parancsot.

  • Jelentkezzen be a fiókjába az az login paranccsal. Jegyezze fel a megfelelő előfizetésnév parancskimenetéből az id tulajdonságot.

    az login
    
  • Ha több előfizetéssel rendelkezik válassza ki a megfelelő előfizetést, amelyre az erőforrást terhelni szeretné. Válassza ki a megadott előfizetés-azonosítót a fiókja alatt az az account set paranccsal.

    az account set --subscription <subscription ID>
    

Rugalmas Azure Database for PostgreSQL-kiszolgálópéldány létrehozása új virtuális hálózaton

Hozzon létre egy rugalmas Azure Database for PostgreSQL-kiszolgálópéldányt egy virtuális hálózaton (VNET) belül a következő paranccsal:

az postgres flexible-server create --resource-group demoresourcegroup --name demoserverpostgres --vnet demoappvnet --location westus2

Ez a parancs a következő műveleteket hajtja végre, amelyek eltarthatnak néhány percig:

  • Hozza létre az erőforráscsoportot, ha még nem létezik.
  • Létrehoz egy kiszolgálónevet, ha nincs megadva.
  • Hozzon létre egy új virtuális hálózatot az új rugalmas Azure Database for PostgreSQL-kiszolgálópéldányhoz és -alhálózathoz ezen a virtuális hálózaton belül a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányhoz.
  • Rendszergazdai felhasználónevet és jelszót hoz létre a kiszolgálóhoz, ha nincs megadva.
  • Létrehoz egy postgres nevű üres adatbázist

Itt található a mintakimenet.

Local context is turned on. Its information is saved in working directory /home/jane. You can run `az local-context off` to turn it off.
Command argument values from local context: --resource-group demoresourcegroup, --location: eastus
Checking the existence of the resource group ''...
Creating Resource group 'demoresourcegroup ' ...
Creating new vnet "demoappvnet" in resource group "demoresourcegroup" ...
Creating new subnet "Subnet095447391" in resource group "demoresourcegroup " and delegating it to "Microsoft.DBforPostgreSQL/flexibleServers"...
Creating Azure Database for PostgreSQL flexible server instance 'demoserverpostgres' in group 'demoresourcegroup'...
Your server 'demoserverpostgres' is using sku 'Standard_D2s_v3' (Paid Tier). Please refer to https://aka.ms/postgres-pricing for pricing details
Make a note of your password. If you forget, you have to reset your password with 'az postgres flexible-server update -n demoserverpostgres --resource-group demoresourcegroup -p <new-password>'.
{
  "connectionString": "postgresql://generated-username:generated-password@demoserverpostgres.postgres.database.azure.com/postgres?sslmode=require",
  "host": "demoserverpostgres.postgres.database.azure.com",
  "id": "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/demoresourcegroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/demoserverpostgres",
  "location": "East US",
  "password": "generated-password",
  "resourceGroup": "demoresourcegroup",
  "skuname": "Standard_D2s_v3",
  "subnetId": "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/demoresourcegroup/providers/Microsoft.Network/virtualNetworks/VNET095447391/subnets/Subnet095447391",
  "username": "generated-username",
  "version": "12"
}

Webalkalmazás létrehozása

Ebben a szakaszban alkalmazás-gazdagépet hoz létre az App Service-alkalmazásban, csatlakoztatja ezt az alkalmazást a rugalmas Azure Database for PostgreSQL-kiszolgálóadatbázishoz, majd üzembe helyezi a kódot az adott gazdagépen. Győződjön meg arról, hogy az alkalmazáskód adattárgyökerében van a terminálban. Megjegyzés: Az alapszintű csomag nem támogatja a VNET-integrációt. Használja a Standard vagy a Premium verziót.

App Service-alkalmazás (a gazdafolyamat) létrehozása az az webapp up paranccsal

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

Feljegyzés

  • A --location argumentumnál használja ugyanazt a helyet, mint az előző szakaszban az adatbázis esetében.
  • Cserélje le <az alkalmazásnevet> egy egyedi névre az összes Azure-ban. Az alkalmazásnév> megengedett karakterei a <következők: A-Z, 0-9 és -. Jó példa a cég nevének és egy alkalmazásazonosítónak a kombinációjára.

Ez a parancs a következő műveleteket hajtja végre, amelyek eltarthatnak néhány percig:

  • Hozza létre az erőforráscsoportot, ha még nem létezik. (Ebben a parancsban ugyanazt az erőforráscsoportot használja, amelyben korábban létrehozta az adatbázist.)
  • Ha nem létezik, hozza létre az App Service-alkalmazást.
  • Ha még nincs engedélyezve, engedélyezze az alkalmazás alapértelmezett naplózását.
  • Töltse fel az adattárat ZIP-telepítéssel, és engedélyezze a buildautomatizálást.

Alhálózat létrehozása webalkalmazáshoz

A virtuális hálózatok integrációjának engedélyezése előtt rendelkeznie kell az App Service Web App alkalmazáshoz delegált alhálózattal. Az alhálózat létrehozása előtt tekintse meg az adatbázis alhálózati címét, hogy ne használja ugyanazt a címelőtagot a webalkalmazás alhálózatához.

az network vnet show --resource-group demoresourcegroup -n demoappvnet

Futtassa a következő parancsot egy új alhálózat létrehozásához ugyanabban a virtuális hálózaton, mint a rugalmas Azure Database for PostgreSQL-kiszolgálópéldány. Frissítse a címelőtagot, hogy elkerülje a rugalmas Azure Database for PostgreSQL-kiszolgáló alhálózattal való ütközést.

az network vnet subnet create --resource-group demoresourcegroup --vnet-name demoappvnet --name webappsubnet  --address-prefixes 10.0.1.0/24  --delegations Microsoft.Web/serverFarms

A webalkalmazás hozzáadása a virtuális hálózathoz

Az az webapp vnet-integration paranccsal regionális virtuális hálózati integrációt adhat hozzá egy webalkalmazáshoz.

az webapp vnet-integration add --resource-group demoresourcegroup -n  mywebapp --vnet demoappvnet --subnet webappsubnet

Környezeti változók konfigurálása az adatbázis csatlakoztatásához

Az App Service-ben üzembe helyezett kód következő lépése az alkalmazás csatlakoztatása a rugalmas Azure Database for PostgreSQL-kiszolgálópéldányhoz az Azure-ban. Az alkalmazáskód várhatóan számos környezeti változóban talál adatbázis-információkat. Ha környezeti változókat szeretne beállítani az App Service-ben, használja az az webapp config appsettings set parancsot.

  
az webapp config appsettings set  --name mywebapp --settings DBHOST="<postgres-server-name>.postgres.database.azure.com" DBNAME="postgres" DBUSER="<username>" DBPASS="<password>" 
  • Cserélje le az újonnan létrehozott rugalmas Azure Database for PostgreSQL-kiszolgálópéldány-parancs postgres-kiszolgálónevét,felhasználónevét,jelszavát.
  • Cserélje le <a felhasználónevet> és< a jelszót> azokra a hitelesítő adatokra, amelyeket a parancs is létrehozott Önnek.
  • Az erőforráscsoport és az alkalmazás neve az .azure/config fájl gyorsítótárazott értékeiből származik.
  • A parancs létrehozza a DBHOST, a DBNAME, a DBU Standard kiadás R* és a DBPASS nevű beállításokat. Ha az alkalmazás kódja eltérő nevet használ az adatbázis adataihoz, használja ezeket a neveket az alkalmazásbeállításokhoz a kódban leírtak szerint.

Konfigurálja a webalkalmazást úgy, hogy a virtuális hálózaton belülről engedélyezze az összes kimenő kapcsolatot.

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

Az erőforrások eltávolítása

Törölje az oktatóanyagban létrehozott összes erőforrást az alábbi paranccsal. Ez a parancs törli az erőforráscsoport összes erőforrását.

az group delete -n demoresourcegroup

Következő lépések