Georedundanz
Nur SCEPman Enterprise Edition
Diese Referenzarchitektur zeigt, wie eine Azure App Service-Anwendung in mehreren Regionen ausgeführt werden kann, um hohe Verfügbarkeit zu erreichen.
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 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 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.
Ablauf
Klonen Sie den SCEPman App Service in eine andere Geolokation.
Konfigurieren Sie den Traffic Manager und verbinden Sie seine Endpoints mit beiden SCEPman App Services.
Konfigurieren Sie für beide App Services dieselbe benutzerdefinierte Domain.
Konfigurieren Sie den DNS-CNAME-Eintrag, der Ihre benutzerdefinierte Domain auf den Traffic Manager verweist.
Schritte
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:

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

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

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
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:
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

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

Wiederholen Sie die gleichen Schritte für den zweiten Endpunkt und wählen Sie den zweiten (geklonten) SCEPman App Service als die Zielressource
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.
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.
DNS-Konfiguration
Im 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 Domain auf den Traffic-Manager-DNS-Namen abbildet. Im folgenden Beispiel sollte der CNAME auf gk-blueprint-scepman.trafficmanager.net.
Zuletzt aktualisiert
War das hilfreich?
