> For the complete documentation index, see [llms.txt](https://docs.scepman.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scepman.com/fr/configuration-azure/geo-redundancy.md).

# Géo-redondance

{% hint style="warning" %}
SCEPman Enterprise Edition uniquement
{% endhint %}

Cette architecture de référence montre comment exécuter une application Azure App Service dans plusieurs régions afin d'obtenir une haute disponibilité.

{% hint style="info" %}
La géoredondance / haute disponibilité est actuellement disponible uniquement pour le SCEPman App Service (principal). Justification : les utilisateurs de Certificate Master sont des administrateurs qui gèrent généralement des charges de travail liées aux certificats non critiques en termes de temps et connaissent les procédures pour gérer de tels scénarios.
{% endhint %}

## Architecture

![](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-6865890fc78414e9600419ba8897a3b76803ff92%2F2022-06-23%2012_32_59-GeoRedundancy.png?alt=media)

Comme illustré ci-dessus, le déploiement géoredondant s'appuie sur un profil Azure Traffic Manager, qui achemine les requêtes (basées sur DNS) vers l'autorité de certification SCEPman vers une paire d'instances SCEPman déployées dans différentes géolocalisations. Les différentes instances SCEPman communiquent avec le même Key Vault, Storage Account et AAD et partagent donc la même Root CA. En plus d'équilibrer le trafic en fonction d'un ensemble d'algorithmes de routage parmi lesquels vous pouvez choisir, Traffic Manager interroge également en permanence les deux instances de SCEPman. Si une instance devient indisponible, tout le trafic sera automatiquement routé vers l'instance disponible.

Microsoft en discute dans [cet article](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/multi-region) trois stratégies de géoredondance différentes qui peuvent être utilisées pour gérer ce type d'architecture. Cependant, dans notre cas, nous utiliserons l' **Active/Active** approche. Cela signifie que les deux régions sont actives et que les requêtes sont réparties entre elles par équilibrage de charge. Si l'une des régions devient indisponible ou présente une certaine latence pour quelque raison que ce soit, Traffic Manager acheminera le trafic vers le second App Service.

{% hint style="info" %}
Assurez-vous de consulter [la liste des régions disponibles de Microsoft](https://learn.microsoft.com/en-us/azure/reliability/regions-list#azure-regions-list-1) et leur région jumelée correspondante. L'utilisation de régions non jumelées peut entraîner des problèmes lors de la configuration de cette redondance.
{% endhint %}

## Flux de travail

1. Le SCEPman App Service à cloner sera déployé dans une autre géolocalisation.
2. Configurez Traffic Manager et connectez ses points de terminaison aux deux SCEPman App Services.
3. Configurez le même domaine personnalisé pour les deux App Services.
4. Configurez l'enregistrement DNS CNAME en pointant votre domaine personnalisé vers Traffic Manager.

## Étapes

{% stepper %}
{% step %}

### Cloner l'application

Pour cloner un App Service, vous devez d'abord créer un nouveau **plan App Service** dans une seconde géolocalisation ; c'est là que l'application clonée sera déployée. Vous pouvez la créer dans le même groupe de ressources SCEPman ou dans un nouveau. Voir la capture d'écran ci-dessous :

![Création d'un nouveau plan App Service avec Windows](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-87bb339bda3436681a5fd22707345bb6d4d5f1f2%2F2022-06-15%2013_29_57-Create%20App%20Service%20Plan.png?alt=media)

{% hint style="info" %}
Prérequis au clonage d'un App Service (via [module PowerShell SCEPman](/fr/deploiement-de-scepman/permissions/post-installation-config.md#acquire-and-run-the-scepman-installation-powershell-module)):

* SCEPman **2.2** ou supérieur
* module PowerShell SCEPman **1.6.3.0** ou supérieur
* Autorisations d'administrateur général
  {% endhint %}

La commande CMDlet suivante clonera votre SCEPman App Service et configurera toutes les autorisations requises :

```
New-SCEPmanClone -SourceAppServiceName <Nom de votre SCEPman App Service> -TargetAppServiceName <Nom de votre App Service cloné> -TargetAppServicePlan <Votre second App Service Plan dans la seconde géolocalisation> -SearchAllSubscriptions 6>&1
```

* **Nom de l'App Service source :** Le nom du SCEPman App Service existant.
* **Nom de l'App Service cible :** Le nom du SCEPman App Service nouvellement cloné.
* **Nom du plan App Service cible :** Le nom du plan App Service pour l'instance SCEPman clonée. Le plan App Service doit déjà exister dans TargetResourceGroup.
* **Groupe de ressources source :** (Facultatif) Le groupe de ressources Azure hébergeant le SCEPman App Service existant. Laissez vide pour la détection automatique.
* **Groupe de ressources cible :** (Facultatif) Le groupe de ressources Azure hébergeant le nouveau SCEPman App Service. Laissez vide pour détecter automatiquement le groupe de ressources du plan App Service.
* **ID d'abonnement source :** (Facultatif) L'ID de l'abonnement où SCEPman est installé. Peut être omis s'il est déjà présélectionné dans az ou utilisez l'indicateur SearchAllSubscriptions pour rechercher tous les abonnements accessibles
* **ID d'abonnement cible :** (Facultatif) L'ID de l'abonnement où SCEPman doit être installé. Peut être omis s'il est identique à SourceSubscriptionId.
* **Rechercher tous les abonnements :** (Facultatif) Définissez cet indicateur pour rechercher le SCEPman App Service dans tous les abonnements. Sinon, présélectionnez le bon abonnement dans az ou fournissez le bon SubscriptionId.

#### **Exemple**

Cloner un SCEPman App Service existant "app-scepman-contoso"

```
New-SCEPmanClone -SourceAppServiceName app-scepman-contoso -TargetAppServiceName app-scepman-clone -TargetAppServicePlan asp-scepman-geo2 -SearchAllSubscriptions 6>&1
```

![](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-30e1cb5d7dfe6877face335d0524bae25d402d88%2F2022-06-15%2014_29_28-SCEPmanCloneApp.png?alt=media)

Une fois le déploiement terminé avec succès, accédez à l'App Service cloné et vérifiez sur la page d'accueil SCEPman que toutes les autorisations sont correctement définies et que tout est vert et connecté (cela peut prendre jusqu'à 3 minutes après la fin du déploiement).

![](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-8faef5c52ed690e841b35c50d979d861bb055725%2F2022-06-21%2010_32_37.png?alt=media)

{% hint style="info" %}
Pour éviter un point de défaillance unique, nous recommandons de définir le [WEBSITE\_RUN\_FROM\_PACKAGE](/fr/configuration-de-scepman/application-artifacts.md) de l'App Service cloné vers le second hôte d'artefacts indépendant sur Azure.

Canal de production :

`https://install.scepman.com/dist/Artifacts.zip`

L'App Service d'origine devrait avoir par défaut le premier hôte d'artefacts, qui pointe vers un dépôt GitHub. Pour plus d'informations, veuillez consulter [Artefacts de l’application](/fr/configuration-de-scepman/application-artifacts.md).
{% endhint %}

{% hint style="warning" %}
Le clonage d'un App Service comporte certaines restrictions, telles que **la mise à l'échelle automatique** les paramètres, **le planning de sauvegarde** les paramètres, **App Insights**, etc. Les configurations qui ne peuvent pas être clonées doivent être reconfigurées manuellement sur l'App Service cloné. De plus, les modifications apportées aux paramètres d'un AppService ne seront pas synchronisées automatiquement vers le second App Service si elles sont effectuées après l'opération de clonage. Pour plus d'informations, consultez <https://docs.microsoft.com/en-us/azure/app-service/app-service-web-app-cloning#current-restrictions>
{% endhint %}
{% endstep %}

{% step %}

### Configurer Traffic Manager

Suivez les étapes ci-dessous pour créer et configurer Traffic Manager et équilibrer le trafic entre les deux instances SCEPman :

1. Recherchez dans le Marketplace pour **profil Traffic Manager** et cliquez **Créer**.
2. Renseignez les champs et choisissez votre groupe de ressources SCEPman\
   ![](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FUgVnDX8hq0TTN00kGdHZ%2Fimage.png?alt=media\&token=d497732c-983e-4e9f-bf31-e4a2c0d51086)
3. Puis cliquez sur **Créer**.
4. Une fois Traffic Manager déployé, ouvrez-le et cliquez sur **Configuration**
5. Modifiez les paramètres comme suit et **enregistrez**<br>

   <figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FAnYpAYYRkqhB2fKYNrF3%2Fimage.png?alt=media&amp;token=a6c73544-72fa-4f07-b29d-f8553c81375b" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}

### Ajout de points de terminaison

1. Puis, sous **Paramètres** choisissez **Points de terminaison**
2. Choisissez « Azure Endpoint » comme **Type**, fournissez un nom pour le premier point de terminaison, et « App Service » comme **type de ressource cible**
3. Choisissez votre SCEPman App Service principal comme la **ressource cible**<br>

   <figure><img src="https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FjSE1QKh2iExQTuqXrBMB%2Fimage.png?alt=media&amp;token=43112cf2-c134-493e-a0c9-007397cd1744" alt=""><figcaption></figcaption></figure>
4. Répétez les mêmes étapes pour le second point de terminaison et choisissez le second SCEPman App Service (cloné) comme la **ressource cible**
   {% endstep %}

{% step %}

### Configuration du domaine personnalisé

Après un déploiement et une configuration réussis des points de terminaison Traffic Manager, vous devez configurer le **même** domaine personnalisé pour **les deux** instances SCEPman comme décrit [ici](/fr/configuration-azure/custom-domain.md).

Veillez à modifier la valeur du paramètre **AppConfig:BaseUrl** pour **les deux** des SCEPman App Services une fois les domaines personnalisés créés.
{% endstep %}

{% step %}

### Configuration DNS

Dans Traffic Manager **Vue d'ensemble,** vous trouverez le nom DNS à ajouter à votre DNS

![Vue d'ensemble de Traffic Manager](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-d80894aab4311887f9e7b9a063817e0383c89601%2Fscepman_trafficmanager4.png?alt=media)

* Accédez à votre service de gestion DNS (par ex. **Azure DNS Zones**)
* Supprimez toute entrée CNAME incorrecte éventuellement existante pointant vers l'une des instances Azure App Service et ajoutez un CNAME qui associe le domaine personnalisé SCEPman créé au nom DNS de Traffic Manager. Dans l'exemple ci-dessous, le CNAME doit pointer vers **gk-blueprint-scepman.trafficmanager.net**.

{% hint style="info" %}
Dans **Azure DNS Zone**, afin de modifier un enregistrement, vous devez d'abord supprimer le verrou DNS en accédant à **Verrous**.
{% endhint %}

{% hint style="info" %}
Une fois la configuration terminée, veillez à mettre à jour l'URL du serveur SCEP dans vos profils SCEP dans Intune. La nouvelle URL doit être le domaine personnalisé que vous avez créé, avec "/certsrv/mscep/mscep.dll" à la fin.

Exemple : <https://scepman.contoso.com/certsrv/mscep/mscep.dll>
{% endhint %}
{% endstep %}

{% step %}

### Géoredondance de Storage Account

La configuration SCEPman par défaut utilise le stockage localement redondant (LRS), qui n'utilise qu'une seule région.

Modifiez la redondance de Stockage localement redondant (LRS) vers le stockage géoredondant (GRS).

![Boîte de dialogue de redondance du Storage Account dans Azure Portal](https://129332256-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-ef32806a7e8d3c5c76c8b9c5191a527f5bae2037%2Fstorage-account-redundancy%20\(1\).png?alt=media)
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.scepman.com/fr/configuration-azure/geo-redundancy.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
