Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Bir Sanal ağ içinde PostgreSQL için Azure Veritabanı esnek sunucusu ile Azure App Service Web uygulamasının nasıl oluşturulacağı gösterilmektedir.
Bu makalede şunları öğreneceksiniz:
- Sanal ağda PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturma
- Web uygulaması oluştur
- Web uygulamasını sanal ağa ekleme
- Web uygulamasından PostgreSQL için Azure Veritabanı esnek sunucuya bağlanma
Önkoşullar
Azure aboneliğiniz yoksa, başlamadan önce bir ücretsiz hesap oluşturun.
Azure CLI sürüm 2.0 veya üzerini yerel olarak yükleyin (veya CLI'nın önceden yüklenmiş olduğu Azure Cloud Shell'i kullanın). Yüklü sürümü görmek için
az --versionkomutunu ç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 loginBirden çok aboneliğiniz varsa kaynağı faturalamak için uygun aboneliği seçin. az account set komutunu kullanarak hesabınızın altındaki belirli abonelik kimliğini seçin.
az account set --subscription <subscription ID>
Esnek sunucu örneği oluşturma
Aşağıdaki komutu kullanarak bir sanal ağ içinde PostgreSQL esnek sunucu örneği için özel bir Azure Veritabanı 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:
- Eğer henüz mevcut değilse kaynak grubunu oluşturur.
- Bir sunucu adı sağlamazsanız, sistem bir ad oluşturur.
- PostgreSQL için Azure Veritabanı esnek sunucu örneği için bir sanal ağ ve alt ağ oluşturur.
- Sağlamazsanız sunucunuz için yönetici kullanıcı adı ve parola oluşturur.
- postgres adlı boş bir veritabanı oluşturur.
Örnek çıktı aşağıda verilmişti.
Creating Resource Group 'demoresourcegroup'...
Creating new Vnet "demoappvnet" in resource group "demoresourcegroup"
Creating new Subnet "Subnetdemoserverpostgres" in resource group "demoresourcegroup"
Creating a private dns zone demoserverpostgres.private.postgres.database.azure.com in resource group "demoresourcegroup"
Creating PostgreSQL Server '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
Creating PostgreSQL database 'flexibleserverdb'...
Make a note of your password. If you forget, you would have to reset your password with "az postgres flexible-server update -n demoserverpostgres -g demoresourcegroup -p <new-password>".
Try using 'az postgres flexible-server connect' command to test out connection.
{
"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/demoappvnet/subnets/Subnetdemoserverpostgres",
"username": "generated-username",
"version": "12"
}
Web uygulaması oluştur
Bu bölümde, app Service uygulamasında bir 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. Temel Plan sanal ağ tümleştirmesini desteklemez. Standart veya Premium kullanın.
komutunu kullanarak az webapp up bir App Service uygulaması (konak işlemi) oluşturun.
az webapp up --resource-group demoresourcegroup --location westus2 --plan testappserviceplan --sku P2V2 --name mywebapp
Uyarı
- için
_--location_ argument, önceki bölümde veritabanı için kullandığınız konumu kullanın. -
<app-name>değerini tüm Azure'da benzersiz bir adla değiştirin. için<app-name>izin verilen karakterler A-Z, 0-9 ve -'dır. İyi bir örnek, şirket adınızı ve bir uygulama kimliğini birleştirmek olacaktır.
Bu komut aşağıdaki eylemleri gerçekleştirir ve bu işlem birkaç dakika sürebilir:
- Mevcut değilse kaynak grubunu oluşturur. (Bu komutta, veritabanını daha önce oluşturduğunuz kaynak grubunu kullanırsınız.)
- Uygulama mevcut değilse App Service uygulaması oluşturur.
- Henüz etkinleştirilmemişse, uygulama için varsayılan günlüğe kaydetmeyi etkinleştirir.
- ZIP dağıtımını ve build otomasyonunu kullanarak depoyu karşıya yükler.
Web uygulaması için alt ağ oluşturma
Sanal ağ tümleştirmesini etkinleştirmeden önce, App Service Web App'e temsilci olarak atanan bir alt ağa ihtiyacınız vardı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ğiyle aynı 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
Kodu App Service'e dağıttığınızda uygulamayı Azure'daki PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlayın. Uygulama kodu, birçok ortam değişkeninde veritabanı bilgilerini 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>"
postgres-server-name, kullanıcı adı ve parola değerlerini yeni oluşturulan PostgreSQL için Azure Veritabanı esnek sunucu örneğinin değerleriyle değiştirin.
Kullanıcı adını<>
Kaynak grubu ve uygulama adı .azure/config dosyasındaki önbelleğe alınmış değerlerden gelir.
komutu DBHOST, DBNAME, DBUSER ve DBPASS adlı ayarlar oluşturur. Uygulama kodunuz veritabanı bilgileri için farklı adlar 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ı temizle
Aşağıdaki komutu kullanarak makalede oluşturduğunuz tüm kaynakları temizleyin. Bu komut, bu kaynak grubundaki tüm kaynakları siler.
az group delete -n demoresourcegroup