Wido Wirsam von der intuisoft hat mir einen interessanten Artikel über die Installation eines Windows SharePoint Servers auf Amazons Cloud Computing Platform AWS geschickt, den ich gern als Gastbeitrag in meinem Blog veröffentliche.
Installation eines Windows SharePoint Servers auf Amazons Cloud Computing Platform AWS
Cloud Computing ist in aller Munde und Amazon bietet mit ‚Amazon Web Services (AWS)‘ Windows basierte virtuelle Webserver an. Wir beschreiben in diesem Dokument welche Schritte notwendig sind, um auf einem AWS-Server Microsofts Windows SharePoint Services zu installieren.
Getreu dem Motto „Hypes in der Praxis“ werden wir in diesem Artikel ein praktisches Anwendungsbeispiel vorstellen, das zeigt, wie man einen Windows SharePoint Server (WSS) auf einem virtuellen Server in der Amazon Cloud installiert und konfiguriert. Obwohl diese Aufgabe keine besonders schwierigen Anforderungen stellt, gibt es ein paar kleine Kniffe, die man hier beachten sollte, um sich Ärger und unnötigen Aufwand zu sparen.
Wir möchten hier nicht in die Grundsatzdiskussion über das „Wie und Warum“ von Cloud-Computing einsteigen. Nur soviel wie in unserem Kontext relevant ist: Einen virtuellen Server in der Amazon Cloud zu betreiben hat gegenüber klassischen Anwendungs- oder Server- Hosting Angeboten folgende Vorteile:
- Man bezahlt nur was man wirklich benutzt – Die Server lassen sich flexibel an- und abschalten. Abgerechnet wird stundenweise. Hinzu kommen noch Kosten für die Datenspeicherung und den Datentransfer. Das ist sehr praktisch zum Experimentieren und Entwickeln, denn man hat nur relativ geringe laufende Kosten. Die aktuelle Preisliste für Windowsserver: http://aws.amazon.com/windows/
- Serverkapazitäten lassen sich flexibel skalieren – wird kurzfristig ein größerer Server gebraucht, lässt sich das Serverabbild einfach auf eine größere Serverinstanz übertragen. Werden mehrere gleichartige Server (z.B. Web-Frontend-Server) gebraucht, so startet man einfach mehrere Instanzen des gleichen Serverabbildes.
- Abrechnung und Zugriffssteuerung erfolgen über ein Amazon-Konto. Es existiert keine langfristige Vertragsbindung.
- Amazon Web Services
Es gibt zwei Wege um mit der AWS-Infrastruktur zu kommunizieren: über eine Java-API (mit Kommandozeilenbefehlen) oder über eine grafische Web-Oberfläche – die „AWS Management Console (beta)“. Für unsere Zwecke reicht die AWS Management Console vollkommen aus. Die URL https://console.aws.amazon.com/ ist der Einstiegspunkt in die Welt der Elastic Compute Cloud (EC2). Eine detaillierte Einführung in EC2 würde diesen Rahmen sprengen. Ein gutes Einführungsvideo findet sich auf der Startseite der AWS Mgmt. Console. - Windows Server / SharePoint Server
Weiterhin sollten Sie mit der Konfiguration eines Windows Servers 2005 und den Schritten zur Installation der Windows SharePoint Services vertraut sein. Eine Einführung findet sich hier: http://technet.microsoft.com/de-de/library/cc288005.aspx
- Windows Server Image starten
Nachdem Sie sich bei AWS angemeldet und einen Account für EC2 registriert haben, können Sie sich bei der AWS Management Console einloggen und das erste Serverimage starten. Zunächst sollten Sie in der rechten Spalte „Navigation“ die Region auf „EU-West“ stellen und dann im Bereich Instances den Knopf Launch Instance drücken. Ein Dialogfenster erscheint in dem Sie ein AMI (Amazon Machine Image) auswählen können. Da zu diesem Zeitpunkt noch kein eigenes Serverimage vorhanden ist, wählen Sie den Reiter Quick Start und scrollen zu den Windows AMIs. Hier haben Sie die Wahl zwischen verschiedenen Basis-AMIs unterschiedlicher Konfiguration (32 oder 64 Bit, SQL Server Express oder Enterprise, mit oder ohne Authentication Services). Welche Wahl hier die richtige ist, muss jeder selber entscheiden. Für diesen Artikel verwenden wir Getting Started on Microsoft Windows Server 2003 (Microsoft Windows Server 2003 R2 Data Center edition, 32-bit architecture, Microsoft SQLServer 2005 Express, Internet Information Services 6, ASP.NET 2)“.
Interessant ist die Frage ob Authentication Services gewählt werden sollten oder nicht, da sich diese Einstellung nicht nachträglich ändern lässt, und der Server mit selbigen Diensten etwa doppelt so viel kostet wie ohne. Wenn die Benutzer des Servers via Kerberos oder anderen alternativen Authentifizierungsmethoden angemeldet werden sollen, sind o.g. Dienste notwendig. Für Standard-Windows Authentifizierung (und natürlich plain text / Forms basiert) reicht die einfache Variante.
Nun muss noch die Sprache eingestellt werden – in unserem Fall auf Deutsch. Im nächsten Dialogfenster wird die Firewall konfiguriert – hier ist es wichtig, Remote Desktop Connection und HTTP zu aktivieren.
Im Launch Dialog starten Sie 1 Instanz auf einem m1.small Server, geben den zuvor erzeugten Key-Pair an bzw. erzeugen hier ein solches und wählen die zuvor benannte Security Group aus.
Nachdem der Launch Knopf gedrückt wurde, beginnt der Server hochzufahren. Dies kann einige Minuten dauern.
Im Navigation-Bereich Instances findet sich nun die soeben gestartete Serverinstanz. Nachdem der Status von starting über pending zu running gewechselt ist, erhalten Sie die Public DNS also die URL unter der Sie auf den neuen Server zugreifen können.
Ein Rechtsklick auf den Eintrag in der My Instances Liste bringt ein Kontext Menu hervor. Hier können Sie das Default Admin Password abrufen, welches dann mithilfe Ihres Private Key entschlüsselt werden muss.
Nun können Sie sich über eine Remote Desktop Sitzung mit dem Server verbinden. Servername ist der Public DNS Anmeldename Administrator und als Passwort muss das soeben entschlüsselte Admin Passwort eingegeben werden. Wenn bis hierhin alles geklappt hat, sehen Sie nun den Startbildschirm ihres frischen Servers.
- Server starten, konfigurieren und Sharepoint Services installieren
Bevor irgendetwas anderes auf dem Server installiert wird, ändern Sie den Computernamen und ggf. das Administrator Passwort. Dann muss der Server neu gestartet werden. Wenn Sie zu einem späteren Zeitpunkt Ihren SharePoint Server als AMI abspeichern und später wieder neu starten, werden der Computername und das Administratorpasswort für die neue Instanz neu generiert. Da sich SharePoint aber über den Computernamen mit der SQL Datenbank verbindet würde der SharePoint Server nach einem Start des Images nicht mehr funktionieren. Deshalb muss diese Eigenschaft in zwei Konfigurationsdateien abgeschaltet werden.
In der Datei C:\Program Files\Amazon\Ec2ConfigSetup\config.xml muss die Eigenschaft Ec2SetComputerName auf Disabled gesetzt werden.
In der Datei C:\Program Files\Amazon\Ec2ConfigSetup\BundleConfig.xml muss die Eigenschaft SetSysprep auf No gesetzt werden.
Downloaden und installieren Sie auf dem Server die Windows SharePoint Services (http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=ef93e453-75f1-45df-8c6f-4565e8549c2a ) und folgendes Update (http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=960010&kbln=en-us )
Nachdem Sie mit dem SharePoint Wizard erfolgreich die Installation abgeschlossen haben, können Sie Ihre erste SharePoint Seite erstellen.
- Externes virtuelles Laufwerk verwenden
Nun sollten noch die SharePoint Datenbanken auf einen externen Speicher verschoben werden. Dazu erstellen Sie einen Elastic Block Store (EBS) und mounten diesen als Laufwerk auf dem Server. Verschieben Sie nun die Datenbanken auf den EBS wie es in dem Blog von Matt Johnson (http://blogs.dirteam.com/blogs/mjohnson/archive/2008/02/08/moving-wss-3-0-databases.aspx ) beschrieben ist. Zum einen ist dies sinnvoll, da so die Daten von dem Webserver getrennt gespeichert sind, zum andern gehen die SharePoint Inhalte und Konfiguration so nicht verloren, wenn der Server heruntergefahren und später wieder neu gestartet wird. Das externe Laufwerk muss aber nach jedem Serverstart neu verbunden und die SQL-Server Dienste neu gestartet werden. Wenn jemand einen eleganten Weg findet, dies zu automatisieren, bitten wir um einen Hinweis ;-)
- DynDNS Zugang einrichten
Wenn über die AWS Management Console ein AMI gestartet wird, bekommt es einen öffentlichen DNS-Namen der Form ec2-xx-xxx-xx-xx.eu-west-1.compute.amazonaws.com zugeordnet. Um den Server unter einer gleichbleibenden URL verfügbar zu machen, dient das Konstrukt der Elastic IPs. Diese lassen sich über die AWS Management Console beziehen. Eine für Testzwecke besonders geeignete Alternative zu diesem Vorgehen besteht in der Verwendung eines Dienstes wie DynDNS. Dieser Dienst lässt sich in einer Kostenlosen Variante nutzen. Melden Sie sich hierzu unter http://www.dyndns.com/services/dns/dyndns/ an und wählen sie sich eine Wunsch-URL der Form http://ihrName.dyndns.org aus. Installieren Sie dann auf dem Server die Software DynDNS Update Client, die jederzeit die neu zugewiesenen IP-Adressen auf ihre URL mappt.
- Serverkonfiguration speichern
Nachdem Sie die Konfiguration des Servers abgeschlossen haben, und immer wenn Sie in Zukunft Änderungen an dem Server vorgenommen haben, bündeln Sie das Serverabbild und registrieren es als AMI. Dies geht indem Sie in der AWS Management Console unter Instances einen Rechtsklick auf die laufende Instanz machen und aus dem Kontextmenu bundle instance klicken. Im folgenden Dialog muss der eindeutige Name eines existierenden S3-Buckets angegeben werden, sowie ein neuer Name für die zu bundlende Instance (Amazon S3 Key Name) – dies ist nicht wie man vermuten könnte der Name des public key pair. Wenn dieser Prozess beendet ist, wählen Sie Bundle Tasks aus dem Navigation Menu. Nachdem der Task abgeschlossen ist, wählen Sie aus dessen Kontextmenu Register Image as AMI. Danach ist genau diese Serverkonfiguration als AMI gespeichert und kann jederzeit neu gestartet werden. Sie können auf diese Weise auch mehrere alternative Konfigurationen bereithalten.
Bei Interesse kann das in dieser Anleitung beschriebene AMI-Serverabbild zur Verfügung gestellt werden. Senden Sie hierzu eine Anfrage an wirsam (at) intuisoft (punkt) de.
- Fazit: SharePoint passt in die Cloud
Die Kombination Amazon Web Services + Windows Server + Windows SharePoint Services bietet eine elegante und kostengünstige Möglichkeit, ohne großen Hardwareaufwand und ohne langfristige Hosting-Verträge einen SharePoint Server aufzusetzen, anzupassen und im späteren Produktivbetrieb flexibel skalierbar zu betreiben.
Wido Wirsam erreicht man über sein Unternehmen intuisoft, das Beratung und Lösungen basierend auf Microsoft SharePoint Technologien anbietet.
Technorati: SharePoint, Podcast, SharePoint 2007, SharePointCommunity, MOSS 2007, SharePoint2010, Michael Greth
Bereitgestellt
15 Mai 2009 7:17
von
Michael Greth