Öğ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
VNETNameağ 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.netolur). 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
testappserviceplanfiyatlandı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