Share via


ASP.NET app-containerisatie en migratie naar Azure App Service

In dit artikel leert u hoe u ASP.NET toepassingen in een container kunt plaatsen en deze kunt migreren naar Azure-app Service met behulp van het hulpprogramma Azure Migrate App Containerization. Het containerisatieproces vereist geen toegang tot uw codebasis en biedt een eenvoudige manier om bestaande toepassingen in een container te plaatsen. Het hulpprogramma werkt met behulp van de actieve status van de toepassingen op een server om de toepassingsonderdelen te bepalen. Vervolgens kunt u ze verpakken in een containerinstallatiekopieën. Vervolgens kunt u de containertoepassing implementeren op Azure-app Service.

Het hulpprogramma Azure Migrate App Containerization understeunt momenteel:

Met het hulpprogramma App Containerization kunt u het volgende doen:

  • Ontdek uw toepassingsonderdelen. Het hulpprogramma maakt extern verbinding met de toepassingsservers waarop uw ASP.NET toepassing wordt uitgevoerd en detecteert de toepassingsonderdelen. Er wordt een Dockerfile gemaakt die u kunt gebruiken om een containerinstallatiekopieën voor de toepassing te maken.
  • Bouw de containerinstallatiekopieën. U kunt het Dockerfile inspecteren en verder aanpassen op basis van uw toepassingsvereisten en deze gebruiken om de containerinstallatiekopieën van uw toepassing te bouwen. De containerinstallatiekopieën van de toepassing worden gepusht naar een Azure-containerregister dat u opgeeft.
  • Implementeren in Azure-app Service. Het hulpprogramma genereert vervolgens de implementatiebestanden die nodig zijn om de containertoepassing te implementeren in Azure-app Service.

Notitie

Met het hulpprogramma Containerisatie van Azure Migrate-apps kunt u specifieke toepassingstypen (ASP.NET en Java-web-apps op Apache Tomcat) en de bijbehorende onderdelen op een toepassingsserver detecteren. Als u servers en de inventarisatie van apps, rollen en functies wilt detecteren die worden uitgevoerd op on-premises computers, gebruikt u het hulpprogramma Voor detectie en evaluatie van Azure Migrate.

Niet alle toepassingen profiteren van een rechte verschuiving naar containers zonder significante herarchitectering. Maar een aantal voordelen van het verplaatsen van bestaande apps naar containers zonder herschrijven zijn:

  • Verbeterd gebruik van de infrastructuur. Wanneer u containers gebruikt, kunnen meerdere toepassingen resources delen en worden gehost op dezelfde infrastructuur. Dit kan u helpen bij het consolideren van de infrastructuur en het verbeteren van het gebruik.
  • Vereenvoudigd beheer. Door uw toepassingen te hosten op moderne beheerde platforms zoals AKS en App Service, kunt u uw beheerprocedures vereenvoudigen. U kunt deze vereenvoudiging bereiken door de infrastructuuronderhouds- en beheerprocessen die u traditioneel zou uitvoeren met de infrastructuur, buiten gebruik te stellen of te verminderen.
  • Overdraagbaarheid van toepassingen. Met een verhoogde acceptatie en standaardisatie van indelingen en platforms voor containerspecificaties is de overdracht van toepassingen niet langer een probleem.
  • Gebruik modern beheer met behulp van DevOps. Door containers te gebruiken, kunt u moderne procedures gebruiken en standaardiseren voor beheer en beveiliging en overgang naar DevOps.

In deze zelfstudie leert u het volgende:

  • Een Azure-account instellen.
  • Installeer het hulpprogramma Azure Migrate App Containerization.
  • Ontdek uw ASP.NET toepassing.
  • Bouw de containerinstallatiekopieën.
  • Implementeer de containertoepassing in App Service.

Notitie

Zelfstudies bieden het eenvoudigste implementatiepad voor een scenario, zodat u snel een proof-of-concept kunt instellen. Zelfstudies gebruiken indien mogelijk standaardopties en tonen niet alle instellingen en paden.

Vereisten

Voordat u aan deze zelfstudie begint, moet u het volgende doen:

Vereiste DETAILS
Een computer identificeren waarop het hulpprogramma moet worden geïnstalleerd U hebt een Windows-computer nodig waarop u het hulpprogramma Azure Migrate App Containerization kunt installeren en uitvoeren. Op de Windows-computer kan een server (Windows Server 2016 of hoger) of een clientbesturingssysteem (Windows 10) worden uitgevoerd. (Het hulpprogramma kan worden uitgevoerd op uw bureaublad.)

