Kontejnerizace aplikací ASP.NET a jejich migrace do Azure App Service

V tomto článku se dozvíte, jak kontejnerizovat ASP.NET aplikace a migrovat je do služby Aplikace Azure Service pomocí nástroje kontejnerizace aplikací Azure Migrate. Proces kontejnerizace nevyžaduje přístup k základu kódu a poskytuje snadný způsob, jak kontejnerizovat existující aplikace. Nástroj funguje pomocí spuštěného stavu aplikací na serveru k určení komponent aplikace. Pak vám pomůže je zabalit do image kontejneru. Kontejnerizovanou aplikaci pak můžete nasadit ve službě Aplikace Azure Service.

Nástroj Kontejnerizace aplikací Azure Migrate aktuálně podporuje:

Nástroj Kontejnerizace aplikací vám pomůže:

  • Objevte komponenty aplikace. Nástroj se vzdáleně připojí k aplikačním serverům, na kterých běží vaše ASP.NET aplikace, a zjistí komponenty aplikace. Vytvoří soubor Dockerfile, který můžete použít k vytvoření image kontejneru pro aplikaci.
  • Sestavte image kontejneru. Soubor Dockerfile můžete zkontrolovat a dále přizpůsobit na základě požadavků vaší aplikace a použít ho k sestavení image kontejneru aplikace. Image kontejneru aplikace se odešle do registru kontejneru Azure, který zadáte.
  • Nasazení do služby Aplikace Azure Service Nástroj pak vygeneruje soubory nasazení potřebné k nasazení kontejnerizované aplikace do služby Aplikace Azure Service.

Poznámka:

Nástroj Kontejnerizace aplikací Azure Migrate vám pomůže zjistit konkrétní typy aplikací (ASP.NET a webové aplikace Java v Apache Tomcat) a jejich komponenty na aplikačním serveru. Ke zjišťování serverů a inventáře aplikací, rolí a funkcí spuštěných na místních počítačích použijte nástroj azure Migrate Discovery and Assessment Tool.

Ne všechny aplikace budou těžit z přímé směny na kontejnery bez významné změny architektury. Mezi výhody přesunu stávajících aplikací do kontejnerů bez nutnosti přepisování patří:

  • Vylepšené využití infrastruktury Když používáte kontejnery, může více aplikací sdílet prostředky a hostovat je ve stejné infrastruktuře. To vám může pomoct konsolidovat infrastrukturu a zlepšit využití.
  • Zjednodušená správa Hostováním aplikací na moderních spravovaných platformách, jako jsou AKS a App Service, můžete zjednodušit postupy správy. Tohoto zjednodušení můžete dosáhnout vyřazením nebo snížením procesů údržby a správy infrastruktury, které byste tradičně prováděli s vlastní infrastrukturou.
  • Přenositelnost aplikací. Díky zvýšenému přijetí a standardizaci formátů a platforem specifikace kontejnerů se přenositelnost aplikací už netýká.
  • Využijte DevOps k přechodu na moderní správu. Používání kontejnerů vám pomůže přijmout a standardizovat moderní postupy pro správu a zabezpečení a přechod na DevOps.

V tomto kurzu se naučíte:

  • Nastavte účet Azure.
  • Nainstalujte nástroj kontejnerizace aplikací Azure Migrate.
  • Objevte svou ASP.NET aplikaci.
  • Sestavte image kontejneru.
  • Nasaďte kontejnerizovanou aplikaci ve službě App Service.

Poznámka:

Kurzy poskytují nejjednodušší cestu nasazení pro scénář, abyste mohli rychle nastavit testování konceptu. Kurzy používají výchozí možnosti, pokud je to možné, a nezobrazují všechna nastavení a cesty.

Požadavky

Než začnete s tímto kurzem, měli byste:

Požadavek Podrobnosti
Určení počítače, na který se má nástroj nainstalovat Potřebujete počítač s Windows, na kterém chcete nainstalovat a spustit nástroj kontejnerizace aplikací Azure Migrate. Na počítači s Windows může běžet server (Windows Server 2016 nebo novější) nebo klientský (Windows 10) operační systém. (Nástroj může běžet na ploše.)

Počítač s Windows, na kterém je nástroj spuštěný, by měl mít síťové připojení k serverům nebo virtuálním počítačům, které hostují ASP.NET aplikace, které budete kontejnerizovat.

