Migrer votre application ou service web .NET vers Azure App ServiceMigrate your .NET web app or service to Azure App Service

App service est un service de plateforme de calcul entièrement géré qui est optimisé pour héberger des sites Web évolutifs et des applications Web.App Service is a fully managed compute platform service that's optimized for hosting scalable websites and web applications. Cet article fournit des informations sur la façon de lever-déplacer une application existante vers Azure App Service, les modifications à prendre en compte et des ressources supplémentaires pour migrer vers le Cloud.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. La plupart des sites web ASP.NET (WebForms, MVC) et des services (API Web, WCF) peuvent passer directement à Azure App Service, sans aucune modification.Most ASP.NET websites (Webforms, MVC) and services (Web API, WCF) can move directly to Azure App Service with no changes. Certains peuvent nécessiter des modifications mineures tandis que d’autres peuvent nécessiter une refactorisation.Some may need minor changes while others may need some refactoring.

Prêt à vous lancer ?Ready to get started? Publiez une application ASP.NET + SQL sur Azure App Service.Publish your ASP.NET + SQL application to Azure App Service.

ConsidérationsConsiderations

Ressources locales (y compris SQL Server)On-premises resources (including SQL Server)

Vérifiez l’accès aux ressources locales, car elles peuvent nécessiter une migration ou des modifications.Verify access to on-premises resources as these may need to be migrated or changed. Les options suivantes permettent de limiter l’accès aux ressources locales :The following are options for mitigating access to on-premises resources:

  • Créez un VPN connectant App Service aux ressources locales à l’aide des Réseaux virtuels Azure.Create a VPN connecting App Service to on-premises resources using Azure Virtual Networks.
  • Exposez les services locaux au cloud de manière sécurisée sans modification du pare-feu à l’aide de Azure Relay.Securely expose on-premises services to the cloud without firewall changes using Azure Relay.
  • Migrez des dépendances comme une base de données SQL vers Azure.Migrate dependencies such as a SQL database to Azure.
  • Utilisez des offres de plateforme en tant que service dans le Cloud pour réduire les dépendances.Use platform-as-a-service offerings in the cloud to reduce dependencies. Par exemple, plutôt que de vous connecter à un serveur de messagerie sur site, envisagez d’utiliser SendGrid.For example, rather than connect to an on-premises mail server, consider using SendGrid.

Liaisons de portPort Bindings

Azure App Service prend en charge le port 80 pour le trafic HTTP et le port 443 pour le trafic HTTPS.Azure App Service supports port 80 for HTTP and port 443 for HTTPS traffic.

Les liaisons suivantes sont prises en charge pour WCF :For WCF, the following bindings are supported:

LiaisonBinding NotesNotes
BasicHttp
WSHttp
WSDualHttpBinding La prise en charge de Websocket doit être activée.Web socket support must be enabled. La prise en charge de Websocket doit être activée.Web socket support must be enabled.
NetHttpBinding La prise en charge de Websocket doit être activée pour les contrats duplex.Web socket support must be enabled for duplex contracts. La prise en charge de Websocket doit être activée pour les contrats duplex.Web socket support must be enabled for duplex contracts.
NetHttpsBinding La prise en charge de Websocket doit être activée pour les contrats duplex.Web socket support must be enabled for duplex contracts. La prise en charge de Websocket doit être activée pour les contrats duplex.Web socket support must be enabled for duplex contracts.
BasicHttpContextBinding
WebHttpBinding
WSHttpContextBinding

AuthentificationAuthentication

Azure App Service prend en charge l’authentification anonyme par défaut et l’authentification par formulaire lorsque cela est nécessaire.Azure App Service supports anonymous authentication by default and Forms authentication when intended. L’authentification Windows peut être utilisée uniquement en cas d’intégration à Azure Active Directory et ADFS.Windows authentication can be used by integrating with Azure Active Directory and ADFS only. Découvrez comment intégrer vos répertoires locaux à Azure Active Directory.Learn more about how to integrate your on-premises directories with Azure Active Directory.

Assemblys dans le GAC (Global Assembly Cache)Assemblies in the GAC (Global Assembly Cache)

Ceci n’est pas pris en charge.This isn't supported. Envisagez de copier les assemblys requis dans le dossier \Bin de l’application.Consider copying required assemblies to the app's \bin folder. Les fichiers . msi personnalisés installés sur le serveur (par exemple, les générateurs de PDF) ne peuvent pas être utilisés.Custom .msi files installed on the server (for example, PDF generators) cannot be used.

Paramètres IISIIS settings

Tout ce qui est habituellement configuré via applicationHost.config dans votre application peut maintenant être configuré via le portail Azure.Everything traditionally configured via applicationHost.config in your application can now be configured through the Azure portal. Cela s’applique au nombre de bits AppPool, à l’activation/désactivation de WebSockets, à la version de pipeline gérée, à la version .NET Framework (2.0/4.0), etc.This applies to AppPool bitness, enable/disable WebSockets, managed pipeline version, .NET Framework version (2.0/4.0), and so on. Pour modifier vos paramètres d’application, accédez au portail Azure, ouvrez le panneau de votre application web, puis sélectionnez l’onglet Paramètres de l’application.To modify your application settings, navigate to the Azure portal, open the blade for your web app, and then select the Application Settings tab.

Mode de compatibilité IIS5IIS5 Compatibility Mode

