Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 helpt het u om ze te verpakken in een containerimage. Vervolgens kunt u de containertoepassing implementeren op Azure-app Service.
Het hulpprogramma Azure Migrate App Containerization understeunt momenteel:
- Containeriseren ASP.NET apps en implementeren in Windows-containers in App Service.
 - Containeriseren ASP.NET apps en implementeren in Windows-containers in Azure Kubernetes Service (AKS). Meer informatie over dit containerisatiescenario.
 - Java-web-apps in containers opslaan in Apache Tomcat (op Linux-servers) en deze implementeren in Linux-containers op AKS. Meer informatie over dit containerisatiescenario.
 - Java-web-apps in containers opslaan in Apache Tomcat (op Linux-servers) en deze implementeren in Linux-containers in App Service. Meer informatie over dit containerisatiescenario.
 
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 containerafbeelding voor de applicatie te maken.
 - Maak de containerimage. 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 containerafbeelding van de toepassing wordt 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.
 - Maak de containerimage.
 - Implementeer de containertoepassing in App Service.
 
Notitie
Handleidingen bieden het eenvoudigste deploypad voor een scenario, zodat u snel een proof-of-concept kunt opzetten. Indien mogelijk gebruiken handleidingen standaardopties en laten ze niet alle instellingen en paden zien.
Vereiste voorwaarden
Voordat u aan deze zelfstudie begint, moet u het volgende doen:
| Eis | Bijzonderheden | 
|---|---|
| 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 PowerShell remote toegang in op de toepassingsservers: log in op de toepassingsserver en volg deze instructies om PowerShell remote toegang 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: 
 Het hulpprogramma biedt momenteel geen ondersteuning voor: 
  | 
Een Azure-gebruikersaccount voorbereiden
Als u geen Azure-abonnement 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:
Zoek in Azure Portal naar 'abonnementen'. Selecteer onder Servicesde optie Abonnementen:
              
            Selecteer op de pagina Abonnementen het abonnement waarin u een Azure Migrate-project wilt maken.
Selecteer in het abonnement in het linkerdeelvenster Toegangsbeheer (IAM).
Zoek op het tabblad Toegang controleren naar het relevante gebruikersaccount.
Selecteer Onder Een roltoewijzing toevoegen de optie Toevoegen:
              
            Selecteer op de pagina Roltoewijzing toevoegen de rol Eigenaar en selecteer vervolgens het account (azmigrateuser in ons voorbeeld). Selecteer Opslaan.
              
            Uw Azure-account heeft ook machtigingen nodig om Microsoft Entra-apps te registreren.
Ga in de Azure-portal naar Microsoft Entra ID, Gebruikers, Gebruikersinstellingen.
Controleer in gebruikersinstellingen of Microsoft Entra-gebruikers toepassingen kunnen registreren. (Deze optie is standaard ingesteld op Ja .)
              
            Belangrijk
Microsoft raadt u aan rollen te gebruiken met de minste machtigingen. Dit helpt de beveiliging voor uw organisatie te verbeteren. Globale beheerder is een zeer bevoorrechte rol die moet worden beperkt tot scenario's voor noodgevallen wanneer u geen bestaande rol kunt gebruiken.
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
Download het installatieprogramma voor Azure Migrate-appcontainerisatie op een Windows-computer.
Open PowerShell in de beheerdersmodus en wijzig de PowerShell-map in de map die het installatieprogramma bevat.
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
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.
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.
Gebruik op het aanmeldingsscherm het lokale beheerdersaccount van de computer om u aan te melden.
Selecteer ASP.NET web-apps als het type toepassing dat u in een container wilt opnemen.
In de lijst Doel-Azure-services selecteer je Containers op Azure App Service:
              
            
De vereisten voor het hulpprogramma voltooien
- Accepteer de licentievoorwaarden en lees de informatie van derden.
 - In de tool-webapp Vereisten instellen, voltooi deze stappen: 