Ujistěte se, že je na počítači s Windows, na kterém běží nástroj kontejnerizace aplikací Azure Migrate, k dispozici 6 GB. Tento prostor slouží k ukládání artefaktů aplikace.

Tento počítač s Windows by měl mít přístup k internetu, a to buď přímo, nebo prostřednictvím proxy serveru.

Pokud na počítači, na kterém běží nástroj Kontejnerizace aplikací a aplikační server, ještě není nainstalovaný nástroj Microsoft Web Deployment, nainstalujte ho. Nástroj si můžete stáhnout.
Aplikační servery Povolte vzdálenou komunikace PowerShellu na aplikačních serverech: přihlaste se k aplikačnímu serveru a podle těchto pokynů zapněte vzdálenou vzdálenou komunikace PowerShellu.

Ujistěte se, že je na serveru aplikace nainstalovaný PowerShell 5.1. Postupujte podle pokynů v tématu Instalace a konfigurace WMF 5.1 na aplikačním serveru.

Pokud na počítači, na kterém běží nástroj Kontejnerizace aplikací a aplikační server, ještě není nainstalovaný nástroj Microsoft Web Deployment, nainstalujte ho. Nástroj si můžete stáhnout.
ASP.NET aplikace Nástroj aktuálně podporuje:
  • ASP.NET aplikace, které používají rozhraní .NET Framework 3.5 nebo novější.
  • Aplikační servery se systémem Windows Server 2012 R2 nebo novějším. (Aplikační servery by měly používat PowerShell 5.1.)
  • Aplikace, které běží na Internetová informační služba 7.5 nebo novější.


Nástroj aktuálně nepodporuje:
  • Aplikace, které vyžadují ověřování systému Windows. (AKS v současné době nepodporuje gMSA.)
  • Aplikace, které jsou závislé na jiných službách Windows hostovaných mimo Internetová informační služba.

Příprava uživatelského účtu Azure

Pokud nemáte předplatné Azure, vytvořte si před zahájením bezplatný účet .

Po nastavení předplatného budete potřebovat uživatelský účet Azure s:

  • Oprávnění vlastníka k předplatnému Azure.
  • Oprávnění k registraci aplikací Microsoft Entra.

Pokud jste si právě vytvořili bezplatný účet Azure, jste vlastníkem vašeho předplatného. Pokud nejste vlastníkem předplatného, s vlastníkem přiřaďte oprávnění následujícím způsobem:

  1. Na webu Azure Portal vyhledejte "předplatná". V části Služby vyberte Předplatná:

    Screenshot that shows the search box for searching for an Azure subscription.

  2. Na stránce Předplatná vyberte předplatné, ve kterém chcete vytvořit projekt Azure Migrate.

  3. V předplatném v levém podokně vyberte Řízení přístupu (IAM).

  4. Na kartě Kontrola přístupu vyhledejte příslušný uživatelský účet.

  5. V části Přidat přiřazení role vyberte Přidat:

    Screenshot that shows searching for a user account to check access and assign a role.

  6. Na stránce Přidat přiřazení role vyberte roli Vlastník a pak vyberte účet (azmigrateuser v našem příkladu). Pak vyberte Uložit.

    Screenshot that shows the Add role assignment page.

    Váš účet Azure také potřebuje oprávnění k registraci aplikací Microsoft Entra.

  7. Na webu Azure Portal přejděte na uživatelské Nastavení uživatele>Microsoft Entra ID.>

  8. V uživatelském nastavení ověřte, že uživatelé Microsoft Entra mohou registrovat aplikace. (Tato možnost je nastavená na Ano ve výchozím nastavení.)

    Screenshot that shows the User settings page.

  9. Pokud je možnost Registrace aplikací nastavená na Ne, požádejte tenanta nebo globálního správce, aby přiřadil požadované oprávnění. Případně může tenant nebo globální správce přiřadit roli vývojář aplikace k účtu, aby mohla registrace aplikací Microsoft Entra povolit. Další informace najdete v tématu Přiřazení rolí uživatelům.

Stažení a instalace nástroje Azure Migrate App Containerization

  1. Stáhněte instalační program kontejnerizace aplikací Azure Migrate na počítači s Windows.

  2. Otevřete PowerShell v režimu správce a změňte adresář PowerShellu na složku, která obsahuje instalační program.

  3. Spusťte instalační skript pomocí tohoto příkazu:

    .\AppContainerizationInstaller.ps1
    

