Share via


Använd migreringsfunktionen på plats för att migrera App Service-miljön v1 och v2 till App Service-miljön v3

Kommentar

Migreringsfunktionen som beskrivs i den här artikeln används för automatisk migrering på plats (samma undernät) av App Service-miljön v1 och v2 till App Service-miljön v3. Om du letar efter information om migreringsfunktionen sida vid sida kan du läsa Migrera till App Service-miljön v3 med hjälp av migreringsfunktionen sida vid sida. Information om manuella migreringsalternativ finns i Manuella migreringsalternativ. Mer information om vilket migreringsalternativ som passar dig finns i Beslutsträd för migreringssökväg. Mer information om App Service-miljön v3 finns i översikten över App Service-miljön v3.

Du kan automatiskt migrera App Service-miljön v1 och v2 till App Service-miljön v3 med hjälp av migreringsfunktionen på plats. Mer information om migreringsprocessen och om du vill se om din App Service-miljön stöder migrering just nu finns i översikten över migreringsfunktionen på plats.

Viktigt!

Vi rekommenderar att du använder den här funktionen för utvecklingsmiljöer innan du migrerar några produktionsmiljöer för att undvika oväntade problem. Ge feedback om den här artikeln eller funktionen genom att använda knapparna längst ned på sidan.

Förutsättningar

Se till att du förstår hur migrering till App Service-miljön v3 påverkar dina program. Granska migreringsprocessen för att förstå processtidslinjen och var och när du behöver engagera dig. Läs även vanliga frågor och svar, som kan besvara några av dina frågor.

Se till att det inte finns några lås på ditt virtuella nätverk, resursgrupp, resurs eller prenumeration. Låser blockplattformsåtgärder under migreringen.

Se till att inga Azure-principer blockerar åtgärder som krävs för migreringen, inklusive ändringar i undernätet och skapande av Azure App Service-resurser. Principer som blockerar resursändringar och skapanden kan orsaka att migreringen fastnar eller misslyckas.

Eftersom skalning blockeras under migreringen bör du skala din miljö till önskad storlek innan du påbörjar migreringen. Om du behöver skala din miljö efter migreringen kan du göra det när migreringen är klar.

Vi rekommenderar att du använder Azure-portalen för migrering på plats. Om du bestämmer dig för att använda Azure CLI för migreringen följer du stegen som beskrivs här i ordning och som skrivs eftersom du gör Azure REST API-anrop. Vi rekommenderar att du använder Azure CLI för att göra dessa API-anrop. Information om andra metoder finns i Azure REST API-referens.

I den här guiden installerar du Azure CLI eller använder Azure Cloud Shell och använder ett Bash-gränssnitt.

Kommentar

Vi rekommenderar att du använder ett Bash-gränssnitt för att köra kommandona som anges i den här guiden. Kommandona kanske inte är kompatibla med PowerShell-konventioner och escape-tecken.

1. Hämta ditt App Service-miljön-ID

Kör följande kommandon för att hämta ditt App Service-miljön-ID och lagra det som en miljövariabel. Ersätt platshållarna för namnet och resursgrupperna med dina värden för den App Service-miljön som du vill migrera. ASE_RGoch VNET_RG är samma om ditt virtuella nätverk och App Service-miljön finns i samma resursgrupp.

ASE_NAME=<Your-App-Service-Environment-name>
ASE_RG=<Your-ASE-Resource-Group>
VNET_RG=<Your-VNet-Resource-Group>
ASE_ID=$(az appservice ase show --name $ASE_NAME --resource-group $ASE_RG --query id --output tsv)

2. Kontrollera att migrering stöds

Följande kommando kontrollerar om din App Service-miljön stöds för migrering. Om du får ett fel eller om din App Service-miljön är i ett felfritt eller pausat tillstånd kan du inte migrera just nu. I felsökningsavsnittet finns beskrivningar av potentiella felmeddelanden som du kan få. Om din miljö inte stöds för migrering med hjälp av migreringsfunktionen på plats eller om du vill migrera till App Service-miljön v3 utan att använda migreringsfunktionen på plats läser du alternativen för manuell migrering. Det här kommandot verifierar också att din App Service-miljön finns på den version som stöds för migrering. Om din App Service-miljön inte finns på den version som stöds måste du starta uppgraderingen själv. Mer information om uppgraderingen före migreringen finns i Verifiera att migrering stöds med hjälp av migreringsfunktionen på plats för din App Service-miljön.