De Windows-computer waarop het hulpprogramma wordt uitgevoerd, moet netwerkverbinding hebben met de servers of virtuele machines die als host fungeren voor de ASP.NET toepassingen die u in een container wilt plaatsen.

Zorg ervoor dat 6 GB beschikbaar is op de Windows-computer waarop het hulpprogramma Azure Migrate App Containerization wordt uitgevoerd. Deze ruimte is bedoeld voor het opslaan van toepassingsartefacten.

De Windows-computer moet toegang hebben tot internet, rechtstreeks of via een proxy.

Als het hulpprogramma Microsoft Web Deployment nog niet is geïnstalleerd op de computer waarop het hulpprogramma App Containerization en de toepassingsserver worden uitgevoerd, installeert u het. U kunt het hulpprogramma downloaden.
Toepassingsservers Schakel externe communicatie van PowerShell in op de toepassingsservers: meld u aan bij de toepassingsserver en volg deze instructies om externe communicatie van PowerShell in te schakelen.

Zorg dat PowerShell 5.1 of hoger is geïnstalleerd op de toepassingsserver. Volg de instructies in WMF 5.1 installeren en configureren op de toepassingsserver.

Als het hulpprogramma Microsoft Web Deployment nog niet is geïnstalleerd op de computer waarop het hulpprogramma App Containerization en de toepassingsserver worden uitgevoerd, installeert u het. U kunt het hulpprogramma downloaden.
ASP.NET toepassing Het hulpprogramma ondersteunt momenteel:
  • ASP.NET toepassingen die gebruikmaken van .NET Framework 3.5 of hoger.
  • Toepassingsservers met Windows Server 2012 R2 of hoger. (Toepassingsservers moeten PowerShell 5.1 uitvoeren.)
  • Toepassingen die worden uitgevoerd op Internet Information Services 7.5 of hoger.


Het hulpprogramma biedt momenteel geen ondersteuning voor:
  • Toepassingen waarvoor Windows-verificatie is vereist. (AKS biedt momenteel geen ondersteuning voor gMSA.)
  • Toepassingen die afhankelijk zijn van andere Windows-services die buiten Internet Information Services worden gehost.

Een Azure-gebruikersaccount voorbereiden

Als u geen abonnement op Azure hebt, maakt u een gratis account voordat u begint.

Nadat uw abonnement is ingesteld, hebt u een Azure-gebruikersaccount nodig met:

  • Eigenaarsmachtigingen voor het Azure-abonnement.
  • Machtigingen voor het registreren van Microsoft Entra-apps.

Als u net pas een gratis Azure-account hebt gemaakt, bent u de eigenaar van uw abonnement. Als u niet de eigenaar van het abonnement bent, kunt u met de eigenaar samenwerken om de volgende machtigingen toe te wijzen:

  1. Zoek in Azure Portal naar 'abonnementen'. Selecteer onder Services de optie Abonnementen:

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

  2. Selecteer op de pagina Abonnementen het abonnement waarin u een Azure Migrate-project wilt maken.

  3. Selecteer in het abonnement in het linkerdeelvenster Toegangsbeheer (IAM).

  4. Zoek op het tabblad Toegang controleren naar het relevante gebruikersaccount.

  5. Selecteer Onder Een roltoewijzing toevoegen de optie Toevoegen:

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

  6. Selecteer op de pagina Roltoewijzing toevoegen de rol Eigenaar en selecteer vervolgens het account (azmigrateuser in ons voorbeeld). Selecteer vervolgens Opslaan.

    Screenshot that shows the Add role assignment page.

    Uw Azure-account heeft ook machtigingen nodig om Microsoft Entra-apps te registreren.

  7. Ga in De Azure-portal naar gebruikersgebruikers van Microsoft Entra ID>>Instellingen.

  8. Controleer in gebruikersinstellingen of Microsoft Entra-gebruikers toepassingen kunnen registreren. (Deze optie is ingesteld op Ja standaard.)

    Screenshot that shows the User settings page.

  9. Als de optie App-registraties is ingesteld op Nee, vraagt u de tenant-/globale beheerder om de vereiste machtiging toe te wijzen. De tenant/globale beheerder kan de rol toepassingsontwikkelaar ook toewijzen aan een account om de registratie van Microsoft Entra-apps toe te staan. Zie Rollen toewijzen aan gebruikers voor meer informatie.