Le mode de compatibilité IIS5 n’est pas pris en charge.IIS5 Compatibility Mode is not supported. Dans Azure App Service, chaque application Web et toutes les applications qu’elle contient s’exécutent dans le même processus de travail avec un ensemble spécifique de pools d’applications.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.

Conformité de schéma IIS7+IIS7+ schema compliance

Certains éléments et attributs ne sont pas définis dans le schéma IIS Azure App Service.Some elements and attributes are not defined in the Azure App Service IIS schema. Si vous rencontrez des problèmes, envisagez d’utiliser des transformations XDT.If you encounter issues, consider using XDT transforms.

Pool d’applications unique par siteSingle application pool per site

Dans Azure App Service, chaque application Web et toutes les applications qu’elle contient s’exécutent dans le même pool d’applications.In Azure App Service, each web app and all of the applications under it run in the same application pool. Envisagez d’établir un pool d’applications unique avec des paramètres communs ou de créer une application Web distincte pour chaque application.Consider establishing a single application pool with common settings or creating a separate web app for each application.

Composants COM et COM+COM and COM+ components

Azure App Service n’autorise pas l’inscription de composants COM sur la plateforme.Azure App Service does not allow the registration of COM components on the platform. Si votre application utilise des composants COM, ceux-ci doivent être réécrits en code managé et déployés avec le site ou l’application.If your app makes use of any COM components, these need to be rewritten in managed code and deployed with the site or application.

Répertoires physiquesPhysical directories

Azure App Service n’autorise pas l’accès au lecteur physique.Azure App Service does not allow physical drive access. Vous devrez peut-être utiliser Azure Files pour accéder aux fichiers via SMB.You may need to use Azure Files to access files via SMB. Le Stockage Blob Azure peut stocker des fichiers pour l’accès via HTTPS.Azure Blob Storage can store files for access via HTTPS.

Filtres ISAPIISAPI filters

Azure App Service peut prendre en charge l’utilisation de filtres ISAPI, toutefois, la DLL ISAPI doit être déployée avec votre site et inscrite via le fichier web.config.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.

Liaisons HTTPS et SSLHTTPS bindings and SSL

Les liaisons HTTPs ne sont pas migrées, ni les certificats SSL associés à vos sites Web.HTTPS bindings are not migrated, nor are the SSL certificates associated with your web sites. Les certificats SSL peuvent être téléchargés manuellement après que la migration du site soit terminée.SSL certificates can be manually uploaded after site migration is completed, however.

SharePoint et FrontPageSharePoint and FrontPage

Les extensions de serveur SharePoint et FrontPage (FPSE) ne sont pas prises en charge.SharePoint and FrontPage Server Extensions (FPSE) are not supported.

Taille du site webWeb site size

Les sites gratuits ont une limite de taille de 1 Go de contenu.Free sites have a size limit of 1 GB of content. Si la taille de votre site est supérieure à 1 Go, vous devez mettre à niveau vers une référence SKU payante.If your site is greater than 1 GB, you must upgrade to a paid SKU. Consultez app service tarification.See App Service pricing.

Taille de la base de donnéesDatabase size

Pour les bases de données SQL Server, consultez la tarification SQL Database actuelle.For SQL Server databases, please check the current SQL Database pricing.

Intégration d’Azure Active Directory (AAD)Azure Active Directory (AAD) integration

AAD ne fonctionne pas avec les applications gratuites.AAD does not work with free apps. Pour utiliser l’authentification AAD, vous devez mettre à niveau la référence SKU de l’application.To use AAD, you must upgrade the app SKU. Consultez app service tarification.See App Service pricing.

Surveillance et diagnosticsMonitoring and diagnostics

Il est peu probable que vos solutions locales actuelles d’analyse et de diagnostics fonctionnent dans le cloud.Your current on-premises solutions for monitoring and diagnostics are unlikely to work in the cloud. Toutefois, Azure fournit des outils pour la journalisation, l’analyse et les diagnostics afin que vous puissiez identifier et résoudre les problèmes liés aux applications web.However, Azure provides tools for logging, monitoring, and diagnostics so that you can identify and debug issues with web apps. Vous pouvez facilement activer les diagnostics pour votre application web dans sa configuration, et afficher les journaux d’activité enregistrés dans Azure Application Insights.You can easily enable diagnostics for your web app in its configuration, and you can view the logs recorded in Azure Application Insights. En savoir plus sur l’activation de la journalisation des diagnostics pour les applications web.Learn more about enabling diagnostics logging for web apps.

Chaînes de connexion et paramètres d’applicationConnection strings and application settings

Envisagez d’utiliser Azure KeyVault, un service qui stocke en toute sécurité les informations sensibles utilisées dans votre application.Consider using Azure KeyVault, a service that securely stores sensitive information used in your application. Vous pouvez également stocker ces données sous forme de paramètre App Service.Alternatively, you can store this data as an App Service setting.

DNSDNS

Vous devrez peut-être mettre à jour les configurations DNS selon les besoins de votre application.You may need to update DNS configurations based on the requirements of your application. Ces paramètres DNS peuvent être configurés dans les paramètres de domaine personnalisés d’App Service.These DNS settings can be configured in the App Service custom domain settings.

Azure App Service avec des conteneurs WindowsAzure App Service with Windows Containers

Si votre application ne peut pas être migrée directement vers App Service, envisagez d’utiliser App Service à l’aide de conteneurs Windows, ce qui permet l’utilisation du GAC, des composants COM, MSI, l’accès complet à .NET FX API, DirectX et bien plus encore.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.

Voir aussiSee also