

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.

# Verwenden von OpsWorks Stacks-spezifischen Suchindizes auf Windows Stacks
<a name="cookbooks-101-opsworks-opsworks-stack-config-search-opsworks"></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).

**Anmerkung**  
In diesem Beispiel wird davon ausgegangen, dass Sie das Beispiel [Ausführen eines Rezepts auf einer Windows-Instance](cookbooks-101-opsworks-opsworks-windows.md) bereits durchgearbeitet haben. Falls Sie das noch nicht getan haben, holen Sie das nun nach. Insbesondere wird darin beschrieben, wie Sie für Ihre Instances RDP-Zugriff aktivieren.

OpsWorks Stacks bietet zusätzlich zu den folgenden Suchindizes: `node` 
+ `aws_opsworks_stack`— Die Stack-Konfiguration.
+ `aws_opsworks_layer`— Die Layer-Konfigurationen des Stacks.
+ `aws_opsworks_instance`— Die Instanzkonfigurationen des Stacks.
+ `aws_opsworks_app`— Die App-Konfigurationen des Stacks.
+ `aws_opsworks_user`— Die Benutzerkonfigurationen des Stacks.
+ `aws_opsworks_rds_db_instance`— Verbindungsinformationen für registrierte RDS-Instances.

Diese Indizes enthalten einige Standard-Chef-Attribute, sind jedoch hauptsächlich für das Abrufen von OpsWorks Stacks-spezifischen Attributen vorgesehen. Beispielsweise enthält `aws_opsworks_instance` ein Attribut `status`, das den Status der Instance angibt, z. B. `online`. 

**Anmerkung**  
Es wird empfohlen, nach Möglichkeit `node` zu verwenden, um Ihre Rezepte mit den Chef-Standards kompatibel zu halten. Ein Beispiel finden Sie unter [Verwenden des Knoten-Suchindexes auf Windows-Stacks](cookbooks-101-opsworks-opsworks-stack-config-search-node.md).

Dieses Beispiel zeigt, wie die OpsWorks Stacks-Indizes verwendet werden, um den Wert eines Stacks-spezifischen Attributs abzurufen. OpsWorks Das Beispiel basiert auf einem einfachen Windows-Stack mit einem benutzerdefinierten Layer und einer Instances. Es verwendet die Chef-Suche, um die OpsWorks Stacks-ID der Instanz abzurufen, und fügt die Ergebnisse in das Chef-Protokoll ein.

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 **\$1 Stack** 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** — IDSearch
   + **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** — IDCheck
   + **Kurzname** — idcheck

1. [Fügen Sie dem IDCheck Layer eine rund um die Uhr verfügbare t2.micro-Instanz](workinginstances-add.md) [mit Standardeinstellungen hinzu und starten Sie sie.](workinginstances-starting.md) Sie hat den Namen iptest1.

   OpsWorks Stacks weist diese Instanz automatisch zu. `AWS-OpsWorks-RDP-Server` [Aktivieren von RDP-Zugriff](cookbooks-101-opsworks-opsworks-windows.md#cookbooks-101-opsworks-opsworks-windows-rdp)erklärt, wie dieser Sicherheitsgruppe eine Regel für eingehenden Datenverkehr hinzugefügt wird, die es autorisierten Benutzern ermöglicht, sich bei der Instanz anzumelden.

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).

**So richten Sie das Rezeptbuch ein**

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

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

   ```
   name "idcheck"
   version "0.1.0"
   ```

1. Erstellen Sie ein Unterverzeichnis `recipes` unter `idcheck` und fügen Sie dem Verzeichnis eine Datei `default.rb` mit folgendem Rezept hinzu.

   ```
   windowsserver = search(:aws_opsworks_instance, "hostname:idcheck*").first
   Chef::Log.info("**********The public IP address is: '#{windowsserver[:instance_id]}'**********")
   ```

   Das Rezept verwendet die Chef-Suche mit einem `aws_opsworks_instance`-Suchindex, um die [Instance-Attribute](data-bag-json-instance.md) aller Instances im Stack mit einem Hostnamen abzurufen, der mit `idcheck` beginnt. Wenn Sie das Standarddesign verwenden, das Hostnamen erstellt, indem Ganzzahlen an den Kurznamen des Layers angehängt werden, gibt diese Abfrage jede Instanz im Layer zurück. IDCheck In diesem Beispiel hat der Layer nur eine Instance, daher weist das Rezept diese einfach `windowsserver` zu. Wenn mehrere Instances vorhanden sind, können Sie die vollständige Liste abrufen und durchnummerieren.

   Das Rezept macht sich die Tatsache zunutze, dass der Stack nur eine Instance mit diesem Hostnamen enthält und bereits das erste Ergebnis das richtige ist. Wenn ein Stack mehrere Instances enthält, erhalten Sie bei der Suche nach anderen Attributen möglicherweise mehrere Ergebnisse. Eine Liste der Instance-Attribute finden Sie unter [Data Bag für Instances (aws\$1opsworks\$1instance)](data-bag-json-instance.md).

   Bei den Instanzattributen handelt es sich im Grunde um eine Hashtabelle, und die OpsWorks Stacks-ID der Instanz ist dem `instance_id` Attribut zugewiesen, sodass Sie sich auf die ID als beziehen können. `windowsserver[:instance_id]` Das Rezept fügt die entsprechende Zeichenfolge in die Nachricht ein und fügt diese dem Chef-Protokoll hinzu.

1. Erstellen Sie ein `.zip` Archiv des `ipaddress` Kochbuches, [laden Sie das Archiv in einen Amazon S3 S3-Bucket](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html) hoch und notieren Sie sich die URL des Archivs. Weitere Informationen zu Rezeptbuch-Repositorys finden Sie unter [Rezeptbuch-Repositorys](workingcookbook-installingcustom-repo.md).

   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 installieren Sie das Rezeptbuch und führen 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** **idcheck::default** eingestellt ist. Durch diesen Befehl wird Chef mit Ihrem Rezept ausgeführt. Lassen Sie die Seite "execute\$1recipes" offen.

Nachdem das Rezept erfolgreich ausgeführt wurde, können Sie dies im [Chef-Protokoll](troubleshoot-debug-log.md) für das letzte execute\$1recipes-Ereignis überprüfen. Wählen Sie auf der Seite **Running command execute\$1recipes page** die Option **show** in der Spalte **Log** der Instance „iptest1” aus, um das Protokoll anzuzeigen. Blättern Sie nach unten zu Ihrer Protokollnachricht am Ende. Diese sieht etwa wie folgt aus.

```
...
[2015-05-13T20:03:47+00:00] INFO: Storing updated cookbooks/nodesearch/recipes/default.rb in the cache.
[2015-05-13T20:03:47+00:00] INFO: Storing updated cookbooks/nodesearch/metadata.rb in the cache.
[2015-05-13T20:03:47+00:00] INFO: **********The instance ID is: 'i-8703b570'**********
[2015-05-13T20:03:47+00:00] INFO: Chef Run complete in 0.312518 seconds 
...
```