Öğretici: Sanal ağda App Services Web App ile PostgreSQL için Azure Veritabanı - Esnek Sunucu örneği oluşturma

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Esnek Sunucu

Bu öğreticide, sanal ağ içinde esnek PostgreSQL için Azure Veritabanı sunucuyla nasıl Azure Uygulaması Service Web uygulaması oluşturulduğu gösterilmektedir.

Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:

  • Sanal ağda PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturma
  • Web uygulaması oluşturma
  • Web uygulamasını sanal ağa ekleme
  • Web uygulamasından esnek PostgreSQL için Azure Veritabanı sunucuya Bağlan

Önkoşullar

  • Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

  • Azure CLI.sürüm 2.0 veya üzerini yerel olarak yükleyin. Yüklü sürümü görmek için az --version komutunu çalıştırın.

  • az login komutunu kullanarak hesabınızda oturum açın . Komut çıktısındaki ilgili abonelik adına karşılık gelen id özelliğinin değerini not edin.

    az login
    
  • Birden fazla aboneliğiniz varsa kaynağın faturalanacağı uygun aboneliği seçin. az account set komutunu kullanarak hesabınız altındaki belirli bir abonelik kimliğini seçin.

    az account set --subscription <subscription ID>
    

Yeni bir sanal ağda PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturma

Aşağıdaki komutu kullanarak bir sanal ağ (VNET) içinde özel PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturun:

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

Bu komut aşağıdaki eylemleri gerçekleştirir ve bu işlem birkaç dakika sürebilir:

  • Henüz yoksa kaynak grubunu oluşturun.
  • Sağlanmadıysa bir sunucu adı oluşturur.
  • Yeni PostgreSQL için Azure Veritabanı esnek sunucu örneğiniz ve bu sanal ağ içinde PostgreSQL için Azure Veritabanı esnek sunucu örneği için alt ağınız için yeni bir sanal ağ oluşturun.
  • Sağlanmadıysa sunucunuz için yönetici kullanıcı adı , parolası oluşturur.
  • postgres adlı boş bir veritabanı oluşturur

Örnek çıktı aşağıda verilmiştir.

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"
}

Web Uygulaması Oluşturma

Bu bölümde App Service uygulamasında uygulama konağı oluşturacak, bu uygulamayı PostgreSQL için Azure Veritabanı esnek sunucu veritabanına bağlayacak ve ardından kodunuzu bu konağa dağıtacaksınız. Terminaldeki uygulama kodunuzun depo kökünde olduğunuzdan emin olun. Not Temel Plan, sanal ağ tümleştirmeyi desteklemez. Lütfen Standart veya Premium kullanın.

az webapp up komutuyla app Service uygulaması (konak işlemi) oluşturma

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

Not

  • --location bağımsız değişkeni için, önceki bölümde veritabanı için kullandığınız konumu kullanın.
  • Uygulama adını> tüm Azure'da benzersiz bir adla değiştirin<. Uygulama adı> için <izin verilen karakterler A-Z, 0-9 ve -'dır. İyi bir desen, şirketinizin adıyla uygulama tanımlayıcısının bir birleşimini kullanmaktır.

Bu komut aşağıdaki eylemleri gerçekleştirir ve bu işlem birkaç dakika sürebilir:

  • Henüz yoksa kaynak grubunu oluşturun. (Bu komutta, veritabanını daha önce oluşturduğunuz kaynak grubunu kullanırsınız.)
  • App Service uygulaması yoksa oluşturun.
  • Uygulama için varsayılan günlüğe kaydetmeyi (henüz etkinleştirilmemişse) etkinleştirin.
  • Derleme otomasyonu etkinken ZIP dağıtımını kullanarak depoyu karşıya yükleyin.

Web Uygulaması için Alt Ağ Oluşturma

VNET tümleştirmesini etkinleştirmeden önce App Service Web App'e temsilci olarak atanan alt ağınız olmalıdır. Alt ağı oluşturmadan önce, web uygulaması alt ağı için aynı adres ön ekini kullanmaktan kaçınmak için veritabanı alt ağ adresini görüntüleyin.

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

PostgreSQL için Azure Veritabanı esnek sunucu örneğinin oluşturulduğu sanal ağda yeni bir alt ağ oluşturmak için aşağıdaki komutu çalıştırın. PostgreSQL için Azure Veritabanı esnek sunucu alt ağıyla çakışmayı önlemek için adres ön ekini güncelleştirin.

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

Web Uygulamasını sanal ağa ekleme

Bir web uygulamasına bölgesel sanal ağ tümleştirmesi eklemek için az webapp vnet-integration komutunu kullanın.

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

Veritabanını bağlamak için ortam değişkenlerini yapılandırma

Kod artık App Service'e dağıtıldığında, sonraki adım uygulamayı Azure'daki PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlamaktır. Uygulama kodu, veritabanı bilgilerini bir dizi ortam değişkeninde bulmayı bekler. App Service'te ortam değişkenlerini ayarlamak için az webapp config appsettings set komutunu kullanın.

  
az webapp config appsettings set  --name mywebapp --settings DBHOST="<postgres-server-name>.postgres.database.azure.com" DBNAME="postgres" DBUSER="<username>" DBPASS="<password>" 
  • Yeni oluşturulan PostgreSQL için Azure Veritabanı esnek sunucu örneği komutu için postgres-server-name,username,password değerini değiştirin.
  • Kullanıcı adını> ve <parolayı> komutun sizin için oluşturduğu kimlik bilgileriyle değiştirin.<
  • Kaynak grubu ve uygulama adı .azure/config dosyasındaki önbelleğe alınmış değerlerden alınır.
  • komutu DBHOST, DBNAME, DBUSER* ve DBPASS adlı ayarlar oluşturur. Uygulama kodunuz veritabanı bilgileri için farklı bir ad kullanıyorsa, kodda belirtildiği gibi uygulama ayarları için bu adları kullanın.

Web uygulamasını sanal ağ içinden gelen tüm bağlantılara izin verecek şekilde yapılandırın.

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

Kaynakları temizleme

Aşağıdaki komutu kullanarak öğreticide oluşturduğunuz tüm kaynakları temizleyin. Bu komut, bu kaynak grubundaki tüm kaynakları siler.

az group delete -n demoresourcegroup

Sonraki adımlar