Migrieren von .NET Web-Apps oder -Diensten zu Azure App ServiceMigrate your .NET web app or service to Azure App Service

Bei App Service handelt es sich um einen vollständig verwalteten Computeplattformdienst, der für das Hosten skalierbarer Websites und Webanwendungen optimiert ist.App Service is a fully managed compute platform service that's optimized for hosting scalable websites and web applications. In diesem Artikel erfahren Sie, wie Sie eine vorhandene Anwendung per Lift & Shift zu Azure App Service migrieren, welche Änderungen ggf. erforderlich sind und welche zusätzlichen Ressourcen für den Umzug in die Cloud benötigt werden.This article provides information on how to lift-and-shift an existing application to Azure App Service, modifications to consider, and additional resources for moving to the cloud. Die meisten ASP.NET-Websites (Webforms, MVC) und -Dienste (Web-API) können ohne Änderungen direkt in Azure App Service verschoben werden.Most ASP.NET websites (Webforms, MVC) and services (Web API, WCF) can move directly to Azure App Service with no changes. Einige erfordern möglicherweise kleinere Änderungen, während andere ein wenig umgestaltet werden müssen.Some may need minor changes while others may need some refactoring.

Sind Sie bereit?Ready to get started? Veröffentlichen Sie Ihre ASP.NET- und SQL-Anwendung in Azure App Service.Publish your ASP.NET + SQL application to Azure App Service.

Weitere ÜberlegungenConsiderations

Lokale Ressourcen (einschließlich SQL Server)On-premises resources (including SQL Server)

Überprüfen Sie den Zugriff auf lokale Ressourcen, da diese möglicherweise migriert oder geändert werden müssen.Verify access to on-premises resources as these may need to be migrated or changed. Folgende Optionen für Maßnahmen im Zusammenhang mit dem Zugriff auf lokale Ressourcen sind verfügbar:The following are options for mitigating access to on-premises resources:

  • Erstellen Sie mithilfe von Azure Virtual Networks ein VPN für die Verbindung von App Service mit lokalen Ressourcen.Create a VPN connecting App Service to on-premises resources using Azure Virtual Networks.
  • Machen Sie lokale Dienste mithilfe von Azure Relay ohne Firewall Änderungen sicher in der Cloud verfügbar.Securely expose on-premises services to the cloud without firewall changes using Azure Relay.
  • Migrieren Sie Abhängigkeiten wie eine SQL-Datenbank zu Azure.Migrate dependencies such as a SQL database to Azure.
  • Verwenden Sie Platform-as-a-Service-Angebote in der Cloud, um Abhängigkeiten zu reduzieren.Use platform-as-a-service offerings in the cloud to reduce dependencies. Erwägen Sie beispielsweise die Verwendung von SendGrid anstatt eine Verbindung mit einem lokalen Mailserver herzustellen.For example, rather than connect to an on-premises mail server, consider using SendGrid.

PortbindungenPort Bindings

Azure App Service unterstützt nur Port 80 für HTTP- und Port 443 für HTTPS-Datenverkehr.Azure App Service supports port 80 for HTTP and port 443 for HTTPS traffic.

Für WCF werden die folgenden Bindungen unterstützt:For WCF, the following bindings are supported:

BindungBinding HinweiseNotes
BasicHttp
WSHttp
WSDualHttpBinding WebSocket-Unterstützung muss aktiviert sein.Web socket support must be enabled. WebSocket-Unterstützung muss aktiviert sein.Web socket support must be enabled.
NetHttpBinding WebSocket-Unterstützung muss für Duplexverträge aktiviert sein.Web socket support must be enabled for duplex contracts. WebSocket-Unterstützung muss für Duplexverträge aktiviert sein.Web socket support must be enabled for duplex contracts.
NetHttpsBinding WebSocket-Unterstützung muss für Duplexverträge aktiviert sein.Web socket support must be enabled for duplex contracts. WebSocket-Unterstützung muss für Duplexverträge aktiviert sein.Web socket support must be enabled for duplex contracts.
BasicHttpContextBinding
WebHttpBinding
WSHttpContextBinding

AuthentifizierungAuthentication