Poznámka:

V systému Windows Server 2022 upravte řádek 135 a odeberte PowerShell-ISE ze seznamu funkcí, protože se už nepodporuje.

Otevření nástroje Kontejnerizace aplikací

  1. Otevřete prohlížeč na libovolném počítači, který se může připojit k počítači s Windows, na kterém běží nástroj Kontejnerizace aplikací. Přejděte na adresu URL nástroje: https:// názvový název nebo IP adresa: 44369.

    Případně můžete aplikaci otevřít z plochy pomocí zástupce aplikace.

  2. Pokud se zobrazí upozornění, že vaše připojení není soukromé, vyberte Upřesnit a pokračujte na web. Toto upozornění se zobrazí, protože webové rozhraní používá certifikát TLS/SSL podepsaný svým držitelem.

  3. Na přihlašovací obrazovce se přihlaste pomocí účtu místního správce počítače.

  4. Jako typ aplikace, kterou chcete kontejnerizovat, vyberte ASP.NET webových aplikací .

  5. V seznamu cílových služeb Azure vyberte Kontejnery ve službě Aplikace Azure Service:

    Screenshot that shows the application type and target lists.

Dokončení požadavků nástroje

  1. Přijměte licenční podmínky a přečtěte si informace třetích stran.
  2. V nástrojové webové aplikaci nastavte požadavky, proveďte následující kroky:
    • Připojení. Nástroj zkontroluje, jestli má počítač s Windows přístup k internetu. Pokud počítač používá proxy server:

      1. Vyberte Nastavit proxy a zadejte adresu proxy serveru (ve formulářové IP adrese nebo plně kvalifikovaném názvu domény) a port naslouchání.

      2. Pokud proxy server potřebuje přihlašovací údaje, zadejte je.

      3. Pokud jste přidali podrobnosti o proxy serveru nebo zakázali proxy server nebo ověřování, znovu vyberte Uložit a aktivujte kontrolu připojení.

      Podporuje se jen proxy protokolu HTTP.

    • Nainstalujte aktualizace. Nástroj automaticky vyhledá nejnovější aktualizace a nainstaluje je. Můžete také ručně nainstalovat nejnovější verzi nástroje.

    • Nainstalujte nástroj Microsoft Web Deploy. Nástroj zkontroluje, jestli je nástroj Microsoft Web Deployment nainstalovaný na počítači s Windows, na kterém běží nástroj kontejnerizace aplikací Azure Migrate.

    • Povolte vzdálené komunikace PowerShellu. Nástroj vás vyzve, abyste se ujistili, že je na aplikačních serverech s aplikacemi, na kterých běží ASP.NET aplikace, které chcete kontejnerizovat, povolené vzdálené komunikace PowerShellu.

Přihlášení k Azure

  1. Vyberte Přihlásit se a přihlaste se ke svému účtu Azure.

    K ověření v Azure potřebujete kód zařízení. Výběrem možnosti Přihlásit by se mělo otevřít okno, které obsahuje kód zařízení. Pokud se okno nezobrazí, ujistěte se, že jste v prohlížeči zakázali blokování automaticky otevíraných oken.

  2. Vyberte Kopírovat kód a přihlaste se, zkopírujte kód zařízení a otevřete výzvu k přihlášení k Azure na nové kartě prohlížeče:

    Screenshot that shows the Device code for Azure Sign in window.

  3. Na nové kartě vložte kód zařízení a dokončete přihlášení pomocí přihlašovacích údajů účtu Azure. Po přihlášení můžete zavřít kartu prohlížeče a vrátit se do webového rozhraní nástroje Kontejnerizace aplikací.

  4. Vyberte tenanta Azure, kterého chcete použít.

  5. Zadejte předplatné Azure, které chcete použít.

Zjišťování aplikací ASP.NET

