Wie Du kostenlos Dein altes Vereinsprogramm mit Azure modernisierst

Standard

Mit Azure kannst Du kostenlos Deine Vereinsarbeit modernisieren. Du kümmerst Dich in Deinem Verein um die Mitgliederverwaltung und ziehst u. a. die Jahresbeiträge ein. Dafür benutzt Du bereits jahrelang ein Programm. Dieses Programm ist auf einem PC installiert. Dieser kommt in die Jahre und niemand hat je ein Backup gemacht. Irgendwann ist es dann passiert. Der PC ist kaputt, die Daten sind verloren. Es macht sich Panik breit. 😉 Wie Du ein solches Szenario verhinderst, beschreibe ich hier.

Hier geht es zu den kostenlosen Non-Profit Angeboten von Microsoft.

https://nonprofit.microsoft.com/de-de/getting-started

Das Problem

Dass in einem Verein (oder anderen gemeinnützigen Organisationen) meistens das Geld für moderne Werkzeuge zur Zusammenarbeit fehlt ist bekannt. Zudem bringen sich viele Menschen mit Herzblut und viel Arbeit in die Vereinsarbeit ein und spenden für die Erledigung der kaufmännischen Aufgaben z. B.: private ausgemusterte Hardware. Darauf ist dann oft ein kaufmännisches Verwaltungsprogramm (z. B.: WISO) für den Verein installiert. Das läuft dann jahrelang. Naja und es kommt wie es kommen muss. Irgendwann ist der PC kaputt. Die Daten sind weg. Oder können nur sehr aufwendig wiederhergestellt werden. Das muss nicht sein!

Die Lösung

Virtualisiere diesen PC kostenlos mit Microsoft Azure in der Cloud und installiere das Verwaltungsprogramm dann dort drauf. Dann brauchst Du Dir keine Gedanken mehr um verlorene Daten machen. Die Cloud ist wesentlich stabiler als ein Aldi-PC. 😉 Und konformer in Bezug auf Datenschutz ist die Lösung allemal. Denn auch Vereine müssen sehr viele personenbezogene Daten erheben und daher alle Datenschutzgesetze einhalten.

Microsoft bietet Vereinen (und anderen gemeinnützigen Organisationen) ein kostenloses Kontingent für Azure im Wert von 3500 US$ im Jahr an. In diesen Beitrag beschreibe ich die Beantragung. Azure Virtual Desktop ist ein Service in Azure, mit dem man einen PC virtualisiert und dann über einen Client über das Netzwerk darauf zugreift. Ein Client kann z. B.: irgendein Browser, das Android Handy, ein iPhone oder sogar die XBOX sein. 🙂 Ja genau richtig gehört. Der virtuelle PC ist von überall aus erreichbar.

Das eröffnet dem Verein plötzlich viele moderne Möglichkeiten. Man kann von räumlich getrennten Orten auf den virtuellen PC zugreifen. Vom virtuellen PC können bequem Backups erstellt werden. Die Daten sind sicher. Sollte mal ein Programmupdate anstehen so erstellt man bequem ein Backup führt das Update durch und kann im Falle eines Fehlers auf die alte Version zurückgehen. Und das beste ist, dass dies kostenlos ist. Keine Hardware mehr notwendig. Azure kostenlos.

Voraussetzungen (Azure kostenlos)

  1. Du hast Deinen Verein (oder andere gemeinnützige Organisation) bereits für die kostenlosen Dienste angemeldet. Damit bekommst Du auch Azure kostenlos.
  2. Du hast eine Azure Subscription erstellt.
  3. Du benötigst ein Benutzerprofil, was im Azure Active Directory (AAD) eingepflegt wurde.

Demo

In arbeit

Anleitung (kostenlos Azure)

Dies ist eine click-through Anleitung, um einen virtuellen PC zu erstellen. Dies ist die intuitivste Methode kostenlos Azure zu konfigurieren. Ich weiß man kann auch Scripte dafür erstellen, aber damit kann nicht jeder umgehen. „Keep it simple stupid“

Erstelle eine Resource Group. Als Name denk dir etwas sprechendes aus. Als Region wählst Du die Azure-Region aus, die dir geografisch am nächsten ist. Ich nenne meine Resource Group einfach „VirtuellerPC“.

Azure kostenlos

Klicke die Resource group an und erstelle ein Virtual Network (VNET) mit einem Klick auf „Create“. Ein VNET ist ein Netzwerk in dem der virtuelle PC letztendlich läuft. Hat für uns hier erstmal keine Bedeutung ist aber eine zwingende technische Voraussetzung.

