Öğretici: App Services Web uygulamasını sanal ağdaki MySQL için Azure Veritabanı - Esnek Sunucu'ya bağlama
ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Esnek Sunucu
Bu öğreticide, aynı veya farklı sanal ağlarda yalıtılmış bir MySQL için Azure Veritabanı Esnek Sunucu örneğine Azure Uygulaması Service Web Uygulaması oluşturma ve bağlama gösterilmektedir.
Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:
- Sanal ağda MySQL için Azure Veritabanı Esnek Sunucu örneği oluşturma
- App Service'e temsilci atamak ve web uygulaması oluşturmak için bir alt ağ oluşturma
- Web uygulamasını sanal ağa ekleme
- Web uygulamasından MySQL için Azure Veritabanı Esnek Sunucusuna bağlanma
- Farklı sanal ağlarda yalıtılmış bir Web uygulamasını ve MySQL için Azure Veritabanı Esnek Sunucu örneğini bağlama
Önkoşullar
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir Azure hesabı oluşturun. Şu anda ücretsiz Azure hesabıyla 12 ay boyunca MySQL için Azure Veritabanı - Esnek Sunucu ücretsiz sürümünü deneyebilirsiniz. Daha fazla bilgi için bkz. MySQL için Azure Veritabanı - Esnek Sunucuyu ücretsiz deneyin.
Bu makale, Azure CLI 2.0 veya sonraki bir sürümünü yerel olarak çalıştırmanızı gerektirir. 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ızda oturum açmanız gerekir. 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ışındaki abonelik kimliği özelliğini abonelik kimliği yer tutucusuna değiştirin.
az account set --subscription <subscription ID>
MySQL için Azure Veritabanı Esnek Sunucu örneği oluşturma
Aşağıdaki komutu kullanarak bir sanal ağ (VNET) içinde özel MySQL için Azure Veritabanı Esnek Sunucu örneği oluşturun:
az mysql flexible-server create --resource-group myresourcegroup --location westus2 --vnet VNETName
yeni oluşturulan sanal ağın bağlantı dizesi ve 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ı oluşturur.
- Yeni
VNETName
MySQL için Azure Veritabanı Esnek Sunucu örneğiniz ve MySQL için Azure Veritabanı Esnek Sunucu örneği için bu sanal ağ içindeki alt ağınız için yeni bir sanal ağ oluşturun. Adın benzersiz olduğundan emin olun. - Sağlanmadıysa sunucunuz için yönetici kullanıcı adı , parolası oluşturur.
- flexibleserverdb adlı boş bir veritabanı oluşturur.
Not
Sağlanmadıysa sizin için oluşturulan parolanızı not edin. Parolayı unutursanız komutunu kullanarak parolayı az mysql flexible-server update
sıfırlamanız gerekir.
App Service Uç Noktası için Alt Ağ Oluşturma
Şimdi App Service Web App uç noktasına temsilci olarak atanan bir alt ağa ihtiyacınız var. MySQL 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.
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 komut oluşturulduktan sonra web uygulaması için sanal ağ tümleştirme kuralı eklemesi gerektiğinden, bu komutun ardından sanal ağ adını ve alt ağ adını not edin.
Web uygulaması oluşturma
Bu bölümde App Service uygulamasında uygulama konağı oluşturacak ve bu uygulamayı MySQL için Azure Veritabanı Esnek Sunucu veritabanına bağlayacaksınız. Terminaldeki uygulama kodunuzun depo kökünde olduğunuzdan emin olun.
az webapp up komutuyla bir App Service uygulaması (konak işlemi) oluşturun.
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 kullandığınız konumu kullanın.
- Uygulama adını tüm Azure'da benzersiz bir adla değiştirin <(sunucu uç noktası olur
https://\<app-name>.azurewebsites.net
).> 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. - App Service Basic katmanı sanal ağ tümleştirmesini desteklemez. Lütfen Standart veya Premium kullanı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. (Bu komutta, veritabanını daha önce oluşturduğunuz kaynak grubunu kullanırsınız.)
- App Service planı
testappserviceplan
yoksa Temel fiyatlandırma katmanında (B1) oluşturun. --plan ve --sku isteğe bağlıdır. - 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ı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< alt ağ-adını, MySQL için Azure Veritabanı Esnek Sunucu örneğinin kullandığı sanal ağ ve alt ağ adıyla değiştirin<.
az webapp vnet-integration add -g myresourcegroup -n mywebapp --vnet VNETName --subnet webappsubnetName
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 MySQL 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 komutuyla az webapp config appsettings set
"uygulama ayarları" oluşturursunuz.
az webapp config appsettings set --settings DBHOST="<mysql-server-name>.mysql.database.azure.com" DBNAME="flexibleserverdb" DBUSER="<username>" DBPASS="<password>"
- Yeni oluşturulan MySQL için Azure Veritabanı Esnek Sunucu komutunun mysql-server-name<>, kullanıcı adı> ve <parolasını> 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 myresourcesourcegroup --generic-configurations '{"vnetRouteAllEnabled": true}'
Farklı sanal ağlarda App Service Web uygulaması ve MySQL için Azure Veritabanı Esnek Sunucu örneği
App Service uygulamasını ve MySQL için Azure Veritabanı Esnek Sunucu örneğini farklı sanal ağlarda (VNet) oluşturduysanız, sorunsuz bir bağlantı kurmak için aşağıdaki iki adımı uygulamanız gerekir:
- Sanal ağ eşlemesini (yerel veya genel) kullanarak iki sanal ağı bağlayın. Bkz . Sanal ağları sanal ağ eşleme kılavuzuyla bağlama .
- Sanal ağ bağlantılarını kullanarak MySQL için Azure Veritabanı Esnek Sunucu örneğinin Özel DNS bölgesini web uygulamasının sanal ağına bağlayın. Sanal ağda MySQL için Azure Veritabanı Esnek Sunucu örnekleri oluşturmak için Azure portalını veya Azure CLI'yı kullanırsanız, sağlanan sunucu adı kullanılarak aboneliğinizde yeni bir özel DNS bölgesi otomatik olarak sağlanır. MySQL için Azure Veritabanı Esnek Sunucu örneğinin özel DNS bölgesine gidin ve sanal ağ bağlantısı ayarlamak için Özel DNS bölgesini sanal ağa bağlama kılavuzunu izleyin.
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 myresourcegroup