Het hulpprogramma Azure Migrate App Containerization downloaden en installeren

  1. Download het installatieprogramma voor Azure Migrate-appcontainerisatie op een Windows-computer.

  2. Open PowerShell in de beheerdersmodus en wijzig de PowerShell-map in de map die het installatieprogramma bevat.

  3. Voer het installatiescript uit met behulp van deze opdracht:

    .\AppContainerizationInstaller.ps1
    

Notitie

Bewerk regel 135 voor Windows Server 2022 en verwijder deze PowerShell-ISE uit de lijst met onderdelen, omdat deze niet meer wordt ondersteund.

Het hulpprogramma App Containerization openen

  1. Open een browser op elke computer die verbinding kan maken met de Windows-computer waarop het hulpprogramma App Containerization wordt uitgevoerd. Ga naar de URL van het hulpprogramma: https:// machinenaam of IP-adres: 44369.

    U kunt de app ook openen vanaf uw bureaublad met behulp van de snelkoppeling naar de app.

  2. Als u een waarschuwing ziet met de melding dat uw verbinding niet privé is, selecteert u Geavanceerd en gaat u verder naar de website. Deze waarschuwing wordt weergegeven omdat de webinterface gebruikmaakt van een zelfondertekend TLS/SSL-certificaat.

  3. Gebruik op het aanmeldingsscherm het lokale beheerdersaccount van de computer om u aan te melden.

  4. Selecteer ASP.NET web-apps als het type toepassing dat u in een container wilt opnemen.

  5. Selecteer Containers in Azure-app Service in de azure-doelservice:

    Screenshot that shows the application type and target lists.

De vereisten voor het hulpprogramma voltooien

  1. Accepteer de licentievoorwaarden en lees de informatie van derden.
  2. Voer in de web-app van het hulpprogramma de volgende stappen uit:
    • Connectiviteit. Het hulpprogramma controleert of de Windows-computer internettoegang heeft. Als de computer gebruikmaakt van een proxy:

      1. Selecteer Proxy instellen om het proxyadres (in het formulier-IP-adres of de FQDN) en de luisterpoort op te geven.

      2. Geef referenties op als de proxy verificatie nodig heeft.

      3. Als u proxygegevens hebt toegevoegd of de proxy of verificatie hebt uitgeschakeld, selecteert u Opslaan om de connectiviteitscontrole opnieuw te activeren.

      Alleen HTTP-proxy wordt ondersteund.

    • Installeer updates. Het hulpprogramma controleert automatisch op de meest recente updates en installeert deze. U kunt ook handmatig de nieuwste versie van het hulpprogramma installeren.

    • Installeer het hulpprogramma Microsoft Web Deploy. Het hulpprogramma controleert of het hulpprogramma Microsoft Web Deployment is geïnstalleerd op de Windows-computer waarop het hulpprogramma Azure Migrate App Containerization wordt uitgevoerd.

    • Externe communicatie van PowerShell inschakelen. Het hulpprogramma vraagt u ervoor te zorgen dat externe communicatie van PowerShell is ingeschakeld op de toepassingsservers waarop de ASP.NET toepassingen die u in een container wilt plaatsen.

Aanmelden bij Azure

  1. Selecteer Aanmelden om u aan te melden bij uw Azure-account.

    U hebt een apparaatcode nodig om te verifiëren met Azure. Als u Aanmelden selecteert, wordt er een venster geopend dat de apparaatcode bevat. Als het venster niet wordt weergegeven, controleert u of u de pop-upblokkering in de browser hebt uitgeschakeld.

  2. Selecteer Code kopiëren en aanmelden om de apparaatcode te kopiëren en open een Azure-aanmeldingsprompt op een nieuw browsertabblad:

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

  3. Plak op het nieuwe tabblad de apparaatcode en voltooi de aanmelding met behulp van uw Azure-accountreferenties. Nadat u bent aangemeld, kunt u het browsertabblad sluiten en terugkeren naar de webinterface van het hulpprogramma App Containerization.

  4. Selecteer de Azure-tenant die u wilt gebruiken.

  5. Geef het Azure-abonnement op dat u wilt gebruiken.

ASP.NET-toepassingen detecteren