Azure kostenlos

Gebe „Virtual Network“ in die Suche ein und klicke dann auf „Create“

Azure kostenlos

Als Name denk Dir wieder einfach etwas sprechendes aus. Alle anderen Einstellungen sind erstmal egal. Übernehme einfach die Standardwerte.

Nun kannst Du schon bereits mit dem eigentlich Deployment von Azure Virtual Desktop beginnen. Erstelle dafür einen „Host pool“. Ein Host pool ist wie der Name schon sagt eine Gruppe von VMs. Da wir nur einen virtuellen PC (VM) erstellen, besteht die Gruppe nur aus einer VM.

Azure kostenlos

Nutze die folgende Tabelle, um den Wizard zum Erstellen des Hostpools durchzuführen.

EinstellungInhalt
Host Pool NameWähle einen für die sprechenden Namen für den Host pool aus
LocationDie Azure Region die geografisch am nächsten liegt
Validation environmentNo (Diese Umgebung ist für den produktiven Betrieb gedacht)
Host pool typePersonal (D. h. jede VM wird fest einem Benutzer zugeordnet)
Assigment typeDirect
<NEXT: Virtual Machines>
Add virtual machinesYes
Name prefixDenke Dir einen Sprechenden Name aus. Dieser Name wird jedem virtuellen PC vorangestellt.
Virtual machine locationWähle die dir am nächsten gelegene Region aus
Availability optionsNo infrastructure redundancy required.
Image typeGallery
ImageDu hast Du Auswahl zwischen Windows 10 und 11
Virtual machine sizeWähle die Austattung des PCs aus. Bitte immer 2 oder mehr Cores!
Number of VMs1
OS disk typeStandard SSD ist meistens ausreichend. Für besonders leistungshungrige Anwendungen kannst Du auch Premium SSD nehmen.
Use managed disksyes
Boot diagnosticsDisable
Virtual networkWähle das vorher erstellte Virtuele Netzwerk aus
SubnetWird automatisch ausgefüllt
Network security groupBasic
Public inbound portsNo
Select which directory you would like to joinAzure Active Directory
Enroll VM with intuneNo
UsernameDenke Dir einen lokalen Admin Benutzernamen aus. Diesen Usernamen nutzt DU nicht im normalen Betrieb. Dafür benutzt Du Dein Account aus dem AAD.
Password
ARM template file URL<leer lassen>
ARM template parameter file URL<leer lassen>
<NEXT: Workspace>
Register desktop app groupYes
To this workspaceEin workspace ist eine Gruppierung von Anwendungen. Für unseren Anwendungszweck gibt es nur einen workspace. Create new!
<NEXT: Advanced>
Enable diagnostics settingsNein
<NEXT: Tags>
Einfach alles leer lassen
<NEXT: Review + create>
Dann klicke auf Create!

Das Deployment der Resource dauert ein wenig.

SchrittZusätzliche Info
1. Klicke nachdem das Deployment durchgeführt wurde auf <Go to resource>
2. Wähle dort unter „Settings“ die RDP Properties aus. Unter „Advanced“ benötigen wir einen zusätzlichen Parameter. Trage dort hinter allen anderen Parametern „targetisaadjoined:i:1“ ein und speichere die Einstellung. Diese Einstellung sorgt dafür, dass sich ein Benutzer aus dem Azure Active Directory an dem PC anmelden kann.
3. Klicke nun auf Properties und Ändere „Start VM on connect“ auf „YES“Das bedeutet, dass nur wenn ein Benutzer den PC auch wirklich nutzen möchte, dieser gestartet wird. In der übrigen Zeit ist der PC ausgeschaltet und kostet kein Geld.
SchrittZusätzliche Info
1. Klicke auf „Application Groups“ und klicke die erste an. Da dürfte nur eine erscheinen. In der Application Group klicke auf Assigments. Füge mit + den gewünschten Benutzer, der den PC nutzen soll, hinzu. Klicke dann auf X und schließe damit dieses Blade.Eine Application Group ist wie der Name sagt eine Gruppe von Applikationen, die man einer Gruppe von Benutzern zuordnen kann. Eine einzelner PC bildet automatisch eine Gruppe. Das lässt sich nicht ändern. Diese Gruppe wird hiermit einem Benutzer zugeordnet.
2. Klicke dann auf „Session hosts“. Dort erscheint Dein virtueller PC. Klicke dort auf Assign. Und wähle den gleichen Benutzer wie aus 1. aus.Der Session Host ist Dein PC. Dieser wird nun direkt einem Benutzer zugeordnet. Nur dieser Benutzer kann diesen PC dann nutzen.
3. Dann gehe in die Resource group und klicke auf die VM. Dann auf IAM. Dann auf „Role assignments“. Füge die Rolle „Virtual machine user login“ hinzu.Diese Einstellung sorgt dafür, dass ein Benutzer aus dem AAD sich auf der VM anmelden darf.
4. In derselben Seite füge eine weitere Rolle hinzu. „Virtual machine contributor“ dem service principal „Windows Virtual Desktop“Diese Rolle benötigt der Service, um deine VM starten und zu dürfen.
5. In den Einstellungen der VM klicke auf „Identity“. Und dann auf Azure role assignemnts. Dann auf +. Der Scope ist Resource group. Die role ist „Virtual Machine Contributor“Diese Rolle wird benötigt, damit sich der PC nach dem Shutdown auch selbst beenden darf. Das Problem ist, dass wenn der Benutzer auf dem Desktop auf Shutdown klickt, die VM an Azure nicht komplett beendet wird. Und somit weiter Kosten generiert. Das wollen wir nicht.

