

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Ausführen eines Rezepts auf einer Windows-Instance
<a name="cookbooks-101-opsworks-opsworks-windows"></a>

**Wichtig**  
Der AWS OpsWorks Stacks Dienst hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS Support Team auf [AWS re:POST](https://repost.aws/) oder über den [AWS Premium-Support](https://aws.amazon.com/support).

Dieses Thema ist im Grunde eine verkürzte Version von [Ausführen eines Rezepts auf einer Linux-Instance](cookbooks-101-opsworks-opsworks-instance.md) und erläutert, wie Sie ein Rezept auf einem Windows-Stack ausführen. Wir empfehlen Ihnen daher, zunächst [Ausführen eines Rezepts auf einer Linux-Instance](cookbooks-101-opsworks-opsworks-instance.md) durchzuarbeiten, da Sie dort detailliertere Informationen finden, die für beide Betriebssysteme relevant sind.

Eine Beschreibung der Ausführung von Rezepten auf OpsWorks Stacks-Linux-Instances finden Sie unter. [Ausführen eines Rezepts auf einer Linux-Instance](cookbooks-101-opsworks-opsworks-instance.md)

**Topics**
+ [Aktivieren von RDP-Zugriff](#cookbooks-101-opsworks-opsworks-windows-rdp)
+ [Erstellen und Ausführen von Rezepten](#cookbooks-101-opsworks-opsworks-windows-run-recipe)
+ [Automatisches Ausführen des Rezepts](#cookbooks-101-opsworks-opsworks-windows-event)

## Aktivieren von RDP-Zugriff
<a name="cookbooks-101-opsworks-opsworks-windows-rdp"></a>

Falls Sie dies noch nicht getan haben, müssen Sie zunächst eine Sicherheitsgruppe mit einer Regel für eingehenden Datenverkehr einrichten, die RDP-Zugriff für Ihre Instances zulässt. Sie benötigen diese Gruppe beim Erstellen des Stacks.

Wenn Sie den ersten Stack in einer Region erstellen, erstellt OpsWorks Stacks eine Reihe von Sicherheitsgruppen. Dazu gehört eine mit dem Namen etwa`AWS-OpsWorks-RDP-Server`, die OpsWorks Stacks an alle Windows-Instanzen anhängt, um RDP-Zugriff zu ermöglichen. Standardmäßig sind in diesen Sicherheitsgruppe jedoch keine Regeln enthalten. Daher müssen Sie eine Regel für den eingehenden Datenverkehr zum Zulassen von RDP-Zugriff auf Ihre Instances hinzufügen.

**So ermöglichen Sie den RDP-Zugriff**

1. Öffnen Sie die [ EC2Amazon-Konsole](https://console.aws.amazon.com/ec2/v2/), stellen Sie sie auf die Region des Stacks ein und wählen Sie im Navigationsbereich **Sicherheitsgruppen** aus.

1. **Wählen Sie **AWS- OpsWorks -RDP-Server**, klicken Sie auf die Registerkarte **Inbound** und dann auf Bearbeiten.**

1. Fügen Sie eine Regel mit folgenden Einstellungen hinzu:
   + **Typ** **—** RDP
   + **Quelle** — Die zulässigen Quell-IP-Adressen.

     In der Regel erlauben Sie eingehende RDP-Anfragen von Ihrer eigenen IP-Adresse oder einem festen IP-Adressbereich (üblicherweise der IP-Adressbereich Ihres Unternehmens).

**Anmerkung**  
Wie nachfolgend beschrieben müssen Sie auch die Benutzerberechtigungen bearbeiten, um RDP-Zugriff für reguläre Benutzer zu ermöglichen.

Weitere Informationen finden Sie unter [Anmelden mit RDP](workinginstances-rdp.md). 

## Erstellen und Ausführen von Rezepten
<a name="cookbooks-101-opsworks-opsworks-windows-run-recipe"></a>

Nachfolgend wird kurz beschrieben, wie Sie für dieses Beispiel einen Stack erstellen. Weitere Informationen finden Sie unter [Erstellen eines neuen Stacks](workingstacks-creating.md).

**Erstellen eines Stacks**

1. Öffnen Sie die [OpsWorks  Stacks-Konsole](https://console.aws.amazon.com/opsworks/) und wählen Sie **Add Stack (Stack hinzufügen)** aus. Legen Sie die folgenden Einstellungen fest, übernehmen Sie für die restlichen Einstellungen die Standardwerte und wählen Sie **Add Stack (Stack hinzufügen)** aus.
   + **Name** — WindowsRecipeTest
   + **Region** — USA West (Oregon)

     Dieses Beispiel funktioniert in jeder Region, wir empfehlen jedoch, US West (Oregon) für Tutorials zu verwenden.
   + **Standardbetriebssystem** — Microsoft Windows Server 2012 R2

1. Wählen Sie **Add a layer (Layer hinzufügen)** aus und [fügen Sie dem Stack einen benutzerdefinierten Layer](workinglayers-custom.md) mit folgenden Einstellungen hinzu:
   + **Name** — RecipeTest
   + **Kurzname** — Recipetest

1. [Fügen Sie dem RecipeTest Layer eine 24/7-Instanz](workinginstances-add.md) mit Standardeinstellungen hinzu und [starten Sie](workinginstances-starting.md) ihn.

   OpsWorks Stacks weist diese Instanz automatisch `AWS-OpsWorks-RDP-Server` zu, sodass sich autorisierte Benutzer bei der Instanz anmelden können.

1. Wählen Sie **Permissions (Berechtigungen)**, dann **Edit (Bearbeiten)** und anschließend **SSH/RDP** und **sudo/admin** aus. Reguläre Benutzer benötigen zusätzlich zur Sicherheitsgruppe `AWS-OpsWorks-RDP-Server` diese Autorisierung, um sich bei der Instance anzumelden. 
**Anmerkung**  
Sie können sich auch als Administrator anmelden, allerdings mit einem anderen Verfahren. Weitere Informationen finden Sie unter [Anmelden mit RDP](workinginstances-rdp.md).

Während die Instanz gestartet wird — das dauert in der Regel mehrere Minuten — können Sie das Kochbuch erstellen. Über das Rezept in diesem Beispiel, bei dem es sich um eine für Windows angepasste Version des Rezepts aus [Beispiel 3: Erstellen von Verzeichnissen](cookbooks-101-basics-directories.md) handelt, wird ein Datenverzeichnis erstellt.

**Anmerkung**  
Bei der Implementierung von Kochbüchern für OpsWorks Stacks-Windows-Instances verwenden Sie eine etwas andere Verzeichnisstruktur als bei der Implementierung von Cookbooks für Stacks-Linux-Instances. OpsWorks Weitere Informationen finden Sie unter [Rezeptbuch-Repositorys](workingcookbook-installingcustom-repo.md). 

**So richten Sie das Rezeptbuch ein**

1. Erstellen Sie ein Verzeichnis `windowstest` und öffnen Sie es.

1. Erstellen Sie eine Datei `metadata.rb` mit dem folgenden Inhalt und speichern Sie sie unter `windowstest`.

   ```
   name "windowstest"
   version "0.1.0"
   ```

1. Erstellen Sie ein Verzeichnis `recipes` in `windowstest`.

1. Erstellen Sie eine Datei `default.rb` mit dem folgenden Rezept und speichern Sie sie im Verzeichnis `recipes`.

   ```
   Chef::Log.info("******Creating a data directory.******")
   
   directory 'C:\data' do
     rights :full_control, 'instance_name\username'
     inherits false
     action :create
   end
   ```

   Ersetzen Sie *username* durch den Benutzernamen.

1. Speichern Sie das Rezeptbuch in einem Repository.

   Um Ihr Kochbuch auf einer OpsWorks Stacks-Instanz zu installieren, müssen Sie es in einem Repository speichern und Stacks die Informationen zur Verfügung stellen, die zum OpsWorks Herunterladen des Kochbuchs auf die Instanz erforderlich sind. Sie können Windows-Rezeptbücher als Archivdatei in einem S3-Bucket oder in einem Git-Repository speichern. In diesem Beispiel verwenden wir einen S3-Bucket, daher müssen Sie ein ZIP-Archiv des Verzeichnisses `windowstest` erstellen. Weitere Informationen zu Rezeptbuch-Repositorys finden Sie unter [Rezeptbuch-Repositorys](workingcookbook-installingcustom-repo.md).

1. [Laden Sie das Archiv in einen S3-Bucket hoch](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html), [veröffentlichen Sie das Archiv](https://docs.aws.amazon.com/AmazonS3/latest/UG/EditingPermissionsonanObject.html) und notieren Sie sich die URL des Archivs. Sie können auch ein privates Archiv verwenden. Für dieses Beispiel ist ein öffentliches Archiv jedoch ausreichend und einfacher zu handhaben.

   Inhalte, die an Amazon-S3-Buckets geliefert werden, können Kundeninhalte enthalten. Weitere Informationen zum Entfernen sensibler Daten finden Sie unter [Wie entleere ich einen S3 Bucket?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) oder [Wie lösche ich einen S3 Bucket?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html).

Jetzt können Sie das Rezeptbuch installieren und das Rezept ausführen.

**So führen Sie das Rezept aus**

1. [Bearbeiten Sie den Stack, um benutzerdefinierte Rezeptbücher zu aktivieren](workingcookbook-installingcustom-enable.md), und legen Sie folgende Einstellungen fest:
   + **Repository-Typ — **S3-Archiv****
   + **Repository-URL** — Die URL des Kochbuch-Archivs, die Sie zuvor aufgezeichnet haben

   Übernehmen Sie für die übrigen Einstellungen die Standardwerte und wählen Sie **Save** aus, um die Stack-Konfiguration zu aktualisieren und zu speichern.

1. [Führen Sie den Stack-Befehl „Update Custom Cookbooks” aus](workingstacks-commands.md), um die aktuelle Version Ihrer benutzerdefinierten Rezeptbücher auf den Stack-Instances einschließlich Online-Instances zu installieren. Wenn bereits eine ältere Version der Rezeptbücher installiert ist, werden diese überschrieben.

1. Nachdem die benutzerdefinierten Rezeptbücher aktualisiert wurden, führen Sie das Rezept mithilfe des Stack-Befehls [**Execute Recipes** aus](workingstacks-commands.md). Achten Sie darauf, dass bei **Recipes to execute** **windowstest::default** eingestellt ist. Durch diesen Befehl wird Chef mit Ihrem Rezept ausgeführt.

Nachdem das Rezept erfolgreich ausgeführt wurde, können Sie es überprüfen.

**So überprüfen Sie windowstest**

1. Sehen Sie sich das [Chef-Protokoll](troubleshoot-debug-log.md) an. Wählen Sie **show** in der Spalte **Log** der Instance „opstest1” aus, um das Protokoll anzuzeigen. Blättern Sie nach unten, wo Sie Ihre Protokollmeldung finden.

   ```
   ...
   [2014-07-31T17:01:45+00:00] INFO: Storing updated cookbooks/opsworks_cleanup/attributes/customize.rb in the cache.
   [2014-07-31T17:01:45+00:00] INFO: Storing updated cookbooks/opsworks_cleanup/metadata.rb in the cache.
   [2014-07-31T17:01:46+00:00] INFO: ******Creating a data directory.******
   [2014-07-31T17:01:46+00:00] INFO: Processing template[/etc/hosts] action create (opsworks_stack_state_sync::hosts line 3)
   ...
   ```

1. Wählen Sie **Instances** und anschließend **rdp** in der Spalte **Actions (Aktionen)** der Instance aus und fordern Sie ein RDP-Passwort mit einer angemessenen Ablaufzeit an. Kopieren Sie den DNS-Namen, den Benutzernamen und das Passwort. Sie können sich mithilfe eines RDP-Clients wie dem Windows Remote Desktop Connection-Client mit diesen Informationen bei der Instance anmelden und überprüfen, ob das Verzeichnis `c:\data` angelegt wurde. Weitere Informationen finden Sie unter [Anmelden mit RDP](workinginstances-rdp.md).

**Anmerkung**  
Wenn Ihr Rezept nicht ordnungsgemäß ausgeführt wurde, finden Sie unter [Fehlersuche und Fehlerbehebung bei Rezepten](cookbooks-101-opsworks-opsworks-instance.md#cookbooks-101-opsworks-opsworks-instance-bugs) Tipps zur Fehlerbehebung. Die meisten dieser Tipps lassen sich auch auf Windows-Instances übertragen. Wenn du deine Lösung testen möchtest, indem du das Rezept auf der Instanz bearbeitest, suche in dem `C:\chef\cookbooks` Verzeichnis, in dem OpsWorks Stacks benutzerdefinierte Kochbücher installiert, nach deinem Kochbuch.

## Automatisches Ausführen des Rezepts
<a name="cookbooks-101-opsworks-opsworks-windows-event"></a>

Mit dem Befehl **Execute Recipes (Rezepte ausführen)** können Sie benutzerdefinierte Rezepte einfach testen, daher wird er auch in den meisten dieser Beispiele verwendet. In der Praxis führen Sie Rezepte jedoch in der Regel zu Standardzeitpunkten im Lebenszyklus einer Instanz aus, z. B. nachdem die Instanz den Startvorgang abgeschlossen hat oder wenn Sie eine App bereitstellen. OpsWorks Stacks vereinfacht die Ausführung von Rezepten auf Ihrer Instance, indem es eine Reihe von [Lebenszyklusereignissen](workingcookbook-events.md) für jede Ebene unterstützt: Setup, Configure, Deploy, Undeploy und Shutdown. Sie können OpsWorks Stacks veranlassen, ein Rezept automatisch für die Instanzen einer Ebene auszuführen, indem Sie das Rezept dem entsprechenden Lebenszyklusereignis zuweisen.

Normalerweise erstellen Sie Verzeichnisse, sobald die Instance hochgefahren wurde, also während des Einrichtens. Nachfolgend wird beschrieben, wie Sie das Beispielrezept während des Einrichtens auf demselben Stack ausführen, den Sie zuvor in diesem Beispiel erstellt haben. Für die anderen Ereignisse können Sie ebenso vorgehen.

**So führen Sie Rezepte automatisch beim Einrichten aus**

1. Wählen Sie im Navigationsbereich „**Ebenen**“ und dann das Stiftsymbol neben dem Link „**Rezepte**“ der RecipeTest Ebene aus.

1. Fügen Sie **windowstest::default** zu den **Setup**-Rezepten des Layers hinzu, klicken Sie auf **\$1**, um es dem Layer hinzuzufügen, und wählen Sie **Save** aus, um die Konfiguration zu speichern.

1. Wählen Sie **Instances** aus, fügen Sie dem Layer eine weitere Instance hinzu und starten Sie sie.

   Die Instance sollte den Namen `recipetest2` haben. Nach Abschluss des Startvorgangs wird OpsWorks Stacks ausgeführt. `windowstest::default`

1. Nachdem die Instance `recipetest2` online ist, überprüfen Sie, ob das Verzeichnis `c:\data` angelegt wurde.

**Anmerkung**  
Falls Sie den Ereignissen Einrichtung, Konfiguration oder Bereitstellung Rezepte zugewiesen haben, können Sie diese auch mit einem [Stack-Befehl](workingstacks-commands.md) (Einrichtung und Konfiguration) oder einem [Bereitstellungsbefehl](workingapps-deploying.md) (Bereitstellung) auch manuell ausführen, um das Ereignis auszulösen. Falls einem Ereignis mehrere Rezepte zugewiesen sind, werden mit diesen Befehlen alle Rezepte eines Ereignisses ausgeführt.