Het hulpprogramma App Containerization maakt extern verbinding met de toepassingsservers met behulp van de opgegeven referenties en probeert ASP.NET toepassingen te detecteren die worden gehost op de toepassingsservers.

  1. Geef het IP-adres/FQDN van de server en de referenties op van de server waarop de ASP.NET toepassing wordt uitgevoerd die moet worden gebruikt om extern verbinding te maken met de server voor toepassingsdetectie.

    • De gegeven referenties moeten voor een lokale beheerder (Windows) op de toepassingsserver zijn.
    • Voor domeinaccounts (de gebruiker moet een beheerder op de toepassingsserver zijn), het voorvoegsel van de gebruikersnaam met de domeinnaam in deze indeling: <domein\gebruikersnaam>.
    • Voor lokale accounts (de gebruiker moet een beheerder op de toepassingsserver zijn), voorvoegsel de gebruikersnaam met de hostnaam in deze indeling: <hostnaam\gebruikersnaam>.
    • U kunt toepassingsdetectie uitvoeren voor maximaal vijf servers tegelijk.
  2. Selecteer Valideren om te controleren of de toepassingsserver bereikbaar is vanaf de computer waarop het hulpprogramma wordt uitgevoerd en of de referenties geldig zijn. Wanneer de validatie is geslaagd, wordt in de kolom Status de status weergegeven als Toegewezen:

    Screenshot that shows the server status as Mapped.

  3. Selecteer Doorgaan om toepassingsdetectie te starten op de geselecteerde toepassingsservers.

  4. Wanneer de toepassingsdetectie is voltooid, selecteert u de toepassingen die u in een container wilt plaatsen:

    Screenshot that shows the discovered ASP.NET application.

  5. Geef een naam op voor de doelcontainer voor elke geselecteerde toepassing. Geef de containernaam op als <naam:tag>, waarbij tag wordt gebruikt voor de containerinstallatiekopieën. U kunt bijvoorbeeld de naam van de doelcontainer opgeven als appname:v1.

Toepassingsconfiguraties parameteriseren

Door de configuratie te parameteriseren, wordt deze beschikbaar als een implementatietijdparameter. Met parameterisatie kunt u een instelling configureren wanneer u de toepassing implementeert in plaats van dat deze in code is vastgelegd op een specifieke waarde in de containerinstallatiekopieën. Deze optie is bijvoorbeeld handig voor parameters zoals database-verbindingsreeks s.

  1. Selecteer app-configuraties om gedetecteerde configuraties te controleren.

  2. Selecteer de parameters die u wilt parameteriseren en selecteer vervolgens Toepassen:

    Screenshot that shows the list of detected configurations.

Afhankelijkheden van bestandssysteem externaliseren

U kunt andere mappen toevoegen die door uw toepassing worden gebruikt. Geef op of ze deel moeten uitmaken van de containerinstallatiekopieën of moeten worden extern naar permanente opslag via een Azure-bestandsshare. Het gebruik van externe permanente opslag werkt uitstekend voor stateful toepassingen die de status buiten de container opslaan of andere statische inhoud hebben opgeslagen in het bestandssysteem.

  1. Selecteer Bewerken onder Toepassingsmappen om de gedetecteerde toepassingsmappen te controleren. Deze mappen zijn geïdentificeerd als verplichte artefacten die nodig zijn voor de toepassing. Ze worden gekopieerd naar de containerinstallatiekopieën.

  2. Selecteer Map toevoegen en geef de mappaden op die u wilt toevoegen.

  3. Als u meerdere mappen aan hetzelfde volume wilt toevoegen, scheidt u de waarden met komma's.

  4. Selecteer Azure-bestandsshare als opslagoptie als u wilt dat de mappen buiten de container worden opgeslagen in permanente opslag.

  5. Selecteer Opslaan nadat u de toepassingsmappen hebt bekeken:

    Screenshot that shows the Edit application folders window.

  6. Selecteer Doorgaan om door te gaan naar de buildfase van de containerinstallatiekopieën.

Containerinstallatiekopie maken

  1. Selecteer in de vervolgkeuzelijst een Azure-containerregister dat wordt gebruikt om de containerinstallatiekopieën voor de apps te bouwen en op te slaan. U kunt een bestaand Azure-containerregister gebruiken of een nieuw register maken door nieuw register maken te selecteren:

    Screenshot that shows the Build images window.

    Notitie

    Alleen Azure-containerregisters waarvoor het gebruikersaccount voor beheerders is ingeschakeld, worden weergegeven. Het gebruikersaccount van de beheerder is momenteel vereist voor het implementeren van een installatiekopieën uit een Azure-containerregister naar Azure-app Service. Zie Verifiëren met een Azure-containerregister voor meer informatie.

  2. De Dockerfiles die nodig zijn om de containerinstallatiekopieën voor elke geselecteerde toepassing te bouwen, worden gegenereerd aan het begin van de buildstap. Selecteer Controleren om het Dockerfile te controleren. U kunt ook eventuele benodigde aanpassingen aan het Dockerfile toevoegen in de beoordelingsstap en de wijzigingen opslaan voordat u het buildproces start.

  3. Selecteer de toepassingen waarvoor u installatiekopieën wilt bouwen en selecteer vervolgens Build. Als u Build selecteert, wordt de build van de containerinstallatiekopieën gestart voor elke toepassing. Het hulpprogramma bewaakt de buildstatus en laat u doorgaan met de volgende stap wanneer de build is voltooid.

  4. U kunt de voortgang van de build controleren door Build in Progress te selecteren onder de statuskolom. De koppeling wordt enkele minuten actief nadat u het buildproces hebt geactiveerd.

  5. Nadat de build is voltooid, selecteert u Doorgaan om implementatie-instellingen op te geven:

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