az rest --method post --uri "${ASE_ID}/migrate?api-version=2021-02-01&phase=validation"

Om det inte finns några fel stöds migreringen och du kan fortsätta till nästa steg.

Om du behöver starta en uppgradering för att uppgradera din App Service-miljön till den version som stöds kör du följande kommando. Kör bara det här kommandot om du misslyckas med valideringssteget och du uppmanas att uppgradera din App Service-miljön.

az rest --method post --uri "${ASE_ID}/migrate?api-version=2021-02-01&phase=PreMigrationUpgrade"

3. Generera IP-adresser för din nya App Service-miljön v3-resurs

Kör följande kommando för att skapa nya IP-adresser. Det här steget tar cirka 15 minuter att slutföra. Skala inte eller gör ändringar i din befintliga App Service-miljön under den här tiden.

az rest --method post --uri "${ASE_ID}/migrate?api-version=2021-02-01&phase=premigration"

Kör följande kommando för att kontrollera statusen för det här steget:

az rest --method get --uri "${ASE_ID}?api-version=2021-02-01" --query properties.status

Om steget pågår får du statusen Migrating. När du har fått statusen Readykör du följande kommando för att visa dina nya IP-adresser. Om du inte ser de nya IP-adresserna omedelbart väntar du några minuter och försöker igen.

az rest --method get --uri "${ASE_ID}/configurations/networking?api-version=2021-02-01"

Kommentar

På grund av en känd bugg för ELB App Service-miljön migreringar kan den inkommande IP-adressen ändras igen när migreringssteget är klart. Var beredd på att uppdatera dina beroende resurser igen med den nya inkommande IP-adressen när migreringssteget är klart. Den här buggen åtgärdas och kommer att åtgärdas så snart som möjligt. Öppna ett supportärende om du har några frågor eller problem med det här problemet eller behöver hjälp med migreringsprocessen.

4. Uppdatera beroende resurser med nya IP-adresser

Genom att använda de nya IP-adresserna uppdaterar du någon av dina resurser eller nätverkskomponenter för att säkerställa att den nya miljön fungerar som den är avsedd när migreringen är klar. Det är ditt ansvar att göra nödvändiga uppdateringar.

Det här steget är också ett bra tillfälle att granska ändringarna av inkommande och utgående nätverksberoende när du flyttar till App Service-miljön v3. Dessa ändringar omfattar portändringen för Azure Load Balancer, som nu använder port 80. Migrera inte förrän du har slutfört det här steget.

5. Delegera ditt App Service-miljön undernät

App Service-miljön v3 kräver att det undernät som det finns i har en enda delegering av Microsoft.Web/hostingEnvironments. Tidigare versioner krävde inte den här delegeringen. Du måste bekräfta att ditt undernät har delegerats korrekt och uppdatera delegeringen (om det behövs) innan du migrerar. Du kan uppdatera delegeringen antingen genom att köra följande kommando eller genom att gå till undernätet i Azure-portalen.

az network vnet subnet update --resource-group $VNET_RG --name <subnet-name> --vnet-name <vnet-name> --delegations Microsoft.Web/hostingEnvironments

6. Bekräfta att det inte finns några lås i det virtuella nätverket

Virtuellt nätverk låser blockplattformsåtgärder under migreringen. Om det virtuella nätverket har lås måste du ta bort dem innan du migrerar. Om det behövs kan du lägga till låsen igen när migreringen är klar.

Lås kan finnas i tre omfång: prenumeration, resursgrupp och resurs. När du använder ett lås i ett överordnat omfång ärver alla resurser inom det omfånget samma lås. Om du har lås som tillämpas på prenumerationen, resursgruppen eller resursomfånget måste du ta bort dem före migreringen. Mer information om lås och lås arv finns i Lås dina resurser för att skydda infrastrukturen.

Använd följande kommando för att kontrollera om det virtuella nätverket har några lås:

az lock list --resource-group $VNET_RG --resource <vnet-name> --resource-type Microsoft.Network/virtualNetworks

Ta bort alla befintliga lås med hjälp av följande kommando:

az lock delete --resource-group $VNET_RG --name <lock-name> --resource <vnet-name> --resource-type Microsoft.Network/virtualNetworks

Relaterade kommandon för att kontrollera om din prenumeration eller resursgrupp har lås finns i Azure CLI-referensen för lås.

7. Förbered dina konfigurationer

Du kan göra din nya App Service-miljön v3-resurszon redundant om din befintliga miljö finns i en region som stöder zonredundans. Du kan konfigurera zonredundans genom att ange zoneRedundant egenskapen till true.

Zonredundans är en valfri konfiguration. Du kan bara ange den när du skapar den nya App Service-miljön v3-resursen. Du kan inte ta bort den vid ett senare tillfälle. Mer information finns i Välj dina App Service-miljön v3-konfigurationer. Om du inte vill konfigurera zonredundans ska du inte ta med parametern zoneRedundant .

Om din befintliga App Service-miljön använder ett anpassat domänsuffix måste du konfigurera ett för din nya App Service-miljön v3-resurs under migreringsprocessen. Migreringen misslyckas om du inte konfigurerar ett anpassat domänsuffix och använder ett för närvarande. Migreringen misslyckas också om du försöker lägga till ett anpassat domänsuffix under migreringen till en miljö som inte har något konfigurerat. Mer information om App Service-miljön anpassade v3-domänsuffix, inklusive krav, stegvisa instruktioner och metodtips finns i Suffix för anpassad domän för App Service-miljön.

Kommentar

Om du konfigurerar ett anpassat domänsuffix bör du när du lägger till nätverksbehörigheterna i ditt Azure-nyckelvalv se till att ditt nyckelvalv tillåter åtkomst från din App Service-miljön nya utgående IP-adresser som genererades i steg 3.

Om migreringen inte innehåller ett anpassat domänsuffix och du inte aktiverar zonredundans kan du gå vidare till migrering.

Om du vill ange dessa konfigurationer skapar du en fil med namnet parameters.json med följande information baserat på ditt scenario. Inkludera inte egenskaperna för ett anpassat domänsuffix om den här funktionen inte gäller för migreringen. Var uppmärksam på värdet för zoneRedundant egenskapen eftersom den här konfigurationen inte kan ångras efter migreringen. Ange värdet för kind egenskapen baserat på din befintliga App Service-miljön version. Godkända värden för egenskapen kind är ASEV1 och ASEV2.

Om du migrerar utan ett anpassat domänsuffix och aktiverar zonredundans använder du den här koden:

{
    "type": "Microsoft.Web/hostingEnvironments",
    "name": "sample-ase-migration",
    "kind": "ASEV2",
    "location": "westcentralus",
    "properties": {
        "zoneRedundant": true
    }
}

Om du använder en användartilldelad hanterad identitet för konfigurationen av ditt anpassade domänsuffix och aktiverar zonredundans använder du den här koden:

{
    "type": "Microsoft.Web/hostingEnvironments",
    "name": "sample-ase-migration",
    "kind": "ASEV2",
    "location": "westcentralus",
    "properties": {
        "zoneRedundant": true,
        "customDnsSuffixConfiguration": {
            "dnsSuffix": "internal.contoso.com",
            "certificateUrl": "https://contoso.vault.azure.net/secrets/myCertificate",
            "keyVaultReferenceIdentity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asev3-migration/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ase-managed-identity"
        }
    }
}

Om du använder en systemtilldelad hanterad identitet för konfigurationen av ditt anpassade domänsuffix och inte aktiverar zonredundans använder du den här koden:

{
    "type": "Microsoft.Web/hostingEnvironments",
    "name": "sample-ase-migration",
    "kind": "ASEV2",
    "location": "westcentralus",
    "properties": {
        "customDnsSuffixConfiguration": {
            "dnsSuffix": "internal.contoso.com",
            "certificateUrl": "https://contoso.vault.azure.net/secrets/myCertificate",
            "keyVaultReferenceIdentity": "SystemAssigned"
        }
    }
}

