Ausführen eines Rezepts auf einer Windows-Instance - AWS OpsWorks

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

Wichtig

Das Tool AWS OpsWorks Stacks Der Dienst hat am 26. Mai 2024 das Ende seiner Nutzungsdauer 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 AWS Support Team ein AWS Re:post oder durch AWS Premium-Support.

Dieses Thema ist im Grunde eine verkürzte Version von Ausführen eines Rezepts auf einer Linux-Instance 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 durchzuarbeiten, da Sie dort detailliertere Informationen finden, die für beide Betriebssysteme relevant sind.

Für eine Beschreibung, wie Rezepte ausgeführt werden AWS OpsWorks Stapelt Linux-Instanzen, sieheAusführen eines Rezepts auf einer Linux-Instance.

Zugriff aktivieren RDP

Bevor Sie beginnen, müssen Sie, sofern Sie dies noch nicht getan haben, eine Sicherheitsgruppe mit einer Regel für eingehenden Datenverkehr einrichten, die den RDP Zugriff für Ihre Instances ermöglicht. Sie benötigen diese Gruppe beim Erstellen des Stacks.

Wenn Sie den ersten Stack in einer Region erstellen, AWS OpsWorks Stacks erstellt eine Reihe von Sicherheitsgruppen. Dazu gehört eine, die so etwas heißt AWS-OpsWorks-RDP-Server wie AWS OpsWorks Stacks wird an alle Windows-Instanzen angehängt, um den Zugriff zu ermöglichenRDP. Standardmäßig hat diese Sicherheitsgruppe jedoch keine Regeln, sodass Sie eine Regel für eingehenden Datenverkehr hinzufügen müssen, um den RDP Zugriff auf Ihre Instanzen zu ermöglichen.

Um den Zugriff zu ermöglichen RDP
  1. Öffnen Sie die EC2Amazon-Konsole, stellen Sie sie auf die Region des Stacks ein und wählen Sie im Navigationsbereich Sicherheitsgruppen aus.

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

  3. Fügen Sie eine Regel mit folgenden Einstellungen hinzu:

    • Geben Sie — ein RDP

    • Quelle — Die zulässigen Quell-IP-Adressen.

      In der Regel lassen Sie eingehende RDP Anfragen von Ihrer IP-Adresse oder einem bestimmten IP-Adressbereich (in der Regel Ihrem Unternehmens-IP-Adressbereich) zu.

Anmerkung

Wie später beschrieben, müssen Sie auch die Benutzerberechtigungen bearbeiten, um den RDP Zugriff für reguläre Benutzer zu autorisieren.

Weitere Informationen finden Sie unter Anmelden mit RDP.

Erstellen und Ausführen von Rezepten

Nachfolgend wird kurz beschrieben, wie Sie für dieses Beispiel einen Stack erstellen. Weitere Informationen finden Sie unter Erstellen eines neuen Stacks.

Erstellen eines Stacks
  1. Öffnen Sie AWS OpsWorks Stacks-Konsole und wähle Stack hinzufügen. 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

  2. Wählen Sie Add a layer (Layer hinzufügen) aus und fügen Sie dem Stack einen benutzerdefinierten Layer mit folgenden Einstellungen hinzu:

    • Name — RecipeTest

    • Kurzname — Recipetest

  3. Fügen Sie dem RecipeTest Layer eine 24/7-Instanz mit Standardeinstellungen hinzu und starten Sie ihn.

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

  4. Wählen Sie Permissions und dann Edit und dann SSH/RDPund sudo/admin. 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.

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 handelt, wird ein Datenverzeichnis erstellt.

Anmerkung

Bei der Implementierung von Kochbüchern für AWS OpsWorks Bei Stacks von Windows-Instanzen verwenden Sie eine etwas andere Verzeichnisstruktur als bei der Implementierung von Kochbüchern für AWS OpsWorks Stapelt Linux-Instanzen. Weitere Informationen finden Sie unter Rezeptbuch-Repositorys.

So richten Sie das Rezeptbuch ein
  1. Erstellen Sie ein Verzeichnis windowstest und öffnen Sie es.

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

    name "windowstest" version "0.1.0"
  3. Erstellen Sie ein Verzeichnis recipes in windowstest.

  4. 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 username mit Ihrem Benutzernamen.

  5. Speichern Sie das Rezeptbuch in einem Repository.

    Um Ihr Kochbuch auf einem zu installieren AWS OpsWorks Die Stacks-Instanz müssen Sie in einem Repository speichern und bereitstellen AWS OpsWorks Stapel mit den Informationen, die zum 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.

  6. Laden Sie das Archiv in einen S3-Bucket hoch, machen Sie das Archiv öffentlich und zeichnen Sie die Archive auf. URL 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? oder Wie lösche ich einen S3 Bucket?.

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, und legen Sie folgende Einstellungen fest:

    • Repository-TypS3-Archiv

    • Repository URL — Das Kochbuch-ArchivURL, das Sie zuvor aufgenommen 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.

  2. Führen Sie den Stack-Befehl „Update Custom Cookbooks” aus, 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.

  3. Nachdem die benutzerdefinierten Rezeptbücher aktualisiert wurden, führen Sie das Rezept mithilfe des Stack-Befehls Execute Recipes aus. 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 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) ...
  2. Wählen Sie Instances, wählen Sie rdp in der Spalte Aktionen der Instanz aus und fordern Sie ein RDP Passwort mit einer geeigneten Ablaufzeit an. Kopieren Sie den DNS Namen, den Benutzernamen und das Passwort. Sie können diese Informationen dann mit einem RDP Client, z. B. dem Windows-Remotedesktopverbindungsclient, verwenden, um sich bei der Instanz anzumelden und zu überprüfen, ob sie c:\data vorhanden ist. Weitere Informationen finden Sie unter Anmelden mit RDP.

Anmerkung

Wenn Ihr Rezept nicht ordnungsgemäß ausgeführt wurde, finden Sie unter Fehlersuche und Fehlerbehebung bei Rezepten Tipps zur Fehlerbehebung. Die meisten dieser Tipps lassen sich auch auf Windows-Instances übertragen. Wenn Sie Ihren Fix testen möchten, indem Sie das Rezept auf der Instanz bearbeiten, suchen Sie im C:\chef\cookbooks Verzeichnis nach Ihrem Kochbuch, wo AWS OpsWorks Stacks installiert benutzerdefinierte Kochbücher.

Automatisches Ausführen des Rezepts

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 werden Rezepte jedoch meist an bestimmten Standardpunkten im Lebenszyklus einer Instance ausgeführt, beispielsweise nach dem Hochfahren der Instance oder beim Bereitstellen einer App. AWS OpsWorks Stacks vereinfacht die Ausführung von Rezepten auf Ihrer Instance, indem es eine Reihe von Lebenszyklusereignissen für jede Ebene unterstützt: Setup, Configure, Deploy, Undeploy und Shutdown. Sie können haben AWS OpsWorks Stacks führen ein Rezept automatisch für die Instanzen einer Ebene aus, 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.

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

  3. 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. Nachdem der Startvorgang abgeschlossen ist, AWS OpsWorks Stacks werden ausgeführt. windowstest::default

  4. 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 (Einrichtung und Konfiguration) oder einem Bereitstellungsbefehl (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.