> 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/de/azure-konfiguration/geo-redundancy.md).

# Georedundanz

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

Diese Referenzarchitektur zeigt, wie eine Azure App Service-Anwendung in mehreren Regionen ausgeführt werden kann, um hohe Verfügbarkeit zu erreichen.

{% hint style="info" %}
Geo-Redundanz / Hochverfügbarkeit ist derzeit nur für den (Haupt-)SCEPman App Service verfügbar. Begründung: Die Benutzer von Certificate Master sind Administratoren mit typischerweise nicht zeitkritischen Zertifikats-Workloads und Kenntnissen über Verfahren, um solche Szenarien zu handhaben.
{% endhint %}

## Architektur

![](https://2075553437-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)

Wie oben dargestellt, nutzt die geo-redundante Bereitstellung ein Azure Traffic Manager-Profil, das (DNS-basierte) Anfragen an die SCEPman-CA an ein Paar von SCEPman-Instanzen weiterleitet, die in verschiedenen Geolokationen bereitgestellt werden. Die einzelnen SCEPman-Instanzen kommunizieren mit demselben Key Vault, Storage Account und AAD und teilen sich dadurch dieselbe Root CA. Neben dem Lastenausgleich des Verkehrs auf Basis einer Reihe von Routing-Algorithmen, aus denen Sie wählen können, prüft Traffic Manager auch kontinuierlich beide SCEPman-Instanzen. Falls eine Instanz nicht verfügbar wird, wird der gesamte Verkehr automatisch an die verfügbare Instanz geleitet.

Microsoft diskutiert in [diesem Artikel](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/multi-region) drei verschiedene Geo-Redundanzstrategien, die zur Verwaltung dieser Art von Architektur verwendet werden können. In unserem Fall verwenden wir jedoch den **Active/Active** Ansatz. Das bedeutet, dass beide Regionen aktiv sind und Anfragen zwischen ihnen lastverteilt werden. Wenn eine Region aus irgendeinem Grund nicht verfügbar wird oder Latenz aufweist, leitet Traffic Manager den Verkehr an den zweiten App Service weiter.

{% hint style="info" %}
Werfen Sie unbedingt einen Blick auf [die Liste der verfügbaren Regionen von Microsoft](https://learn.microsoft.com/en-us/azure/reliability/regions-list#azure-regions-list-1) und die jeweils zugehörige gepaarte Region. Die Verwendung ungepaarter Regionen kann bei der Einrichtung dieser Redundanz zu Problemen führen.
{% endhint %}

## Ablauf

1. Klonen Sie den SCEPman App Service in eine andere Geolokation.
2. Konfigurieren Sie den Traffic Manager und verbinden Sie seine Endpoints mit beiden SCEPman App Services.
3. Konfigurieren Sie für beide App Services dieselbe benutzerdefinierte Domain.
4. Konfigurieren Sie den DNS-CNAME-Eintrag, der Ihre benutzerdefinierte Domain auf den Traffic Manager verweist.

## Schritte

{% stepper %}
{% step %}

### App klonen

Um einen App Service zu klonen, müssen Sie zunächst einen neuen **App Service-Plan** in einer zweiten Geolokation erstellen; dort wird die geklonte App bereitgestellt. Sie können ihn in derselben SCEPman-Ressourcengruppe oder in einer neuen erstellen. Siehe Screenshot unten:

![Erstellung eines neuen App Service-Plans mit Windows](https://2075553437-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" %}
Voraussetzungen für das Klonen von App Services (über [SCEPman PowerShell-Modul](/de/scepman-bereitstellung/permissions/post-installation-config.md#acquire-and-run-the-scepman-installation-powershell-module)):

* SCEPman **2.2** oder höher
* SCEPman PowerShell-Modul **1.6.3.0** oder höher
* Global-Admin-Berechtigungen
  {% endhint %}

Der folgende Cmdlet-Befehl klont Ihren SCEPman App Service und konfiguriert alle erforderlichen Berechtigungen:

```
New-SCEPmanClone -SourceAppServiceName <Your SCEPman App Service Name> -TargetAppServiceName <Your cloned App Service Name> -TargetAppServicePlan <Your second App Service Plan in the second Geo Location> -SearchAllSubscriptions 6>&1
```

* **SourceAppServiceName:** Der Name des vorhandenen SCEPman App Service.
* **TargetAppServiceName:** Der Name des neu geklonten SCEPman App Service.
* **TargetAppServicePlan:** Der Name des App Service-Plans für die geklonte SCEPman-Instanz. Der App Service-Plan muss bereits in der TargetResourceGroup vorhanden sein.
* **SourceResourceGroup:** (Optional) Die Azure-Ressourcengruppe, die den vorhandenen SCEPman App Service hostet. Leer lassen für automatische Erkennung.
* **TargetResourceGroup:** (Optional) Die Azure-Ressourcengruppe, die den neuen SCEPman App Service hostet. Leer lassen, um die Ressourcengruppe des App Service-Plans automatisch zu erkennen.
* **SourceSubscriptionId:** (Optional) Die ID des Abonnements, in dem SCEPman installiert ist. Kann weggelassen werden, wenn es bereits in az vorausgewählt ist, oder verwenden Sie das Flag SearchAllSubscriptions, um alle zugänglichen Abonnements zu durchsuchen
* **TargetSubscriptionId:** (Optional) Die ID des Abonnements, in dem SCEPman installiert werden soll. Kann weggelassen werden, wenn sie mit SourceSubscriptionId identisch ist.
* **SearchAllSubscriptions:** (Optional) Setzen Sie dieses Flag, um alle Abonnements nach dem SCEPman App Service zu durchsuchen. Andernfalls wählen Sie das richtige Abonnement in az vor oder übergeben Sie die korrekte SubscriptionId.

#### **Beispiel**

Einen vorhandenen SCEPman App Service "app-scepman-contoso" klonen

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

![](https://2075553437-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)

Nachdem die Bereitstellung erfolgreich abgeschlossen wurde, navigieren Sie zum geklonten App Service und prüfen Sie auf der SCEPman-Homepage, ob alle Berechtigungen korrekt gesetzt sind und alles grün und verbunden ist (dies kann bis zu 3 Minuten dauern, nachdem die Bereitstellung abgeschlossen ist).

![](https://2075553437-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" %}
Um einen Single Point of Failure zu vermeiden, empfehlen wir, das [WEBSITE\_RUN\_FROM\_PACKAGE](/de/scepman-konfiguration/application-artifacts.md) des geklonten App Service auf den zweiten unabhängigen Artefakt-Host auf Azure zu setzen.

Produktionskanal:

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

Der ursprüngliche App Service sollte standardmäßig den ersten Artefakt-Host haben, der auf ein GitHub-Repository verweist. Weitere Informationen finden Sie unter [Anwendungsartefakte](/de/scepman-konfiguration/application-artifacts.md).
{% endhint %}

{% hint style="warning" %}
Das Klonen eines App Service hat einige Einschränkungen, wie z. B. **Autoskalierung** Einstellungen, **Sicherungszeitplan** Einstellungen, **App Insights**, usw\.. Konfigurationen, die nicht geklont werden können, müssen auf dem geklonten App Service manuell erneut konfiguriert werden. Außerdem werden Änderungen an den Einstellungen eines App Service nicht automatisch mit dem zweiten App Service synchronisiert, wenn sie nach dem Klonvorgang vorgenommen werden. Weitere Informationen finden Sie unter <https://docs.microsoft.com/en-us/azure/app-service/app-service-web-app-cloning#current-restrictions>
{% endhint %}
{% endstep %}

{% step %}

### Traffic Manager einrichten

Befolgen Sie die folgenden Schritte, um den Traffic Manager zu erstellen und zu konfigurieren und den Verkehr zwischen beiden SCEPman-Instanzen auszugleichen:

1. Suchen Sie im Marketplace nach **Traffic-Manager-Profil** und klicken Sie auf **Erstellen**.
2. Füllen Sie die Felder aus und wählen Sie Ihre SCEPman-Ressourcengruppe\
   ![](https://2075553437-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. Dann klicken Sie auf **Erstellen**.
4. Nachdem Ihr Traffic Manager bereitgestellt wurde, öffnen Sie ihn und klicken Sie auf **Konfiguration**
5. Ändern Sie die Einstellungen wie folgt und **speichern Sie**<br>

   <figure><img src="https://2075553437-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 %}

### Endpunkte hinzufügen

1. Dann unter **Einstellungen** wählen Sie **Endpunkte**
2. Wählen Sie "Azure Endpoint" als **Typ**, geben Sie einen Namen für den ersten Endpunkt an und "App Service" als **Zielressourcentyp**
3. Wählen Sie Ihren primären SCEPman App Service als die **Zielressource**<br>

   <figure><img src="https://2075553437-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. Wiederholen Sie die gleichen Schritte für den zweiten Endpunkt und wählen Sie den zweiten (geklonten) SCEPman App Service als die **Zielressource**
   {% endstep %}

{% step %}

### Konfiguration der benutzerdefinierten Domain

Nachdem die Traffic-Manager-Endpoints erfolgreich bereitgestellt und konfiguriert wurden, müssen Sie die **gleiche** benutzerdefinierte Domain für **beide** SCEPman-Instanzen wie beschrieben einrichten [hier](/de/azure-konfiguration/custom-domain.md).

Stellen Sie sicher, dass Sie den Wert der Einstellung ändern **AppConfig:BaseUrl** für **beide** für SCEPman App Services, nachdem die benutzerdefinierten Domains erstellt wurden.
{% endstep %}

{% step %}

### DNS-Konfiguration

Im Traffic Manager **Übersicht,** finden Sie den DNS-Namen, der zu Ihrem DNS hinzugefügt werden muss

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

* Navigieren Sie zu Ihrem DNS-Verwaltungsdienst (z. B. **Azure DNS-Zonen**)
* Entfernen Sie eventuell vorhandene falsche CNAME-Einträge, die auf eine der Azure App Service-Instanzen verweisen, und fügen Sie einen CNAME hinzu, der die erstellte SCEPman-benutzerdefinierte Domain auf den Traffic-Manager-DNS-Namen abbildet. Im folgenden Beispiel sollte der CNAME auf **gk-blueprint-scepman.trafficmanager.net**.

{% hint style="info" %}
In **Azure DNS-Zone**, müssen Sie zum Ändern eines Datensatzes zunächst die DNS-Sperre entfernen, indem Sie zu **Sperren**.
{% endhint %}

{% hint style="info" %}
Nach Abschluss der Konfiguration stellen Sie sicher, dass Sie die SCEP-Server-URL in Ihren SCEP-Profilen in Intune aktualisieren. Die neue URL sollte die von Ihnen erstellte benutzerdefinierte Domain mit "/certsrv/mscep/mscep.dll" am Ende sein.

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

{% step %}

### Storage Account Geo-Redundanz

Die Standard-SCEPman-Einrichtung verwendet Locally Redundant Storage (LRS), das nur eine einzelne Region verwendet.

Ändern Sie die Redundanz von Locally Redundant Storage (LRS) zu Geo-redundantem Speicher (GRS).

![Dialog zur Storage Account-Redundanz im Azure Portal](https://2075553437-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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.scepman.com/de/azure-konfiguration/geo-redundancy.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