8. Migrera till App Service-miljön v3 och kontrollera status

När du har slutfört alla föregående steg kan du starta migreringen. Se till att du förstår konsekvenserna av migreringen.

Det här steget tar tre till sex timmar för v2 till v3-migreringar och upp till sex timmar för v1 till v3-migreringar, beroende på miljöns storlek. Under den tiden är det ungefär en timmes programavbrott. Skalning, distributioner och ändringar av dina befintliga App Service-miljön blockeras under det här steget.

Inkludera parametern body i följande kommando om du aktiverar zonredundans och/eller konfigurerar ett anpassat domänsuffix. Om ingen av dessa konfigurationer gäller för migreringen kan du ta bort parametern från kommandot .

az rest --method post --uri "${ASE_ID}/migrate?api-version=2021-02-01&phase=fullmigration" --body @parameters.json

Kör följande kommandon för att kontrollera den detaljerade statusen för migreringen. Information om statusarna finns i beskrivningarna av migreringsstatus.

Det första kommandot hämtar åtgärds-ID:t för migreringen. Kopiera värdet för ID egenskapen.

az rest --method get --uri "${ASE_ID}/operations?api-version=2022-03-01"

Ersätt platshållaren för åtgärds-ID:t i följande kommando med det värde som du kopierade. Det här kommandot returnerar den detaljerade statusen för migreringen. Du kan köra det här kommandot så ofta som behövs för att få den senaste statusen.

az rest --method get --uri "${ASE_ID}/operations/<operation-id>/details/default?api-version=2022-09-01"

När du har fått statusen Readyär migreringen klar och du har en App Service-miljön v3-resurs. Dina appar körs nu i den nya miljön.

Hämta information om din nya miljö genom att köra följande kommando eller genom att gå till Azure-portalen.

az appservice ase show --name $ASE_NAME --resource-group $ASE_RG

Kommentar

På grund av en känd bugg kan den inkommande IP-adressen ändras när migreringssteget är klart för ELB App Service-miljön migreringar. Kontrollera ip-adresserna för din App Service-miljön v3 och gör eventuella nödvändiga uppdateringar om det har gjorts ändringar sedan IP-genereringssteget. Öppna ett supportärende om du har några frågor eller problem med det här problemet eller behöver hjälp med att bekräfta de nya IP-adresserna.

1. Kontrollera att migrering stöds

I Azure-portalen går du till sidan Migrering för App Service-miljön som du migrerar. Du kan komma till sidan Migrering genom att välja banderollen överst på översiktssidanför din App Service-miljön eller genom att välja migreringsobjektetpå den vänstra menyn.

Skärmbild som visar åtkomstpunkter för migrering.

På sidan Migrering verifierar plattformen om migrering stöds för din App Service-miljön. Välj Verifiera och bekräfta sedan att du vill fortsätta med valideringen. Valideringsprocessen tar några sekunder.

Skärmbild som visar knappen för att verifiera migreringsberättigande.

Om din miljö inte stöds för migrering visas en banderoll överst på sidan och innehåller ett felmeddelande med en orsak. Beskrivningar av de felmeddelanden som kan visas om du inte är berättigad till migrering finns i Felsökning.

Om din App Service-miljön inte stöds för migrering just nu eller om din miljö är i ett felfritt eller pausat tillstånd kan du inte använda migreringsfunktionen. Om din miljö inte stöds för migrering med migreringsfunktionen på plats eller om du vill migrera till App Service-miljön v3 utan att använda migreringsfunktionen på plats läser du alternativen för manuell migrering.

Skärmbild som visar ett exempel på ett portalmeddelande som säger att migreringsfunktionen inte stöder App Service-miljön.

Om du behöver starta en uppgradering för att uppgradera din App Service-miljön till den version som stöds uppmanas du att starta uppgraderingen. Välj Uppgradera för att starta uppgraderingen. När uppgraderingen är klar klarar du valideringen och kan använda migreringsfunktionen för att starta migreringen.

Om migrering stöds för din App Service-miljön går du vidare till nästa steg i processen. Sidan Migrering vägleder dig genom en serie steg för att slutföra migreringen.