Nástroj Kontejnerizace aplikací se vzdáleně připojuje k aplikačním serverům pomocí zadaných přihlašovacích údajů a pokouší se zjistit ASP.NET aplikace hostované na aplikačních serverech.

  1. Zadejte IP adresu nebo plně kvalifikovaný název domény serveru a přihlašovací údaje serveru, na kterém běží aplikace ASP.NET, která se má použít k vzdálenému připojení k serveru pro zjišťování aplikací.

    • Zadané přihlašovací údaje musí být místního správce (Windows) na aplikačním serveru.
    • Pro účty domény (uživatel musí být správcem aplikačního serveru), předpona uživatelského jména s názvem domény v tomto formátu: <doména\uživatelské jméno>.
    • Pro místní účty (uživatel musí být správcem aplikačního serveru), předpona uživatelského jména s názvem hostitele v tomto formátu: <název hostitele\uživatelské jméno>.
    • Zjišťování aplikací můžete spustit pro maximálně pět serverů najednou.
  2. Výběrem možnosti Ověřit ověřte , jestli je aplikační server dostupný z počítače, na kterém je spuštěný nástroj, a jestli jsou přihlašovací údaje platné. Po úspěšném ověření se ve sloupci Stav zobrazí stav mapovaný:

    Screenshot that shows the server status as Mapped.

  3. Výběrem možnosti Pokračovat spustíte zjišťování aplikací na vybraných aplikačních serverech.

  4. Po dokončení zjišťování aplikací vyberte aplikace, které chcete kontejnerizovat:

    Screenshot that shows the discovered ASP.NET application.

  5. Zadejte název cílového kontejneru pro každou vybranou aplikaci. Zadejte název kontejneru jako <name:tag>, kde se značka používá pro image kontejneru. Můžete například zadat název cílového kontejneru jako název aplikace:v1.

Parametrizace konfigurací aplikací

Parametrizace konfigurace zpřístupňuje konfiguraci jako parametr času nasazení. Parametrizace umožňuje nakonfigurovat nastavení při nasazování aplikace na rozdíl od toho, aby byla pevně zakódovaná na konkrétní hodnotu v imagi kontejneru. Tato možnost je například užitečná pro parametry, jako jsou databázové připojovací řetězec.

  1. Vyberte konfigurace aplikací, abyste zkontrolovali zjištěné konfigurace.

  2. Vyberte parametry, které chcete parametrizovat, a pak vyberte Použít:

    Screenshot that shows the list of detected configurations.

Externí závislosti systému souborů

Můžete přidat další složky, které vaše aplikace používá. Určete, jestli by měly být součástí image kontejneru nebo by se měly externě připojovat k trvalému úložišti prostřednictvím sdílené složky Azure. Použití externího trvalého úložiště funguje skvěle pro stavové aplikace, které ukládají stav mimo kontejner nebo mají jiný statický obsah uložený v systému souborů.

  1. Vyberte Upravit v části Složky aplikace a zkontrolujte zjištěné složky aplikace. Tyto složky byly identifikovány jako povinné artefakty, které aplikace potřebuje. Zkopírují se do image kontejneru.

  2. Vyberte Přidat složku a zadejte cesty ke složce , které chcete přidat.

  3. Pokud chcete přidat více složek na stejný svazek, oddělte hodnoty čárkami.

  4. Jako možnost úložiště vyberte sdílenou složku Azure, pokud chcete, aby se složky ukládaly mimo kontejner v trvalém úložišti.

  5. Po kontrole složek aplikací vyberte Uložit :

    Screenshot that shows the Edit application folders window.

  6. Výběrem možnosti Pokračovat přejděte do fáze sestavení image kontejneru.

Sestavení image kontejneru

  1. V rozevíracím seznamu vyberte registr kontejnerů Azure, který se použije k sestavení a uložení imagí kontejnerů pro aplikace. Můžete použít existující registr kontejneru Azure nebo vytvořit nový výběrem možnosti Vytvořit nový registr:

    Screenshot that shows the Build images window.

    Poznámka:

    Zobrazí se jenom registry kontejnerů Azure s povoleným uživatelským účtem správce. Uživatelský účet správce se v současné době vyžaduje k nasazení image z registru kontejneru Azure do služby Aplikace Azure Service. Další informace najdete v tématu Ověřování pomocí registru kontejneru Azure.

  2. Soubory Dockerfile potřebné k sestavení imagí kontejneru pro každou vybranou aplikaci se generují na začátku kroku sestavení. Výběrem možnosti Zkontrolovat zkontrolujte soubor Dockerfile. Před zahájením procesu sestavení můžete do souboru Dockerfile přidat také veškerá potřebná přizpůsobení souboru Dockerfile a změny uložit.

  3. Vyberte aplikace, pro které chcete vytvořit image, a pak vyberte Sestavit. Výběrem možnosti Sestavení se spustí sestavení image kontejneru pro každou aplikaci. Nástroj monitoruje stav sestavení a po dokončení sestavení vám umožní pokračovat k dalšímu kroku.

  4. Průběh sestavení můžete monitorovat tak, že ve sloupci stavu vyberete Možnost Sestavení probíhá . Odkaz se aktivuje několik minut po aktivaci procesu sestavení.

  5. Po dokončení sestavení vyberte Pokračovat a zadejte nastavení nasazení:

    Screenshot that shows the Review link, the container image status, and the Build and Continue buttons.

