Cvičení – konfigurace, nasazení a spuštění aplikace v Azure

Dokončeno

Teď můžete aplikaci spustit v Azure. Potřebujete vytvořit aplikaci Aplikace Azure Service, nastavit ji pomocí spravované identity a konfigurace trezoru a nasadit kód.

Vytvoření plánu a aplikace služby App Service

Vytvoření aplikace služby App Service se skládá ze dvou kroků: nejprve vytvoříte plán a teprve potom aplikaci.

Název plánu musí být v rámci vašeho předplatného jedinečný, takže můžete použít stejný název: keyvault-exercise-plan. Název aplikace ale musí být globálně jedinečný, proto si vyberte vlastní.

  1. Spuštěním následujícího příkazu v Azure Cloud Shellu vytvořte plán služby App Service.

    az appservice plan create \
        --name keyvault-exercise-plan \
        --sku FREE \
        --location centralus \
        --resource-group "<rgn>[sandbox resource group name]</rgn>"
    
  2. Dále vytvořte webovou aplikaci, která používá plán služby App Service, který jste vytvořili, spuštěním následujícího příkazu. Nezapomeňte v parametru --name nahradit <your-unique-app-name> názvem vaší aplikace.

    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>
    

Přidání konfigurace do aplikace

Pokud chcete nasazení do Azure nasadit, postupujte podle osvědčených postupů služby App Service při vkládání VaultName konfigurace do nastavení aplikace místo konfiguračního souboru. Spusťte tento příkaz, kterým vytvoříte nastavení aplikace. Nezapomeňte nahradit <your-unique-app-name> název aplikace v parametru --name i <your-unique-vault-name> názvem trezoru v parametru --settings .

az webapp config appsettings set \
    --resource-group "<rgn>[sandbox resource group name]</rgn>" \
    --name <your-unique-app-name> \
    --settings 'VaultName=<your-unique-vault-name>'

Pokud chcete nasazení do Azure nasadit, postupujte podle osvědčených postupů služby App Service při vkládání VaultName konfigurace do nastavení aplikace místo konfiguračního souboru. Také nastavíte SCM_DO_BUILD_DURING_DEPLOYMENT nastavení tak true , aby služba App Service obnovila balíčky vaší aplikace na serveru a vytvořila potřebnou konfiguraci pro spuštění aplikace. Spusťte tento příkaz, který vytvoří nastavení aplikace. Nezapomeňte nahradit <your-unique-app-name> název aplikace v parametru --name i <your-unique-vault-name> názvem trezoru v parametru --settings .

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'

Povolení spravované identity

Povolení spravované identity v aplikaci je jedna vložka. Pokud ho chcete ve své aplikaci povolit, spusťte následující příkaz. Nezapomeňte v parametru --name nahradit <your-unique-app-name> názvem vaší aplikace.

az webapp identity assign \
    --resource-group "<rgn>[sandbox resource group name]</rgn>" \
    --name <your-unique-app-name>

Z výsledného výstupu JSON zkopírujte principalId hodnotu. PrincipalId je jedinečné ID nové identity aplikace v Microsoft Entra ID a použijete ho v dalším kroku.

Udělení přístupu k trezoru

Posledním krokem před nasazením je přiřazení oprávnění služby Key Vault spravované identitě vaší aplikace. Nezapomeňte v parametru nahradit název <your-unique-vault-name> vašeho trezoru a jako hodnotu object-id pro následující příkaz zadejte principalId hodnotu, kterou jste zkopírovali z předchozího --name kroku. Pokud chcete vytvořit Get a List získat přístup, spusťte tento příkaz.

az keyvault set-policy \
    --secret-permissions get list \
    --name <your-unique-vault-name> \
    --object-id <your-managed-identity-principleid>

Nasazení a vyzkoušení aplikace

  1. Veškerá konfigurace je nastavená a jste připraveni k nasazení. Následující příkazy pub site.zip pub Nezapomeňte v parametru --name nahradit <your-unique-app-name> názvem vaší aplikace.

    Poznámka:

    Pokud jste to ještě neudělali, budete muset cd zpět do adresáře KeyVaultDemoApp.

    dotnet publish -o pub
    zip -j site.zip pub/*
    
    az webapp deploy \
        --src-path site.zip \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name <your-unique-app-name>
    
  1. Veškerá konfigurace je nastavená a jste připraveni aplikaci nasadit. Následující příkazy zazipuje aplikaci do site.zip a nasadí ji do služby App Service. Ze souboru ZIP se vyloučíme node_modules , protože služba App Service je automaticky obnoví při nasazení. Nezapomeňte v parametru --name nahradit <your-unique-app-name> názvem vaší aplikace.

    Poznámka:

    Pokud jste to ještě neudělali, budete muset cd zpět do adresáře KeyVaultDemoApp.

    zip site.zip * -x node_modules/
    
    az webapp deploy \
        --src-path site.zip \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name <your-unique-app-name>
    
  1. Dokončení nasazení může trvat minutu nebo dvě. Po získání výsledku, který označuje, že web nasazený, otevřete https://<your-unique-app-name>.azurewebsites.net/api/SecretTest v prohlížeči. První spuštění aplikace na serveru chvíli trvá, ale potom by se měla zobrazit hodnota tajného kódu reindeer_flotilla.

Vaše aplikace je dokončená a nasazená.