Alıştırma - Uygulamanızı Azure'da yapılandırma, dağıtma ve çalıştırma
Artık uygulamanızı Azure’da çalıştırmanın zamanı geldi. bir Azure Uygulaması Hizmeti uygulaması oluşturmanız, yönetilen kimlik ve kasa yapılandırmanızla ayarlamanız ve kodunuzu dağıtmanız gerekir.
App Service planını ve uygulamasını oluşturma
App service uygulaması oluşturmak iki adımlı bir işlemdir. Önce planı, daha sonra uygulamayı oluşturursunuz.
Plan adının yalnızca aboneliğinizde benzersiz olması gerekir, böylece aynı adı kullanabilirsiniz: keyvault-exercise-plan
. Ancak uygulama adının genel olarak benzersiz olması gerekir, bu nedenle kendi adınızı seçin.
Azure Cloud Shell'de aşağıdaki komutu çalıştırarak bir App Service planı oluşturun.
az appservice plan create \ --name keyvault-exercise-plan \ --sku FREE \ --location centralus \ --resource-group "<rgn>[sandbox resource group name]</rgn>"
Ardından, oluşturduğunuz App Service planını kullanan Web Uygulamasını oluşturmak için aşağıdaki komutu çalıştırın. parametresindeki değerini uygulamanızın adıyla değiştirdiğinden
<your-unique-app-name>
--name
emin olun.az webapp create \ --plan keyvault-exercise-plan \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name <your-unique-app-name>
az webapp create \ --plan keyvault-exercise-plan \ --runtime "node|16LTS" \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name <your-unique-app-name>
Uygulamaya yapılandırma ekleme
Azure'a dağıtmak için, yapılandırmayı yapılandırma dosyası yerine uygulama ayarına yerleştirmeye yönelik VaultName
en iyi App Service uygulamasını izleyin. Uygulama ayarını oluşturmak için şu komutu çalıştırın. Her ikisini de <your-unique-app-name>
parametredeki uygulamanızın --name
adıyla ve <your-unique-vault-name>
parametredeki kasanızın adıyla değiştirdiğinden --settings
emin olun.
az webapp config appsettings set \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name <your-unique-app-name> \
--settings 'VaultName=<your-unique-vault-name>'
Azure'a dağıtmak için, yapılandırmayı yapılandırma dosyası yerine uygulama ayarına yerleştirmeye yönelik VaultName
en iyi App Service uygulamasını izleyin. Ayrıca, App Service'in uygulamanızın SCM_DO_BUILD_DURING_DEPLOYMENT
paketlerini sunucuya geri yüklemesini ve uygulamayı çalıştırmak için gerekli yapılandırmayı oluşturmasını sağlamak için ayarını true
olarak ayarlarsınız. Uygulama ayarlarını oluşturmak için şu komutu çalıştırın. Her ikisini de <your-unique-app-name>
parametredeki uygulamanızın --name
adıyla ve <your-unique-vault-name>
parametredeki kasanızın adıyla değiştirdiğinden --settings
emin olun.
az webapp config appsettings set \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name <your-unique-app-name> \
--settings 'VaultName=<your-unique-vault-name>' 'SCM_DO_BUILD_DURING_DEPLOYMENT=true'
Yönetilen kimliği etkinleştirme
Bir uygulamada yönetilen kimliği etkinleştirmek tek satırlık bir özelliktir. Uygulamanızda etkinleştirmek için aşağıdaki komutu çalıştırın. parametresindeki değerini uygulamanızın adıyla değiştirdiğinden <your-unique-app-name>
--name
emin olun.
az webapp identity assign \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name <your-unique-app-name>
Elde edilen JSON çıkışından principalId
değeri kopyalayın. PrincipalId
Microsoft Entra Id'de uygulamanın yeni kimliğinin benzersiz kimliğidir ve bunu bir sonraki adımda kullanacaksınız.
Kasaya erişim izni verme
Dağıtmadan önce son adım, uygulamanızın yönetilen kimliği için Key Vault izinlerini atamaktır. parametresinde her ikisini de <your-unique-vault-name>
kasanızın adıyla değiştirdiğinizden --name
emin olun ve aşağıdaki komutta önceki adımdan kopyaladığınız değeri değeri object-id
olarak girinprincipalId
. Oluşturmak Get
ve List
erişmek için bu komutu çalıştırın.
az keyvault set-policy \
--secret-permissions get list \
--name <your-unique-vault-name> \
--object-id <your-managed-identity-principleid>
Uygulamayı dağıtma ve deneme
Tüm yapılandırmanız ayarlandı ve dağıtıma hazırsınız! Aşağıdaki komutlar siteyi pub klasörüne yayımlar, site.zip dosyasına sıkıştırabilir ve zip'i App Service'e dağıtabilir. parametresindeki değerini uygulamanızın adıyla değiştirdiğinden
<your-unique-app-name>
--name
emin olun.Dekont
Henüz gitmediyseniz KeyVaultDemoApp dizinine geri
cd
gerekir.dotnet publish -o pub zip -j site.zip pub/* az webapp deployment source config-zip \ --src site.zip \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name <your-unique-app-name>
Tüm yapılandırmanız ayarlandı ve dağıtıma hazır! Aşağıdaki komutlar uygulamanızı site.zip dosyasına sıkıştırıp App Service'e dağıtır. App Service dağıttığınızda bunları otomatik olarak geri yüklediğinden zip'in dışında bırakıyoruz
node_modules
. parametresindeki değerini uygulamanızın adıyla değiştirdiğinden<your-unique-app-name>
--name
emin olun.Dekont
Henüz gitmediyseniz KeyVaultDemoApp dizinine geri
cd
gerekir.zip site.zip * -x node_modules/ az webapp deployment source config-zip \ --src site.zip \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name <your-unique-app-name>
- Dağıtımın tamamlanması bir veya iki dakika sürebilir. Sitenin dağıtıldığını belirten bir sonuç aldıktan sonra tarayıcıda açın
https://<your-unique-app-name>.azurewebsites.net/api/SecretTest
. Uygulamanın sunucuda ilk kez başlatılması biraz zaman alır, ancak başladıktan sonra reindeer_flotilla gizli dizi değerini görmeniz gerekir.
Uygulamanız tamamlandı ve dağıtıldı!