Ein ECUI Operator kann neue ECUI Installationen vornehmen, verwalten und (neue) DNS Einträge organisieren.
Regelmässige Aufgaben
Organisatorisches
Zertifikatsgültigkeiten überwachen
Kosten und Zahlung Dienste überwachen
Koordination gehostete Dienste (was neu, was löschen?)
Zuweisung von Rechten auf Umgebungen und Dienste
Technisches
Überwachung der Applikationen von aussen [laufend]
Zum Beispiel über Healthcheck mit OK/NOK und Messung der Antwortzeit des Healthcheck
Alerts in Azure oder externen Monitoring-Tools einrichten
Überwachung Backup von Datenbanken [Intervall]
Zum Beispiel überprüfen dass die Backups vorhanden sind
Zum Beispiel Restore-Test
Überwachung Auslastung Dienste (CPU, Memory, verwendete “Slots” falls an gewissen Orten beschränkt) [laufend]
Zum Beispiel über Azure Dashboard von App Service Plan und App Service Instanzen
Überwachung der Applikation von innen (Inhalt)
Zum Beispiel im PerformX Connector schauen ob alle Syncs in Ordnung sind
Überwachung von Fehlerhäufigkeiten und -Arten
Zum Beispiel App Insights Failures überprüfen - neue Fehler, viele Fehler?
Planung / Zukunft / Strategie
Entwicklungen erkennen und Ausbauten resp. Änderungen planen
Verteilung der DEV / TEST / PROD Instanzen auf App Service Pläne
Setup Aufgaben
App Service erstellen
Neuen Azure App Service im bestehenden App Service Plan erstellen
Stack: .Net
.Net Version: .Net Core (3.1, 2.1)
Platform: 32 Bit
Application Insights
aktivieren (geht je nach Berechtigung erst nachdem der “Create” Wizard durchgelaufen ist)
Configuration/General Settings
HTTP Version 2.0 einschalten
FTP State: FTPS only aktivieren
Configuration/Application Settings
Neues "Application Setting" mit dem Namen "WEBSITE_TIME_ZONE" und dem Wert "W. Europe Standard Time" erfassen (das setzt dir richtige Time-Zone für den App Service. Sonst ist immer UTC aktiv)
Neuen Connection String erfassen. Je nach Datenbank ist das "SqlServer" oder "SqlAnywhere".
SqlAnywhere: Compression sollte zur Reduktion der Daten immer aktiviert werden
SqlServer: Die Einstellung MultipleActiveResultSets=True muss gesetzt werden.
TLS/SSL Settings
HTTPS only: On (aktiviert die automatische Weiterleitung von http://… auf https://…)
Minimum TLS Version: 1.2
Health Check [noch nicht aktuell]
Aktivieren mit dem Pfad "/api/v1/application/healthcheck"
Alerts [noch nicht aktuell]
E-Mail Alert auf den Health Check einrichten
Deployment der eigentlichen Applikation einrichten (durch Encodo)
Jetzt sollte die Applikation laufen. Manchmal braucht es nach dem ersten Deployment einen Restart des App Service und dann etwas Geduld, weil die Applikation beim ersten Start unter Umständen noch Daten generieren muss bevor sie verfügbar ist.
App Service löschen
Ein App Service kann in der Overview einfach gelöscht wer den. Falls ein App Service mit hinzugefügten Domain Names ersatzlos gelöscht wird, dann sollten diese Domain Names im entsprechenden DNS auch entfernt werden. Sonst wird die URL weiterhin aufgelöst, aber dem User nichts mehr angezeigt weil der App Service nicht mehr da ist.
Domain Namen in Azure verwalten
Domain Namen erstellen
Zertifikat im PFX-Format besorgen
ACHTUNG: Das .pfx File sollte nicht per E-Mail übertragen werden. Am besten per geschütztem File-Share weiter geben.
ACHTUNG: Das Passwort für das Zertifikat nie auf dem gleichen Kanal(und auch nicht per E-Mail) übertragen.Zertifikat in Azure hochladen
In https://portal.azure.com einloggen
In einen der "Web Portals" App Services wechseln
Unter "TLS/SSL Settings" auf den Tab "Private Key Certificate (.pfx)" wechseln
Per "+ Upload Certificate" das Zertifikat hochladen (das Passwort muss dabei angegeben werden)
Eine Custom-Domain erstellen
Unter "Custom Domains" mit "+ Add custom domain" eine neue Custom Domain erfassen (also z.B. test.member.aeroclub.ch) und dann "Validate" auswählen. Es folgen dann Instruktionen (-> Domain Ownership) für die nötigen DNS Änderungen, die vom DNS Administrator gemacht werden müssen.
Erst wenn die DNS Änderungen vollständig gemacht sind (also TXT + CNAME eingetragen), kann die Custom Domain angefügt werden.
TLS/SSL Einstellungen für App Service machen:
Unter "TLS/SSL settings" nun noch per "+" die neue Custom Domain mit der App verbinden. Dabei muss die Custom Domain, das Zertifikat und der "TLS/SSL Type" ausgewählt werden (-> Immer SNI wählen da das keine Kosten generiert)
Nach dem Bestätigen per "Add Binding" ist die Custom-Domain fertig eingerichtet
Domain Namen löschen
In Azure kann unter “Custom Domain” auf dem zu löschenden Eintrag per “…” Menueintrag die Funktion “Remove Custom Domain” ausgewählt werden. Falls die Domain nicht auf einem anderen App Service wieder zum Einsatz kommt, sollte diese auch aus dem entsprechenden DNS Server gelöscht werden.
Zertifikate überprüfen und updaten
Seit Herbst 2020 sind Zertifikate fürs Web maximal 12 Monate gültig. Darum müssen diese Zertifikate alle 12 Monate erneuert werden. Ohne die Erneuerung können User nicht mehr auf die Applikation zugreifen.
Es ist deshalb wichtig, die Zertifikat-Laufzeiten entsprechend zu verwalten und frühzeitig mit dem Ersatz eines Zertifikats zu beginnen. Dazu entweder Termine setzen und/oder regelmässig die Liste der Zertifikate unter “TLS/SSL Settings” auf einem App Service (die Liste ist bei allen App Service Instanzen eines Plans die gleiche) auf dem Tab “Private key Certificates (.pfx)” die Liste der Zertifikate anschauen gehen. Zertifikate, die kurz vor dem Aublauf stehen werden mit einem “Warnung” Icon markiert.
Neues Zertifikat im PFX Format besorgen und dieses in Azure hochladen (siehe “Domain Namen erstellen“)
Unter “SSL/TLS Settings” den zu erneuernden Eintrag doppelklicken (unter “…” ist nur der Remove erreichbar) und das neue Zertifikat zuweisen. Hier kann nur mit dem Thumbprint des Zertifikats unterschieden werden, welches das aktuelle und welches das neue ist. Diese Anpassung muss für jeden einzelnen der gebundenen Domain Names gemacht werden.
Das alte Zertifikat kann jetzt aus der Liste der Zertifikate gelöscht werden. Falls noch ein Domain Name auf dieses Zertifikat gebunden ist, dann funktioniert das Löschen nicht. Azure sagt aber nicht welcher Domain Name betroffen ist. Also ist Suchen angesagt.
DNS Server Administration
Änderungen am DNS Server müssen immer von der Person/Firma gemacht werden, welche die Domain besitzt resp. welche diese im Auftrag des Besitzers verwaltet. Dies ist meist der Endkunde resp. dessen IT-Partner. Wenn z.B. der Name “portal.mydomain.ch” eingetragen werden muss, dann braucht es im DNS die folgenden beiden Einträge:
Type | Host | Value |
---|---|---|
TXT | <String aus der Azure Domain Erfassung> | |
CNAME | portal.mydomain.ch |
ACHTUNG: Wenn ein DNS Eintrag nicht neu, sondern umgestellt worden ist, dann dauert es eine Weile bis dieser Eintrag überall verfügbar und somit aktiv ist. Diese “Weile” hängt von den individuellen Einstellungen im DNS Server ab und kann von Sekunden bis zu Tage dauern. Um zu testen lohnt es sich in einem solchen Fall mit einem Gerät zu testen, welches den geänderten Namen in den letzten Tagen noch nicht aufgelöst hat. Nach einem erfolglosen Test ist das Gerät dann aber für weitere Tests nutzlos, weil die Namensauflösung auch auf dem Gerät resp. auch auf dem angefragten DNS Server gecacht wird. Alternativ können auch
Kommandozeilen-Tools wie “nslookup” mit externen DNS Servern
Webseiten wie https://dnschecker.org
verwendet werden. Das sind dann aber eher Optionen für fortgeschrittene Operators.