Azure App Service unterstützt die anonyme Authentifizierung standardmäßig und die Formularauthentifizierung, wenn diese vorgesehen ist.Azure App Service supports anonymous authentication by default and Forms authentication when intended. Windows-Authentifizierung kann nur durch die Integration in Azure Active Directory und ADFS verwendet werden.Windows authentication can be used by integrating with Azure Active Directory and ADFS only. Weitere Informationen zum Integrieren Ihrer lokalen Verzeichnisse in Azure Active Directory finden Sie hier.Learn more about how to integrate your on-premises directories with Azure Active Directory.

Assemblys im GAC (globaler Assemblycache)Assemblies in the GAC (Global Assembly Cache)

Dies wird nicht unterstützt.This isn't supported. Gegebenenfalls sollten Sie die erforderlichen Assemblys in den \bin-Ordner der App kopieren.Consider copying required assemblies to the app's \bin folder. Auf dem Server installierte benutzerdefinierte MSI-Dateien (z. B. PDF-Generatoren usw.) können nicht verwendet werden.Custom .msi files installed on the server (for example, PDF generators) cannot be used.

IIS-EinstellungenIIS settings

Alles, was in Ihrer Anwendung üblicherweise über „applicationHost.config“ konfiguriert wurde, kann jetzt über das Azure-Portal konfiguriert werden.Everything traditionally configured via applicationHost.config in your application can now be configured through the Azure portal. Das gilt beispielsweise für die AppPool-Bitanzahl, für das Aktivieren/Deaktivieren von WebSocket-Protokollen, für die verwaltete Pipelineversion und für die .NET Framework-Version (2.0/4.0).This applies to AppPool bitness, enable/disable WebSockets, managed pipeline version, .NET Framework version (2.0/4.0), and so on. Öffnen Sie zum Ändern Ihrer Anwendungseinstellungen im Azure-Portal das Blatt für Ihre Web-App, und klicken Sie auf die Registerkarte Anwendungseinstellungen.To modify your application settings, navigate to the Azure portal, open the blade for your web app, and then select the Application Settings tab.

IIS5-KompatibilitätsmodusIIS5 Compatibility Mode

IIS5-Kompatibilitätsmodus wird Apps nicht unterstützt.IIS5 Compatibility Mode is not supported. In Azure App Service werden jede Web-App und alle Anwendungen darunter im gleichen Workerprozess mit bestimmten Anwendungspools ausgeführt.In Azure App Service, each web app and all of the applications under it run in the same worker process with a specific set of application pools.

IIS7+-SchemakompatibilitätIIS7+ schema compliance

Einige Elemente und Attribute sind im Azure App Service-IIS-Schema nicht definiert.Some elements and attributes are not defined in the Azure App Service IIS schema. Sollten Probleme auftreten, ziehen Sie die Verwendung von XDT-Transformationen in Betracht.If you encounter issues, consider using XDT transforms.

Ein Anwendungspool pro WebsiteSingle application pool per site

In Azure App Service werden jede Web-App und alle Anwendungen darunter im gleichen Anwendungspool ausgeführt.In Azure App Service, each web app and all of the applications under it run in the same application pool. Erwägen Sie das Einrichten eines zentralen Anwendungspools mit gemeinsamen Einstellungen oder das Erstellen einer separaten Web-App für jede Anwendung.Consider establishing a single application pool with common settings or creating a separate web app for each application.

COM- und COM+-KomponentenCOM and COM+ components

Azure App Service lässt keine Registrierung von COM-Komponenten auf der Plattform zu.Azure App Service does not allow the registration of COM components on the platform. Wenn Ihre App COM-Komponenten verwendet, müssen diese in verwaltetem Code neu geschrieben und mit der Website oder Anwendung bereitgestellt werden.If your app makes use of any COM components, these need to be rewritten in managed code and deployed with the site or application.

Physische VerzeichnissePhysical directories

Azure App Service lässt keinen Zugriff auf physische Laufwerke zu.Azure App Service does not allow physical drive access. Möglicherweise müssen Sie Azure Files für den Zugriff auf Dateien über SMB verwenden.You may need to use Azure Files to access files via SMB. Azure Blob Storage kann Dateien für den Zugriff über HTTPS speichern.Azure Blob Storage can store files for access via HTTPS.

ISAPI-FilterISAPI filters