Nasazení kontejnerizované aplikace ve službě Aplikace Azure Service

Po sestavení image kontejneru je dalším krokem nasazení aplikace jako kontejneru ve službě Aplikace Azure Service.

  1. Vyberte plán služby Aplikace Azure, který má aplikace používat.

    Pokud nemáte plán služby App Service nebo chcete vytvořit nový plán služby App Service, který chcete použít, můžete ho vytvořit výběrem možnosti Vytvořit nový plán služby App Service.

  2. Po výběru plánu služby App Service vyberte Pokračovat .

  3. Pokud jste parametrizovali konfigurace aplikace, zadejte úložiště tajných kódů, které se má pro aplikaci použít. Ke správě tajných kódů aplikace můžete zvolit azure Key Vault nebo nastavení aplikace služby App Service. Další informace najdete v tématu Konfigurace připojovací řetězec.

    • Pokud jste pro správu tajných kódů vybrali nastavení aplikace služby App Service, vyberte Pokračovat.
    • Pokud chcete ke správě tajných kódů aplikací použít trezor klíčů Azure, zadejte trezor klíčů, který chcete použít.
      • Pokud nemáte trezor klíčů Azure nebo chcete vytvořit nový trezor klíčů, můžete ho vytvořit výběrem možnosti Vytvořit novou službu Azure Key Vault.
      • Nástroj automaticky přiřadí potřebná oprávnění ke správě tajných kódů prostřednictvím trezoru klíčů.
  4. Pokud jste přidali další složky a vybrali možnost sdílené složky Azure pro trvalé úložiště, zadejte sdílenou složku Azure, kterou má nástroj Kontejnerizace aplikací používat během nasazování. Nástroj zkopíruje složky aplikací, které jste nakonfigurovali pro Azure Files, a během nasazování je připojí ke kontejneru aplikace. 

    Pokud sdílenou složku Azure nemáte nebo chcete vytvořit novou sdílenou složku Azure, můžete ji vytvořit výběrem možnosti Vytvořit nový účet úložiště a sdílenou složku.

  5. Teď musíte zadat konfiguraci nasazení pro aplikaci. Vyberte Konfigurovat a přizpůsobte nasazení aplikace. V kroku konfigurace můžete zadat tato přizpůsobení:

    • Název. Zadejte jedinečný název aplikace. Tento název se použije k vygenerování adresy URL aplikace. Použije se také jako předpona pro další prostředky vytvořené v rámci nasazení.
    • Konfigurace aplikace. Pro všechny konfigurace aplikace, které jsou parametrizovány, zadejte hodnoty, které se mají použít pro aktuální nasazení.
    • Konfigurace úložiště. Zkontrolujte informace o všech složkách aplikací, které jsou nakonfigurované pro trvalé úložiště.

    Screenshot that shows the deployment configuration.

  6. Po uložení konfigurace nasazení pro aplikaci nástroj vygeneruje YAML nasazení Kubernetes pro aplikaci.

    • Výběrem možnosti Zkontrolovat zkontrolujte konfiguraci nasazení pro aplikace.

    • Vyberte aplikace, které chcete nasadit.

    • Výběrem možnosti Nasadit spustíte nasazení pro vybrané aplikace.

      Screenshot that shows the Deploy button.

    • Po nasazení aplikace můžete vybrat sloupec Stav nasazení a sledovat prostředky nasazené pro aplikaci.

Poradce při potížích

Pokud chcete řešit problémy s nástrojem Kontejnerizace aplikací, můžete se podívat na soubory protokolu na počítači s Windows, na kterém je nástroj spuštěný. Soubory protokolů nástroje se nacházejí v umístění C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs.

Další kroky