Weiterführende Informationen: Arbeiten mit dem Rezeptbuch, das in dieser Anleitung verwendet wird - 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.

Weiterführende Informationen: Arbeiten mit dem Rezeptbuch, das in dieser Anleitung verwendet wird

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 oder über den AWS Premium-Support.

In diesem Thema wird das Kochbuch beschrieben, das AWS OpsWorks Stacks für die Komplettlösung verwendet hat.

Ein Rezeptbuch ist ein Chef-Konzept. Rezeptbücher sind Archivdateien mit Konfigurationsinformationen, z. B. Rezepten, Attributwerten, Dateien, Vorlagen, Bibliotheken, Definitionen und benutzerdefinierten Ressourcen. Ein Rezept ist auch ein Chef-Konzept. Rezepte sind Anweisungen, geschrieben in Ruby-Sprachsyntax, die die Ressourcen für die Nutzung auswählen und die Reihenfolge bestimmen, in der diese Ressourcen angewendet werden. Weitere Informationen finden Sie unter About Cookbooks und About Recipes auf der Website Learn Chef.

Um den Inhalt des in dieser exemplarischen Vorgehensweise verwendeten Kochbuches zu sehen, extrahieren Sie den Inhalt der Datei opsworks-linux-demo-cookbooks-nodejs.tar.gz in ein leeres Verzeichnis auf Ihrer lokalen Workstation. (Sie können sich auch in der Instance anmelden, auf der Sie das Rezeptbuch bereitgestellt haben, und sich mit den Inhalten des Verzeichnisses /var/chef/cookbooks vertraut machen.)

Das Rezeptbuch führt den Code in der Datei default.rb im Verzeichnis cookbooks/nodejs_demo/recipes aus:

app = search(:aws_opsworks_app).first app_path = "/srv/#{app['shortname']}" package "git" do options "--force-yes" if node["platform"] == "ubuntu" && node["platform_version"] == "18.04" end application app_path do javascript "4" environment.update("PORT" => "80") git app_path do repository app["app_source"]["url"] revision app["app_source"]["revision"] end link "#{app_path}/server.js" do to "#{app_path}/index.js" end npm_install npm_start end

Die Datei geht folgendermaßen vor:

  • search(:aws_opsworks_app).first verwendet die Chef-Suche, um Informationen über die Anweisung zu suchen, die letztendlich für die Instance bereitgestellt wird. Diese Information umfasst Einstellungen wie die Kurzbezeichnung der Anwendung und die Details ihres Quell-Repositorys. Da nur eine Anwendung in dieser Anleitung bereitgestellt wurde, bekommt die Chef-Suche diese Einstellungen von dem ersten Informationselement innerhalb des aws_opsworks_app-Suchindex auf der Instance. Immer wenn eine Instance gestartet wird, speichert AWS OpsWorks Stacks diese und andere zugehörige Informationen als Satz von Datenbeuteln auf der Instance selbst, und Sie erhalten den Inhalt der Datentasche über die Chef-Suche. Obwohl Sie diese Einstellungen in dieses Rezept fest programmieren können, ist die Nutzung von Data Bags und der Chef-Suche ein solideres Konzept. Weitere Informationen zu Data Bags finden Sie unter AWS OpsWorks Referenz für Stacks Data Bag. Sie können sich auch unter About Data Bags auf der Website Learn Chef informieren. Weitere Informationen über die Chef-Suche finden Sie unter About Search auf der Website Learn Chef.

  • Die package-Ressource installiert Git auf der Instance.

  • Die application-Ressource beschreibt und stellt Webanwendungen bereit:

    • javascriptist die Version der JavaScript Runtime, die installiert werden soll.

    • environment legt eine Umgebungsvariable fest.

    • git bekommt den Quellcode von dem angegebenen Repository und der Branch.

    • app_path ist der Pfad auf dem das Repository geklont werden soll. Wenn der Pfad auf der Instanz nicht existiert, erstellt AWS OpsWorks Stacks ihn.

    • link erstellt einen symbolischen Link.

    • npm_install installiert Node Package Manager, den standardmäßigen Paket-Manager für Node.js.

    • npm_start führt Node.js aus.

AWS OpsWorks Stacks hat zwar das für diese Komplettlösung verwendete Kochbuch erstellt, Sie können jedoch auch Ihre eigenen Kochbücher erstellen. Um zu erfahren wie dies geht, vgl. Erste Schritte: Rezeptbücher. Weitere Informationen finden Sie unter About Cookbooks, About Recipes und Learn the Chef Basics on Ubuntu auf der Website Learn Chef und im Abschnitt "Our first Chef cookbook" unter First steps with Chef auf der Website Getting started with Chef.