Georedundanz

circle-exclamation

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

circle-info

Geo-Redundanz / Hochverfügbarkeit ist derzeit nur für den (primären) SCEPman App Service verfügbar. Begründung: Die Benutzer von Certificate Master sind Administratoren mit typischerweise nicht zeitkritischen Zertifikats-Workloads und Kenntnissen über Verfahren zum Umgang mit solchen Szenarien.

Architektur

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 unterschiedlichen 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 Traffics 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 sämtlicher Traffic automatisch an die verfügbare Instanz geleitet.

Microsoft behandelt in diesem Artikelarrow-up-right drei verschiedene Strategien zur Geo-Redundanz, die zur Verwaltung dieses Architekturtps 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 per Lastenausgleich verteilt werden. Wenn eine Region aus irgendeinem Grund nicht verfügbar ist oder eine gewisse Latenz aufweist, leitet Traffic Manager den Datenverkehr an den zweiten App Service weiter.

circle-info

Stellen Sie sicher, dass Sie einen Blick auf Microsofts Liste der verfügbaren Regionenarrow-up-right und die jeweils zugehörige Partnerregion werfen. Die Verwendung ungepaarter Regionen kann bei der Einrichtung dieser Redundanz zu Problemen führen.

Workflow

  • Zuerst wird der SCEPman App Service in eine andere Geolokation geklont.

  • Dann wird Traffic Manager konfiguriert und seine Endpoints werden hinzugefügt und mit beiden SCEPman App Services verbunden.

  • Anschließend werden die benutzerdefinierten Domänen für beide App Services konfiguriert.

  • Schließlich wird der DNS-CNAME-Eintrag konfiguriert, der Ihre benutzerdefinierte Domäne auf den Traffic Manager verweist.

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
circle-info

Anforderungen für das Klonen des App Service (über SCEPman PowerShell-Modul):

  • SCEPman 2.2 oder höher

  • SCEPman PowerShell-Modul 1.6.3.0 oder höher

  • Global-Admin-Berechtigungen

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

  • 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. Für die automatische Erkennung leer lassen.

  • 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 vorab ausgewä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 vorab in az aus oder übergeben Sie die korrekte SubscriptionId.

Beispiel

Einen vorhandenen SCEPman App Service "as-scepman-nrg5reuov63vk" klonen

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

circle-info

Um einen Single Point of Failure zu vermeiden, empfehlen wir, WEBSITE_RUN_FROM_PACKAGE des geklonten App Service auf den zweiten unabhängigen Artifact-Host in Azure zu setzen.

Produktionskanal:

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

Der ursprüngliche App Service sollte standardmäßig den ersten Artifact-Host haben, der auf ein GitHub-Repository verweist. Weitere Informationen finden Sie unter Anwendungsartefakte.

circle-exclamation

Traffic Manager einrichten

Befolgen Sie die folgenden Schritte, um Traffic Manager zu erstellen und zu konfigurieren und den Traffic 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

  1. Dann klicken Sie auf Erstellen.

  2. Nachdem Ihr Traffic Manager bereitgestellt wurde, öffnen Sie ihn und klicken Sie auf Konfiguration

  3. Ändern Sie die Einstellungen wie folgt und speichern Sie

Traffic-Manager-Konfiguration

Hinzufügen von Endpoints

Erster Endpoint

  1. Dann unter Einstellungen wählen Sie Endpoints

  2. Wählen Sie "Azure Endpoint" als Typ, geben Sie einen Namen für den ersten Endpoint an, und "App Service" als Zielressourcentyp

  3. Wählen Sie Ihren primären SCEPman App Service als Zielressource

Traffic Manager, Endpoint-Konfiguration

Zweiter Endpoint

Wiederholen Sie dieselben Schritte für den zweiten Endpoint und wählen Sie den zweiten (geklonten) SCEPman App Service als Zielressource

Konfiguration der benutzerdefinierten Domäne

Nach erfolgreicher Bereitstellung und Konfiguration der Traffic Manager-Endpoints müssen Sie die gleiche benutzerdefinierte Domäne für beide SCEPman-Instanzen wie beschrieben einrichten hier.

Stellen Sie sicher, dass Sie den Wert der Einstellung AppConfig:BaseUrl für beide der SCEPman App Services ändern, nachdem die benutzerdefinierten Domänen erstellt wurden.

DNS-Konfiguration

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

Traffic Manager-Übersicht
  • 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 Domäne auf den Traffic Manager-DNS-Namen abbildet. Im folgenden Beispiel sollte der CNAME auf gk-blueprint-scepman.trafficmanager.net.

circle-info

In der Azure DNS-Zone, müssen Sie zum Ändern eines Eintrags zunächst die DNS-Sperre entfernen, indem Sie zu Sperren.

circle-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 benutzerdefinierte Domäne sein, die Sie erstellt haben, mit "/certsrv/mscep/mscep.dll" am Ende.

Beispiel: https://scepman.contoso.com/certsrv/mscep/mscep.dllarrow-up-right

Geo-Redundanz des Storage Account

Der für SCEPman verwendete Storage Account sollte ebenfalls auf Redundanz konfiguriert werden. Die standardmäßige SCEPman-Einrichtung verwendet lokal redundanten Speicher (LRS), der nur eine einzige Region nutzt. Konfigurieren Sie beispielsweise geo-redundanten Speicher (GRS).

Dialog zur Redundanz des Storage Account im Azure Portal

Zuletzt aktualisiert

War das hilfreich?