Skärmbild som visar en exempelmigreringssida med oavslutade steg i processen.

2. Generera IP-adresser för din nya App Service-miljön v3-resurs

Under Hämta nya IP-adresser bekräftar du att du förstår konsekvenserna och väljer knappen Starta . Det här steget tar cirka 15 minuter att slutföra. Du kan inte skala eller göra ändringar i din befintliga App Service-miljön under den här tiden.

3. Uppdatera beroende resurser med nya IP-adresser

När föregående steg är klart visas IP-adresserna för din nya App Service-miljön v3-resurs. Använd de nya IP-adresserna för att uppdatera resurser och nätverkskomponenter så att din nya miljö fungerar som den ska när migreringen är klar. Det är ditt ansvar att göra nödvändiga uppdateringar.

Det här steget är också ett bra tillfälle att granska ändringarna av inkommande och utgående nätverksberoende när du flyttar till App Service-miljön v3. Dessa ändringar omfattar portändringen för Azure Load Balancer, som nu använder port 80. Gå inte vidare till nästa steg förrän du har bekräftat att du har gjort de här uppdateringarna.

Skärmbild som visar exempel-IP-adresser som genererades under förinvandringen.

4. Delegera ditt App Service-miljön undernät

App Service-miljön v3 kräver att det undernät som det är i har en enda delegering av Microsoft.Web/hostingEnvironments. Tidigare versioner krävde inte den här delegeringen. Du måste bekräfta att ditt undernät har delegerats korrekt och uppdatera delegeringen (om det behövs) innan du migrerar. Portalen visar en länk till ditt undernät så att du kan bekräfta och uppdatera efter behov.

Skärmbild som visar delegering av undernät i portalen.

5. Bekräfta ändringar i instansstorleken

Dina App Service-planer konverteras från Isolerad till motsvarande isolerad v2-nivå. Till exempel konverteras I2 till I2v2. Dina appar kan överetableras efter migreringen eftersom nivån Isolerad v2 har mer minne och PROCESSOR per motsvarande instansstorlek. Du har möjlighet att skala din miljö efter behov när migreringen är klar. Mer information finns i prisinformationen.

Skärmbild som visar bekräftelse av att instansstorleken ändras vid migrering.

6. Bekräfta att det virtuella nätverket inte har några lås

Virtuellt nätverk låser blockplattformsåtgärder under migreringen. Om det virtuella nätverket har lås måste du ta bort dem innan du migrerar. Om det behövs kan du lägga till låsen igen när migreringen är klar.

Lås kan finnas i tre omfång: prenumeration, resursgrupp och resurs. När du använder ett lås i ett överordnat omfång ärver alla resurser inom det omfånget samma lås. Om du har lås som tillämpas på prenumerationen, resursgruppen eller resursomfånget måste du ta bort dem före migreringen. Mer information om lås och lås arv finns i Lås dina resurser för att skydda infrastrukturen.

Mer information om hur du kontrollerar om din prenumeration eller resursgrupp har lås finns i Konfigurera lås.

Skärmbild som visar var du hittar och tar bort lås för virtuella nätverk.

7. Välj dina konfigurationer

Du kan göra din nya App Service-miljön v3-resurszon redundant om din befintliga miljö finns i en region som stöder zonredundans. Zonredundans är en valfri konfiguration. Du kan bara ange den när du skapar den nya App Service-miljön v3-resursen. Du kan inte ta bort den vid ett senare tillfälle. Mer information finns i Välj dina App Service-miljön v3-konfigurationer.

Markera kryssrutan Aktiverad om du vill konfigurera zonredundans.

Skärmbild som visar kryssrutan för att aktivera zonredundans för en App Service-miljön i en region som stöds.

Om din miljö finns i en region som inte stöder zonredundans är kryssrutan inte tillgänglig. Om du behöver en zonredundant App Service-miljön v3-resurs använder du något av de manuella migreringsalternativen och skapar resursen i en av de regioner som stöder zonredundans.

