Cvičení – konfigurace, nasazení a spuštění aplikace v Azure
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í.
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>"
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
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>
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>
- 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á.