Alıştırma - Uygulamanızı Azure'da yapılandırma, dağıtma ve çalıştırma

Tamamlandı

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.

  1. 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>"
    
  2. 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

  1. 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>
    
  1. 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>
    
  1. 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ı!