Om din befintliga App Service-miljön använder ett anpassat domänsuffix måste du konfigurera ett för din nya App Service-miljön v3-resurs. Konfigurationsalternativen för ett anpassat domänsuffix visas om den här situationen gäller för dig. Du kan inte migrera förrän du har angett nödvändig information.

Om du vill använda ett anpassat domänsuffix men för närvarande inte har något konfigurerat kan du konfigurera ett när migreringen är klar. Mer information om App Service-miljön anpassade v3-domänsuffix, inklusive krav, stegvisa instruktioner och metodtips finns i Suffix för anpassad domän för App Service-miljön.

Kommentar

Om du konfigurerar ett anpassat domänsuffix bör du när du lägger till nätverksbehörigheterna i ditt Azure-nyckelvalv se till att nyckelvalvet tillåter åtkomst från App Service-miljön nya utgående IP-adresser som genererades i steg 2.

Skärmbild som visar länken för att lägga till ett anpassat domänsuffix.

När du har lagt till information för ditt anpassade domänsuffix är knappen Migrera tillgänglig.

Skärmbild som visar att konfigurationsinformationen läggs till och att miljön är redo för migrering.

8. Migrera till App Service-miljön v3

När du har slutfört alla föregående steg kan du starta migreringen. Se till att du förstår konsekvenserna av migreringen, inklusive vad som händer under den här tiden.

Det här steget tar tre till sex timmar för v2 till v3-migreringar och upp till sex timmar för v1 till v3-migreringar, beroende på miljöns storlek. Skalning och ändringar av dina befintliga App Service-miljön blockeras under det här steget.

Kommentar

I sällsynta fall kan du se ett meddelande i portalen som säger "Migrering till App Service-miljön v3 misslyckades" när du har startat migreringen. Det finns en känd bugg som kan utlösa det här meddelandet även om migreringen pågår. Kontrollera aktivitetsloggen för App Service-miljön för att fastställa giltigheten för det här felmeddelandet. I de flesta fall löser uppdatering av sidan problemet och felmeddelandet försvinner. Kontakta supporten om felmeddelandet kvarstår.

Skärmbild som visar det potentiella felmeddelandet när migreringen startar.

För närvarande är detaljerade migreringsstatusar endast tillgängliga när du använder Azure CLI. Mer information finns i avsnittet Azure CLI för migrering till App Service-miljön v3. Du kan kontrollera statusen för migreringen med CLI även om du använder portalen för att utföra migreringen.

När migreringen är klar har du en App Service-miljön v3-resurs och alla dina appar körs i den nya miljön. Du kan bekräfta miljöns version genom att kontrollera konfigurationssidan för din App Service-miljön.

Kommentar

På grund av en känd bugg kan den inkommande IP-adressen ändras när migreringssteget är klart för ELB App Service-miljön migreringar. Kontrollera ip-adresserna för din App Service-miljön v3 och gör eventuella nödvändiga uppdateringar om det har gjorts ändringar sedan IP-genereringssteget. Öppna ett supportärende om du har några frågor eller problem med det här problemet eller behöver hjälp med att bekräfta de nya IP-adresserna.

Om din migrering innehåller ett anpassat domänsuffix visas domänen i avsnittet Essentials på sidan Översikt i portalen för App Service-miljön v1/v2, men den visas inte längre där i App Service-miljön v3. För App Service-miljön v3 går du i stället till sidan Suffix för anpassad domän för att bekräfta att ditt anpassade domänsuffix har konfigurerats korrekt. Du kan också ta bort konfigurationen om du inte längre behöver den eller konfigurera en om du inte hade någon tidigare.

Skärmbild som visar sidan för konfiguration av anpassat domänsuffix för App Service-miljön v3.

Kommentar

Om din migrering innehåller ett anpassat domänsuffix kan din anpassade domänsuffixkonfiguration visas som degraderad när migreringen är klar på grund av en känd bugg. Din App Service-miljön bör fortfarande fungera som förväntat. Den degraderade statusen bör matcha sig själv inom 6–8 timmar. Om konfigurationen har degraderats efter 8 timmar eller om ditt anpassade domänsuffix inte fungerar kontaktar du supporten.

Skärmbild av en exempelkonfiguration med degraderat anpassat domänsuffix.

Nästa steg