(0) exportieren Drucken
Alle erweitern

Serverabbild für eine VM-Rolle in Windows Azure erstellen

Letzte Aktualisierung: März 2011

[Die Funktion "VM-Rolle" von Windows Azure wird am 15.05.2013 außer Betrieb genommen. Nach diesem Datum werden Bereitstellungen des Typs "VM-Rolle" gelöscht. Mit "Windows Azure-Virtuelle Computer" können Sie Ihre vorhandenen Anwendungen weiterhin nutzen. Weitere Informationen über die Verwendung von "Virtuelle Computer" für eine Anwendung finden Sie unter Moving from VM Role to Windows Azure Virtual Machines (Wechseln von "VM-Rolle" zu "Windows Azure-Virtuelle Computer").

Die VM-Rolle für Windows Azure ähnelt den anderen Rollen, da alle unter Windows Azure ausgeführten Rolleninstanzen virtuelle Computer sind, auf denen eine Version des Windows Server-Betriebssystems ausgeführt wird. Der Unterschied bei der VM-Rolle ist, dass Sie das Abbild des Servers erstellen und verwalten. Erstellen Sie dazu eine Basis-VHD, installieren Sie die Windows Azure-Integrationskomponenten, installieren Sie Anwendungen und nehmen Sie Anpassungen vor, verallgemeinern Sie das Abbild, und laden Sie es dann in Windows Azure hoch.

Sie können Windows-Standardtechnologien zur Abbilderstellung verwenden, um Ihr benutzerdefiniertes Windows Server 2008 R2-Abbild zu erstellen. Beispielsweise können Sie Hyper-V-Manager verwenden, um die Basis-VHD zu erstellen, die in Windows Azure hochgeladen wird.

Die Basis-VHD enthält das Betriebssystem, alle Anpassungen des Betriebssystems und die Anwendungen. Sie können Hyper-V-Manager verwenden, um die Basis-VHD zu erstellen. Nachdem Sie das Serverabbild erstellt und vorbereitet haben, wird die VHD im Windows Azure-Verwaltungsportal hochgeladen.

Die folgenden Informationen können Ihnen helfen, mehr über VHDs und Serverabbilder zu erfahren:

Es wird empfohlen, dass Sie eine möglichst große Datenmenge in die Basis-VHD aufnehmen. Sie können eine differenzierende VHD verwenden, um begrenzte Updates und Patches anzuwenden. Dabei steht Ihnen völlig frei, was Sie in die Basis-VHD und in die differenzierende VHD aufnehmen. Da die Basis-VHD und die differenzierende VHD als eine Menge anzusehen sind, die das Serverabbild definieren, sollten Sie eine lokale Kopie der Basis-VHD an einem sicheren Ort aufbewahren.

Die Windows Azure-Integrationskomponenten müssen auf dem Serverabbild installiert sein, bevor die Basis-VHD in Windows Azure hochgeladen werden kann. Die Windows Azure-Integrationskomponenten werden für jede VM-Rolleninstanz ausgeführt, die aus dem Serverabbild erstellt wird und die Integration zwischen der VM-Rolleninstanz und der Windows Azure-Umgebung behandelt.

Die Integrationskomponenten führen die erforderlichen Aufgaben aus, um das Betriebssystem der VM-Rolleninstanz in Windows Azure zu integrieren. Die Komponenten nutzen den Lastenausgleich, um Informationen zum Zustand der Instanzen zu übermitteln. Die Komponenten initialisieren auch den virtuellen Computer, indem sie Zertifikate installieren und lokale Ressourcenverzeichnisse auf Grundlage der Einstellungen in der Dienstdefinition erstellen.

Mit Windows Azure Connect können Sie eine einfache Benutzeroberfläche verwenden, um IPSec-geschützte Verbindungen zwischen Computern oder virtuellen Computern im lokalen Netzwerk und in Windows Azure ausgeführten Rolleninstanzen zu konfigurieren. IPSec schützt die Kommunikation über IP-Netzwerke durch die Verwendung kryptografischer Sicherheitsdienste. Weitere Informationen zur Verwendung von Windows Azure Connect finden Sie unter Verbinden lokaler Computer mit Windows Azure-Rollen.

Sie können einen Adapter schreiben, der als Teil des Setup- oder Startprozesses des Betriebssystems ausgeführt wird. Das folgende Diagramm veranschaulicht das Adapterentwicklungsmodell:

VMRoleDevelopmentModel

Sie haben zwei Möglichkeiten, einen Adapter zu schreiben:

  • Sie können einen Adapter schreiben, der während der Spezialisierungsphase ausgeführt wird. Diese Spezialisierungsphase tritt während des Setups des Betriebssystems auf, nachdem das Serverabbild zum ersten Mal in Windows Azure hochgeladen wurde oder nach dem Reimaging einer Instanz. Dieses Format des Adapters kann ohne Code geschrieben werden und verwendet einen von zwei Ansätzen: entweder ein aus der Antwortdatei ausgeführtes Skript oder ein für das Systemvorbereitungstool (sysprep) geschriebener Anbieter. Weitere Informationen finden Sie unter Schreiben eines Adapters, der während des Setups des Betriebssystems ausgeführt wird.

  • Sie können einen Adapter schreiben, der ein Windows-Dienst ist, der automatisch bei jedem Start des Betriebssystems gestartet wird. Dieses Format des Adapters kann entweder in verwaltetem oder systemeigenem Code geschrieben werden. Es verwendet die Windows Azure-Dienstlaufzeit-API zum Erfassen dynamischer Daten aus der Windows Azure-Umgebung. Weitere Informationen finden Sie unter Schreiben eines Adapters, der beim Start des Betriebssystems ausgeführt wird.

Der Hauptunterschied zwischen dem lokalen Bereitstellen von Windows-Anwendungen und dem Bereitstellen in Windows Azure besteht darin, dass beim Hochladen des Serverabbilds in Windows Azure die daraus erstellten VM-Rolleninstanzen in einer dynamischen Umgebung ausgeführt werden. Sie können bestimmte Schlüsselinformationen während der Entwicklungsphase nicht kennen, beispielsweise die IP-Adresse der VM-Rolleninstanzen oder wie viele Instanzen ausgeführt werden und wie sie behandelt werden können. Der Prozess der Entwicklung einer VM-Rolle umfasst das Konfigurieren der VM-Rolleninstanzen und der installierten Software zur Ausführung und Kommunikation in einer dynamischen Umgebung.

Das in Windows Azure hochgeladene Serverabbild wird zusammen mit dem Dienstmodell angewendet, um die VM-Rolleninstanzen zu erstellen. Wenn eine VM-Rolleninstanz zum ersten Mal online geschaltet wird, muss sie alle Schritte ausführen, die zur Vorbereitung für die Ausführung in Windows Azure erforderlich sind. In den meisten Fällen bedeutet dies, dass sie alle installierten Softwareanwendungen mit dynamischen Informationen aus der Umgebung konfigurieren und starten muss. Beispielsweise muss sie unter Umständen aus der dynamischen Umgebung in den Konfigurationsdateien der Softwareanwendung erfasste Daten schreiben.

Wenn eine Anwendung Daten in ein lokales Speicherverzeichnis schreibt, muss die VM-Rolleninstanz auch das Verzeichnis für den Zugriff durch die Anwendung konfigurieren. Wenn das Serverabbild zum ersten Mal hochgeladen wird, um die VM-Rolleninstanz zu erstellen, werden alle im Dienstmodell definierten lokalen Speicherressourcen als lokale Verzeichnisse erstellt. Das einer benannten Speicherressource zugeordnete lokale Verzeichnis ist standardmäßig sicher, d h., es ist so konfiguriert, dass nur das Administratorkonto zugreifen kann. Wenn die Anwendung in das Verzeichnis schreiben muss, muss die VM-Rolleninstanz die Berechtigungen für das Verzeichnis ändern, damit es für Konten mit weniger Privilegien verfügbar ist.

Wenn das Serverabbild in Windows Azure bereitgestellt wird, ist es in einem verallgemeinerten Status, der das Ergebnis der Ausführung des Systemvorbereitungstools (sysprep) zur lokalen Vorbereitung des Abbilds ist. Damit das Betriebssystem für die VM-Rolleninstanz unter Windows Azure ausgeführt wird, muss es eine Spezialisierungsphase als Teil des Setupprozesses ausführen. Die zum Automatisieren dieser Spezialisierungsphase verwendeten Informationen werden in der Antwortdatei gespeichert, die von den Windows Azure-Integrationskomponenten im Stammverzeichnis des Serverabbilds (c:\unattend.xml) installiert wird.

Durch Anpassen der Antwortdatei während der Abbilderstellung können Sie ein Skript ausführen, das während der Spezialisierungsphase aufgerufen wird, nachdem das Abbild in Windows Azure hochgeladen wurde. Weitere Informationen zum Anpassen der Antwortdatei finden Sie unter Windows Automated Installation Kit (Windows AIK).

Alternativ können Sie einen Sysprep-Anbieter schreiben, der im Serverabbild enthalten ist. Ein Sysprep-Anbieter erweitert das Sysprep-Tool, um zusätzliche Funktionen aufzunehmen, die Sie definieren. Die Windows Azure-Integrationskomponenten unterstützen das Sysprep-Tool, das zum Ausführen der Spezialisierungsphase verwendet wird, die Windows Setup abschließen, wenn die VM-Rolleninstanz zum ersten Mal gestartet wird. Ausführliche Informationen zum Schreiben eines Sysprep-Anbieters finden Sie unter Systemvorbereitung (Sysprep)-Anbieter-Entwicklerhandbuch für Windows 7.

Ein Adapter dieses Typs wird nur während der ersten Startsequenz für die Instanz ausgeführt; er wird nicht ausgeführt, wenn die Instanz neu gestartet wird. Eine Einschränkung dieses Formats des Adapters ist, dass er nicht automatisch auf Änderungen der Dienstkonfigurationseinstellungen reagieren kann. Wenn Änderungen an den Konfigurationseinstellungen vom Adapter auf die Instanz angewendet werden müssen, muss der Operator manuell ein Reimaging der Instanz durchführen, um den Adapter auszuführen und die neuen Einstellungen anzuwenden. Wenn die Anwendung Konfigurationseinstellungen benötigt, die möglicherweise während der Lebensdauer des Serverabbilds geändert werden müssen, sollten Sie den Adapter stattdessen als Windows-Dienst schreiben.

Sie können einen Adapter als Windows-Dienst schreiben, der beim Starten von Windows gestartet wird und der mithilfe der Windows Azure-Dienstlaufzeit-API dynamische Daten aus Windows Azure erfasst. Sie müssen möglicherweise einen Windows-Dienst schreiben, wenn Sie Netzwerkadresseninformationen für die aktuelle VM-Rolleninstanz oder andere im Dienst ausgeführte Rolleninstanzen benötigen, wenn Sie in eine lokale Speicherressource schreiben möchten oder wenn Sie Dienstkonfigurationseinstellungen zur Laufzeit lesen oder bei Änderungen antworten müssen.

Ihr Windows-Dienst muss ein 64-Bit-Windows-Prozess sein, um die Dienstlaufzeit-API zu verwenden. Er kann in verwaltetem Code oder in systemeigenem Code geschrieben werden. Weitere API-Informationen finden Sie unter Windows Azure Managed Library Reference und Windows Azure Native Library Reference.

Sie können die Dienstlaufzeit-API nur aus einem Prozess aufrufen, der unter einem Administrator- oder LocalSystem-Konto ausgeführt wird. Mit dieser Einschränkung wird sichergestellt, dass der Dienst standardmäßig sicher ist, indem das Risiko eines Prozesses mit eingeschränkten Berechtigungen ausgeschlossen wird, der mithilfe der Dienstlaufzeit-API die Dienstkonfigurationseinstellungen liest.

Der Windows-Dienst muss so konfiguriert werden, dass er beim Starten von Windows automatisch gestartet wird. Er sollte die Lebenszyklusmethoden der ServiceBase-Klasse implementieren, einschließlich OnStart, und wenn eine Herunterfahrsequenz erforderlich ist, OnStop oder OnShutdown. Der Startcode sollte vollständig sein, wenn die OnStart-Methode einen Wert zurückgibt. Alle Herunterfahrsequenzen, die vom Windows-Dienst benötigt werden, sollten abgeschlossen sein, wenn OnStop oder OnShutdown einen Wert zurückgibt. Weitere Informationen zum Schreiben von Windows-Diensten finden Sie unter Windows-Dienstanwendungen.

Nachdem alle Autostartdienste gestartet wurden, einschließlich des Adapters, erkennt Windows Azure, dass die Instanz bereit ist, Datenverkehr vom Lastenausgleich zu empfangen. Aus diesem Grund ist es wichtig, sicherzustellen, dass der Adapter alle Tasks ausgeführt hat, die zum Vorbereiten der VM-Rolleninstanz und von Software erforderlich sind, die bei Abschluss der OnStart-Methode ausgeführt wird. Die VM-Rolleninstanz sollte vom Zeitpunkt des Abschlusses der Startsequenz bis zum Beginn der Herunterfahrsequenz im Status "Bereit" sein, es sei denn, Sie nehmen die Instanz explizit aus der Rotation heraus, indem Sie ihren Status auf Busy festlegen. Dazu fügen Sie dem StatusCheck-Ereignis einen Ereignishandler hinzu. Wenn das Ereignis ausgelöst wird, kann die SetBusy-Methode für das Argumentobjekt des Ereignisses aufgerufen werden. Sie können auch das Set-RoleInstanceStatus-PowerShell-Cmdlet verwenden, um den Status der VM-Rolleninstanz zu ändern.

Installieren Sie nach der Installation der Windows Azure-Integrationskomponenten die Anwendungen, und nehmen Sie alle erforderlichen Änderungen der Betriebssystemkonfiguration vor. Installieren Sie optional den Windows Azure Connect-Agent, erstellen und installieren Sie optional einen Adapter vor, und bereiten Sie das Abbild vor, das hochgeladen werden soll.

Damit die VHD korrekt in Windows Azure hochgeladen wird, muss das Serverabbild mit dem Befehl Sysprep verallgemeinert werden. Weitere Informationen zur Verwendung von Sysprep finden Sie unter Verwenden von Sysprep: Einführung. Weitere Informationen zum Hochladen der VHD finden Sie unter VHD für eine VM-Rolle in Windows Azure hochladen.

Siehe auch

Community-Beiträge

Anzeigen:
© 2014 Microsoft