Georedundanz
nur SCEPman Enterprise Edition
Diese Referenzarchitektur zeigt, wie eine Azure App Service-Anwendung in mehreren Regionen betrieben werden kann, um hohe Verfügbarkeit zu erreichen.
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 Artikel 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.
Stellen Sie sicher, dass Sie einen Blick auf Microsofts Liste der verfügbaren Regionen 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:

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).

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.
Das Klonen eines App Service hat einige Einschränkungen, wie zum Beispiel Autoskalierung -Einstellungen, Sicherungszeitplan -Einstellungen, App Insights, usw. Konfigurationen, die nicht geklont werden können, müssen im geklonten App Service manuell erneut konfiguriert werden. Darüber hinaus 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
Traffic Manager einrichten
Befolgen Sie die folgenden Schritte, um Traffic Manager zu erstellen und zu konfigurieren und den Traffic zwischen beiden SCEPman-Instanzen auszugleichen:
Suchen Sie im Marketplace nach Traffic Manager-Profil und klicken Sie auf Erstellen.
Füllen Sie die Felder aus und wählen Sie Ihre SCEPman-Ressourcengruppe

Dann klicken Sie auf Erstellen.
Nachdem Ihr Traffic Manager bereitgestellt wurde, öffnen Sie ihn und klicken Sie auf Konfiguration
Ändern Sie die Einstellungen wie folgt und speichern Sie

Hinzufügen von Endpoints
Erster Endpoint
Dann unter Einstellungen wählen Sie Endpoints
Wählen Sie "Azure Endpoint" als Typ, geben Sie einen Namen für den ersten Endpoint an, und "App Service" als Zielressourcentyp
Wählen Sie Ihren primären SCEPman App Service als Zielressource

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

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.
In der Azure DNS-Zone, müssen Sie zum Ändern eines Eintrags zunächst die DNS-Sperre entfernen, indem Sie zu Sperren.
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.dll
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).

Zuletzt aktualisiert
War das hilfreich?