De container-app implementeren in Azure-app Service

Nadat de containerinstallatiekopie is gemaakt, is de volgende stap het implementeren van de toepassing als een container in Azure-app Service.

  1. Selecteer het Azure-app Service-plan dat de toepassing moet gebruiken.

    Als u geen App Service-plan hebt of een nieuw App Service-plan wilt maken dat u wilt gebruiken, kunt u er een maken door een nieuw App Service-plan maken te selecteren.

  2. Selecteer Doorgaan nadat u het App Service-plan hebt geselecteerd.

  3. Als u toepassingsconfiguraties met parameters hebt geconfigureerd, geeft u het geheime archief op dat moet worden gebruikt voor de toepassing. U kunt azure Key Vault- of App Service-toepassingsinstellingen kiezen om uw toepassingsgeheimen te beheren. Zie Verbindingsreeks s configureren voor meer informatie.

    • Als u App Service-toepassingsinstellingen hebt geselecteerd om uw geheimen te beheren, selecteert u Doorgaan.
    • Als u een Azure-sleutelkluis wilt gebruiken om uw toepassingsgeheimen te beheren, geeft u de sleutelkluis op die u wilt gebruiken.
      • Als u geen Azure-sleutelkluis hebt of een nieuwe sleutelkluis wilt maken, kunt u er een maken door nieuwe Azure Key Vault te selecteren.
      • Het hulpprogramma wijst automatisch de benodigde machtigingen toe voor het beheren van geheimen via de sleutelkluis.
  4. Als u meer mappen hebt toegevoegd en de optie Azure-bestandsshare hebt geselecteerd voor permanente opslag, geeft u de Azure-bestandsshare op die tijdens de implementatie door het hulpprogramma App Containerization moet worden gebruikt. Het hulpprogramma kopieert de toepassingsmappen die u hebt geconfigureerd voor Azure Files en koppelt deze tijdens de implementatie aan de toepassingscontainer. 

    Als u geen Azure-bestandsshare hebt of een nieuwe Azure-bestandsshare wilt maken, kunt u er een maken door een nieuw opslagaccount en een nieuwe bestandsshare te selecteren.

  5. U moet nu de implementatieconfiguratie voor de toepassing opgeven. Selecteer Configureren om de implementatie voor de toepassing aan te passen. In de configuratiestap kunt u deze aanpassingen opgeven:

    • Name. Geef een unieke app-naam op voor de toepassing. Deze naam wordt gebruikt om de toepassings-URL te genereren. Het wordt ook gebruikt als voorvoegsel voor andere resources die zijn gemaakt als onderdeel van de implementatie.
    • Toepassingsconfiguratie. Geef voor toepassingsconfiguraties die worden geparameteriseerd de waarden op die moeten worden gebruikt voor de huidige implementatie.
    • Opslagconfiguratie Bekijk de informatie voor alle toepassingsmappen die zijn geconfigureerd voor permanente opslag.

    Screenshot that shows the deployment configuration.

  6. Nadat u de implementatieconfiguratie voor de toepassing hebt opgeslagen, genereert het hulpprogramma de YAML voor de Kubernetes-implementatie voor de toepassing.

    • Selecteer Controleren om de implementatieconfiguratie voor de toepassingen te controleren.

    • Selecteer de toepassingen die u wilt implementeren.

    • Selecteer Implementeren om de implementatie voor de geselecteerde toepassingen te starten.

      Screenshot that shows the Deploy button.

    • Nadat de toepassing is geïmplementeerd, kunt u de kolom Implementatiestatus selecteren om de resources bij te houden die voor de toepassing zijn geïmplementeerd.

Problemen oplossen

Als u problemen met het hulpprogramma App Containerization wilt oplossen, kunt u de logboekbestanden bekijken op de Windows-computer waarop het hulpprogramma wordt uitgevoerd. Logboekbestanden voor het hulpprogramma bevinden zich in C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs.

Volgende stappen