Öğretici: Sanal MySQL için Azure Veritabanı App Services Web Uygulaması ile Esnek Sunucu oluşturma

[Uygulama hedefi: MySQL için Azure veritabanı-esnek sunucu

Bu öğreticide, Sanal ağ içinde MySQL Esnek Sunucusu ile Azure App Service Web Uygulaması oluşturma adımlarını gösterir.

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

  • Sanal ağ üzerinde MySQL esnek sunucusu oluşturma
  • Temsilci olarak seçen bir alt ağ App Service
  • Web uygulaması oluşturma
  • Web uygulamasını sanal ağa ekleme
  • Bağlan uygulamasından Postgres'e bağlantı

Önkoşullar

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir Azure hesabı oluşturun. Ücretsiz Azure hesabıyla artık Esnek Sunucu'MySQL için Azure Veritabanı 12 ay boyunca ücretsiz olarak denemeniz mümkün. Diğer ayrıntılar için bkz. Esnek Sunucuyu ücretsiz deneyin.

Bu makale için Azure CLI 2.0 veya sonraki bir sürümünü yerel olarak çalıştırmanız gerekir. Yüklü sürümü görmek için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

az login komutunu kullanarak hesabınızla oturum açabilirsiniz. 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. Aboneliğinizin az login çıkışından abonelik kimliği özelliğini abonelik kimliği yer tutucus una girin.

az account set --subscription <subscription ID>

MySQL için Azure Veritabanı Esnek Sunucu oluşturma

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

az mysql flexible-server create --resource-group myresourcegroup --location westus2 --vnet VNETName

Bağlantı dizesini ve yeni oluşturulan sanal ağın adını kopyalayın. 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ğlanmazsa bir sunucu adı üretir.
  • Veritabanı sunucusu için bu sanal VNETName ağ içindeki yeni MySQL sunucunuz ve alt ağınız için yeni bir sanal ağ oluşturun. Adın benzersiz olduğundan emin olun.
  • Sağlanmazsa sunucunuz için yönetici kullanıcı adı , parola oluşturur.
  • flexibleserverdb adlı boş bir veritabanı oluşturur

Not

Sağlanmazsa sizin için oluşturulacak parolanızı not edin. Parolayı unutursanız komutunu kullanarak parolayı sıfırlamanız az mysql flexible-server update gerekir

App Service Uç Noktası için Alt Ağ Oluşturma

Şimdi Web Uygulaması uç noktasına temsilci olarak App Service gerekir. Veritabanı sunucusuyla aynı sanal ağda yeni bir alt ağ oluşturmak için aşağıdaki komutu çalıştırın.

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

Bu komutun ardından sanal ağ adını ve alt ağ adını not edin çünkü oluşturulduktan sonra web uygulaması için sanal ağ tümleştirme kuralı eklemeniz gerekir.

Web uygulaması oluşturma

Bu bölümde, uygulama ana bilgisayar uygulamasını App Service ve bu uygulamayı MySQL veritabanına bağlayabilirsiniz. Terminalde uygulama kodunuzun depo kökünde olduğundan emin olun.

az webapp up App Service bir uygulama (konak işlemi) oluşturma

az webapp up --resource-group myresourcegroup --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 olduğu gibi aynı konumu kullanın.
  • yerine <app-name> tüm Azure'da benzersiz bir ad yazın (sunucu uç noktası https://\<app-name>.azurewebsites.net olur). için izin verilen <app-name> karakterler A-Z, 0-9 ve -'dır. İyi bir desen, şirket adınızla uygulama tanımlayıcısının bir birleşimini kullanmaktır.
  • App Service Temel katmanı sanal ağ tümleştirmeyi desteklemez. Lütfen Standart veya Premium.

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.)
  • Mevcut App Service temel testappserviceplan fiyatlandırma katmanında (B1) yeni bir plan oluşturun. --plan ve --sku isteğe bağlıdır.
  • Mevcut App Service uygulama oluşturun.
  • Henüz etkinleştirilmemişse uygulama için varsayılan günlüğü etkinleştirin.
  • Upload otomasyonu etkinken ZIP dağıtımını kullanarak depoyu açın.

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. < vnet-name> ve < subnet-name yerine esnek sunucunun sanal ağ ve alt ağ adını yazın.

az webapp vnet-integration add -g myresourcegroup -n  mywebapp --vnet VNETName --subnet webappsubnetName

Veritabanına bağlanmak için ortam değişkenlerini yapılandırma

Kod artık App Service dağıtıldığında, sonraki adım uygulamayı Azure'daki esnek sunucuya bağlamaktır. Uygulama kodu, veritabanı bilgilerini bir dizi ortam değişkensinde bulmayı bekler. Uygulama içinde ortam değişkenlerini App Service için set komutuyla "uygulama ayarları" az webapp config appsettings oluşturmanız gerekir.

az webapp config appsettings set --settings DBHOST="<mysql-server-name>.mysql.database.azure.com" DBNAME="flexibleserverdb" DBUSER="<username>" DBPASS="<password>"
  • yeni oluşturulan esnek sunucu komutu için < mysql-server-name>, < kullanıcı adı> ve parola <> yerine yazın.
  • Username <> < ve password> yerine komutun sizin için oluşturulan kimlik bilgilerini yazın.
  • Kaynak grubu ve uygulama adı.azure/config dosyasında önbelleğe alınmış değerlerden çizilir.
  • 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çindeki tüm giden bağlantılara izin verecek şekilde yapılandırma.

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

Kaynakları temizleme

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

az group delete -n myresourcegroup

Sonraki adımlar