Wenn ein Benutzer seine Arbeit beendet hat, dann klickt er in Windows auf Shutdown und der PC fährt herunter. Nicht so in Azure. Was sich Microsoft auch immer dabei gedacht ha, aber die VM wird nicht vollständig heruntergefahren und es entstehen weiter Kosten.

Sie steht zwar im Status „stopped“ und ist aber irgendwie noch gestartet. Ein Zombie, also. 😉

Dafür habe ich eine Extension geschrieben, die auf der VM installiert werden muss.

In diesem Github Repo verwalte ich den Code: https://github.com/henrikmotzkus/CSE-AzureVMShutdown

Um die Extension zu installieren, öffne die Cloud Konsole. Dann öffnet sich eine Kommandozeile. Stelle sicher, dass Du eine Powershell-Konsole geöffnet hast.

Dort führe bitte die folgenden 3 Befehle aus und passe die Parameter (ResourceGroupName, Location, VMName) vorher an Deine Umgebung an. Diese Befehle installieren auf der VM eine Extension. Eine Extension bietet die Möglichkeit nach dem Deployment auf der VM zusätzliche Software zu installieren oder sie zu konfigurieren.

Diese Befehle laden zwei Scripte aus meinem GitHub Repository herunter auf die VM.

1. installscript.ps1: Dieses Script konfiguriert die VM, so dass ein Script (shutdown.ps1) läuft, sobald der Benutzer auf Shutdown klickt. Technisch gesehen steckt hinter eine GroupPolicy dahinter.

2. shutdown.ps1: Dieses Script wird bei Shutdown dann ausgeführt. Dieses Script loggt sich bei Azure ein und „Deallokiert“ die VM. Das bedeutet, dass dann keine Kosten mehr anfallen.



$fileUri = @("https://raw.githubusercontent.com/henrikmotzkus/CSE-AzureVMShutdown/main/installscript.ps1","https://raw.githubusercontent.com/henrikmotzkus/CSE-AzureVMShutdown/main/shutdown.ps1")

$settings = @{"fileUris" = $fileUri};

Set-AzVMExtension -ResourceGroupName "<Name der Resource Group>" -Location "<Region der VM>" -VMName "<Name der VM>" -Name "DeallocateScript" -Publisher "Microsoft.Compute" -ExtensionType "CustomScriptExtension" -TypeHandlerVersion "1.10" -ProtectedSettings @{"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File installscript.ps1"} -Settings $settings 

Auf den virtuellen PC zugreifen

  1. Logge Dich bei https://rdweb.wvd.microsoft.com/arm/webclient/index.html ein und klicke dann auf die VM.
  2. Installiere den RDP-Client auf Deinen PC. https://docs.microsoft.com/de-de/azure/virtual-desktop/user-documentation/connect-windows-7-10
  3. Installiere den Client auf dein Android Client und logge Dich dann mit Deinem AAD-Benutzer ein. https://docs.microsoft.com/de-de/azure/virtual-desktop/user-documentation/connect-android

Fazit (kostenlos Azure)

Du hast nun einen virtuellen PC auf dem Du alle benötigten Programme installieren kannst. U. a. Deine veraltete Software für die Vereinsverwaltung und auch das Office-Paket. Dies gibt es auch kostenlos (neben Azure) für Non-Profits von Microsoft. Microsoft Office 365 für Vereine – Teil 1 – Beantragung