Connectiviteit. Het hulpprogramma controleert of de Windows-computer internettoegang heeft. Als de computer gebruikmaakt van een proxy:
Selecteer Proxy instellen om het proxyadres (in het formulier-IP-adres of de FQDN) en de luisterpoort op te geven.
Geef referenties op als de proxy verificatie nodig heeft.
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.
PowerShell-remoting inschakelen. Het hulpprogramma vraagt u ervoor te zorgen dat PowerShell-remoting is ingeschakeld op de servers met de ASP.NET-toepassingen die u wilt containeriseren.
 
Aanmelden bij Azure
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.
Selecteer Code kopiëren en aanmelden om de apparaatcode te kopiëren en open een Azure-aanmeldingsprompt op een nieuw browsertabblad:
              
            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.
Selecteer de Azure-tenant die u wilt gebruiken.
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.
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 ingevoerde inloggegevens moeten voor een lokale beheerder (Windows) op de toepassingsserver zijn.
 - Voor domeinaccounts (de gebruiker moet een beheerder op de toepassingsserver zijn), voorzie de gebruikersnaam van het domein in het volgende formaat: <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.
 
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:
              
            Selecteer Doorgaan om toepassingsdetectie te starten op de geselecteerde toepassingsservers.
Wanneer de toepassingsdetectie is voltooid, selecteert u de toepassingen die u in een container wilt plaatsen:
              
            Geef een naam op voor de doelcontainer voor elke geselecteerde toepassing. Geef de containernaam op als <naam:tag>, waarbij tag wordt gebruikt voor de containerimage. 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.
Selecteer app-configuraties om gedetecteerde configuraties te controleren.
Selecteer de parameters die u wilt parameteriseren en selecteer vervolgens Toepassen:
              
            
Afhankelijkheden van bestandssysteem externaliseren
U kunt andere mappen toevoegen die door uw toepassing worden gebruikt. Geef op of ze deel moeten uitmaken van de containerafbeelding of moeten worden geëxternaliseerd naar permanente opslag (bijvoorbeeld 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.
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 zullen worden gekopieerd naar de containerimage.
Selecteer Map toevoegen en geef de mappaden op die u wilt toevoegen.
Als u meerdere mappen aan hetzelfde volume wilt toevoegen, scheidt u de waarden met komma's.
Selecteer Azure-bestandsshare als opslagoptie als u wilt dat de mappen buiten de container worden opgeslagen in permanente opslag.
Selecteer Opslaan nadat u de toepassingsmappen hebt bekeken:
              
            Selecteer Doorgaan om door te gaan naar de bouwfase van de containerafbeelding.
Containerafbeelding maken
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:
              
            Notitie
Alleen Azure-containerregisters waarvoor het gebruikersaccount voor beheerders is ingeschakeld, worden weergegeven. Het beheerder gebruikersaccount is momenteel vereist voor het implementeren van een afbeelding uit een Azure Container Registry naar Azure App Service. Zie Verifiëren met een Azure-containerregister voor meer informatie.
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.
Selecteer de toepassingen waarvoor u installatiekopieën wilt bouwen en selecteer vervolgens Build. Als u Build selecteert, wordt de build van de container images gestart voor iedere applicatie. Het hulpprogramma bewaakt de buildstatus en laat u doorgaan met de volgende stap wanneer de build is voltooid.
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.
Nadat de build is voltooid, selecteert u Doorgaan om implementatie-instellingen op te geven:
              
            
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.
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.
Selecteer Doorgaan nadat u het App Service-plan hebt geselecteerd.
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 Verbindingsreeksen configureren voor meer informatie.
- Als u App Service-toepassingsinstellingen hebt geselecteerd om uw geheimen te beheren, selecteert u Doorgaan.
 - Als u een Azure Key Vault wilt gebruiken om uw toepassingsgeheimen te beheren, geeft u de sleutelkluis op die u wilt gebruiken.
- Als u geen Azure Key Vault 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.
 
 
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.
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:
- Naam 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.
 
              
            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.
              
            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
- Containeriseren ASP.NET web-apps en deze implementeren in Windows-containers in AKS
 - Java-web-apps in containers opslaan in Apache Tomcat (op Linux-servers) en deze implementeren in Linux-containers op AKS
 - Java-web-apps in containers opslaan in Apache Tomcat (op Linux-servers) en deze implementeren in Linux-containers in App Service