Examiner l’échange des emplacements

Effectué

Quand vous échangez deux emplacements (par exemple quand vous passez d’un emplacement de préproduction à un emplacement de production), App Service procède comme suit pour éviter que l’emplacement cible ne subisse un temps d’arrêt :

  1. Applique les paramètres suivants de l’emplacement cible (par exemple, l’emplacement de production) à toutes les instances de l’emplacement source :

    • Les paramètres d’application et les chaînes de connexion spécifiques à l’emplacement, si applicables.
    • Les paramètres de déploiement continu, si activés.
    • Les paramètres d’authentification App Service, si activés.

    Quel que soit le cas, cela déclenche le redémarrage de toutes les instances dans l’emplacement source. Au cours d’un échange avec aperçu, cela marque la fin de la première phase. L’opération d’échange est suspendue, ce qui vous permet de vérifier que l’emplacement source fonctionne correctement avec les paramètres de l’emplacement cible.

  2. Attendez que chaque instance de l’emplacement source ait terminé son redémarrage. Si l’une des instances ne parvient pas à redémarrer, l’opération d’échange rétablit toutes les modifications apportées à l’emplacement source, puis cesse d’être exécutée.

  3. Si le cache local est activé, déclenchez son initialisation en envoyant une requête HTTP à la racine de l’application (« / »), sur chaque instance de l’emplacement source. Attendez que chaque instance retourne une réponse HTTP. L’initialisation du cache local provoque un autre redémarrage sur chaque instance.

  4. Si l’échange automatique est activé avec l’initialisation personnalisée, déclenchez l’initialisation de l’application en envoyant une requête HTTP à la racine de l’application (« / ») sur chaque instance de l’emplacement source.

    • Si applicationInitialization n’est pas spécifié, déclenchez une requête HTTP à la racine de l’application de l’emplacement source sur chaque instance.

    • Si une instance retourne une réponse HTTP, elle est considérée comme initialisée.

  5. Si toutes les instances de l’emplacement source sont correctement initialisées, échangez les deux emplacements en échangeant leurs règles de routage. Après cette étape, l’emplacement cible (par exemple, l’emplacement de production) dispose de l’application déjà initialisée dans l’emplacement source.

  6. Maintenant que l’emplacement source dispose de l’application de l’emplacement cible avant échange, effectuez la même opération en appliquant tous les paramètres et en redémarrant les instances.

Lors d’une opération d’échange, l’intégralité du processus d’initialisation des applications échangées se déroule dans l’emplacement source. L’emplacement cible reste en ligne pendant la préparation et l’initialisation de l’emplacement source, que l’échange ait réussi ou échoué. Pour échanger un emplacement de préproduction avec un emplacement de production, vérifiez que l’emplacement de production est toujours l’emplacement cible. De cette façon, l’opération d’échange n’affectera pas votre application de production.

Lorsque vous clonez la configuration depuis un autre emplacement de déploiement, celle-ci est modifiable. Au cours d’un échange, certains éléments de configuration suivent le contenu (éléments non propres à un emplacement) tandis que d’autres restent dans le même emplacement après l’échange (éléments propres à un emplacement). Le tableau suivant présente les paramètres qui changent quand vous échangez des emplacements.

Paramètres qui sont échangés Paramètres qui ne sont pas échangés
Paramètres généraux, par exemple versions du framework, 32/64 bits, sockets web Points de terminaison de publication
Paramètres d’application (peuvent être configurés pour respecter un emplacement) Noms de domaine personnalisés
Chaînes de connexion (peuvent être configurées pour respecter un emplacement) Certificats non publics et paramètres TLS/SSL
Mappages de gestionnaires Paramètres de mise à l’échelle
Certificats publics Planificateurs WebJobs
Contenu WebJobs Restrictions d’adresse IP
Connexions hybrides* Always On
Azure Content Delivery Network* Paramètres des journaux de diagnostic
Points de terminaison de service* Partage des ressources cross-origin (CORS)
Mappages de chemin d’accès Intégration du réseau virtuel
Identités managées
Paramètres se terminant par le suffixe _EXTENSION_VERSION

Il est prévu que les fonctionnalités marquées d’un astérisque (*) ne soient plus échangées.

Notes

Pour rendre les paramètres compatibles avec l’échange, ajoutez le paramètre d’application WEBSITE_OVERRIDE_PRESERVE_DEFAULT_STICKY_SLOT_SETTINGS dans chaque emplacement de l’application et définissez sa valeur sur 0 ou false. Ces paramètres sont tous remplaçables ou aucun d’entre eux ne l’est. Vous ne pouvez pas rendre certains paramètres remplaçables et d’autres, pas. Les identités managées ne sont jamais échangées et ne sont pas affectées par ce paramètre d’application de remplacement.

Si vous souhaitez configurer un paramètre d’application ou une chaîne de connexion pour qu’ils restent dans leur emplacement d’origine (et ne puissent donc pas être échangés), accédez à la page Configuration de l’emplacement en question. Ajoutez ou modifiez un paramètre, puis sélectionnez Paramètre d’emplacement de déploiement. Le fait de cocher cette case indique à App Service que le paramètre n’est pas échangeable.