Azure App Service kann die Verwendung von ISAPI-Filter unterstützen, allerdings muss die ISAPI-DLL mit der Website bereitgestellt und über „web.config“ registriert werden.Azure App Service can support the use of ISAPI Filters, however, the ISAPI DLL must be deployed with your site and registered via web.config.

HTTPS-Bindungen und SSLHTTPS bindings and SSL

HTTPS-Bindungen werden nicht migriert, und die SSL-Zertifikate werden nicht Ihren Websites zugeordnet.HTTPS bindings are not migrated, nor are the SSL certificates associated with your web sites. SSL-Zertifikate können jedoch nach Abschluss der Websitemigration manuell hochgeladen werden.SSL certificates can be manually uploaded after site migration is completed, however.

SharePoint und FrontPageSharePoint and FrontPage

SharePoint- und FrontPage-Servererweiterungen (FPSE) werden nicht unterstützt.SharePoint and FrontPage Server Extensions (FPSE) are not supported.

WebsitegrößeWeb site size

Für kostenlose Websites gilt eine Größenbeschränkung von 1 GB für Inhalte.Free sites have a size limit of 1 GB of content. Wenn Ihre Website größer als 1 GB ist, müssen Sie auf eine kostenpflichtige SKU upgraden.If your site is greater than 1 GB, you must upgrade to a paid SKU. Informationen dazu finden Sie unter App Service – Preise.See App Service pricing.

DatenbankgrößeDatabase size

Überprüfen Sie für SQL Server-Datenbanken die aktuelle Preisübersicht für SQL-Datenbank.For SQL Server databases, please check the current SQL Database pricing.

Azure Active Directory (AAD)-IntegrationAzure Active Directory (AAD) integration

AAD funktioniert nicht mit kostenlosen Apps.AAD does not work with free apps. Zur Verwendung von AAD müssen Sie die App-SKU upgraden.To use AAD, you must upgrade the app SKU. Informationen dazu finden Sie unter App Service – Preise.See App Service pricing.

Überwachung und DiagnoseMonitoring and diagnostics

Ihre aktuellen lokalen Überwachungs- und Diagnoselösungen funktionieren in der Cloud wahrscheinlich nicht.Your current on-premises solutions for monitoring and diagnostics are unlikely to work in the cloud. Azure bietet jedoch Tools für die Protokollierung, Überwachung und Diagnose, um Probleme mit Web-Apps identifizieren und debuggen zu können.However, Azure provides tools for logging, monitoring, and diagnostics so that you can identify and debug issues with web apps. Die Diagnose für Ihre Web-App kann ganz einfach in der App-Konfiguration aktiviert werden, und die erfassten Protokolle können in Azure Application Insights angezeigt werden.You can easily enable diagnostics for your web app in its configuration, and you can view the logs recorded in Azure Application Insights. Weitere Informationen zum Aktivieren der Diagnoseprotokollierung für Web-Apps finden Sie hier.Learn more about enabling diagnostics logging for web apps.

Verbindungszeichenfolgen und AnwendungseinstellungenConnection strings and application settings

Erwägen Sie die Verwendung von Azure Key Vault. Hierbei handelt es sich um einen Dienst zum sicheren Speichern vertraulicher Informationen Ihrer Anwendung.Consider using Azure KeyVault, a service that securely stores sensitive information used in your application. Alternativ können Sie die Daten als App Service-Einstellung speichern.Alternatively, you can store this data as an App Service setting.

DNSDNS

Abhängig von den Anforderungen Ihrer Anwendung ist unter Umständen eine Aktualisierung von DNS-Konfigurationen erforderlich.You may need to update DNS configurations based on the requirements of your application. Diese DNS-Einstellungen können in den App Service-Einstellungen für die benutzerdefinierte Domäne konfiguriert werden.These DNS settings can be configured in the App Service custom domain settings.

Azure App Service mit Windows-ContainernAzure App Service with Windows Containers

Wenn Ihre App nicht direkt zu App Service migriert werden kann, können Sie App Service mit Windows-Containern verwenden. Dies ermöglicht die Verwendung von GAC, COM-Komponenten, MSIs sowie den vollen Zugriff auf .NET FX-APIs, DirectX und mehr.If your app cannot be migrated directly to App Service, consider App Service using Windows Containers, which enables usage of the GAC, COM components, MSIs, full access to .NET FX APIs, DirectX, and more.

Siehe auchSee also