Überschreiben von AWS OpsWorks Stacks-Attributen mithilfe von benutzerdefinierten Cookbook-Attributen - 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.

Überschreiben von AWS OpsWorks Stacks-Attributen mithilfe von benutzerdefinierten Cookbook-Attributen

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.

Anmerkung

Für Windows-Stacks verwendet AWS OpsWorks Stacks separate Chef-Läufe für integrierte Rezepte und benutzerdefinierte Rezepte. Dies bedeutet, dass Sie die in diesem Abschnitt erläuterten Techniken nicht verwenden können, um integrierte Attribute für Windows-Stacks zu überschreiben.

Benutzerdefiniertes JSON ist eine bequeme Möglichkeit, die AWS OpsWorks Stacks-Stack-Konfiguration und die integrierten Cookbook-Attribute zu überschreiben, hat jedoch einige Einschränkungen. Sie müssen vor allem das benutzerdefinierte JSON-Objekt manuell für jede Nutzung eingeben. Somit haben Sie keine robuste Methode zum Verwalten der Definitionen. Ein besserer Ansatz ist häufig die Verwendung von Dateien benutzerdefinierter Rezeptbuchattribute, um integrierte Attribute zu überschreiben. Auf diese Weise können Sie die Definitionen in einer Quellüberwachung platzieren.

Das Verfahren zur Verwendung von Dateien mit benutzerdefinierten Attributen zum Überschreiben von AWS OpsWorks Stacks-Definitionen ist unkompliziert.

Um AWS OpsWorks Stacks-Attributdefinitionen zu überschreiben
  1. Richten Sie ein Rezeptbuch-Repository ein, wie in Cookbooks und Rezepte beschrieben.

  2. Erstellen Sie ein Rezeptbuch mit demselben Namen wie das integrierte Rezeptbuch, das die Attribute enthält, die Sie überschreiben möchten. Um beispielsweise die Apache-Attribute zu überschreiben, sollte das Rezeptbuch "apache2" genannt werden.

  3. Fügen Sie den Ordner attributes zum Rezeptbuch hinzu und fügen Sie diesem Ordner eine Datei mit dem Namen customize.rb hinzu.

  4. Fügen Sie der Datei eine Attributdefinition für jede der integrierten Rezeptbuchattribute hinzu, die Sie überschreiben möchten. Stellen Sie diese auf Ihren bevorzugten Wert ein. Das Attribut muss einen normal Typ oder höher haben und genau denselben Knotennamen wie das entsprechende AWS OpsWorks Stacks-Attribut haben. Eine ausführliche Liste der AWS OpsWorks Stacks-Attribute, einschließlich Knotennamen, finden Sie unter Stack-Konfigurations- und Bereitstellungsattribute: Linux und. Integrierte Rezeptbuchattribute Weitere Informationen zu Attributen und Attributdateien finden Sie unter About Attribute Files.

    Wichtig

    Ihre Attribute müssen normal vom Typ sein, um AWS OpsWorks Stacks-Attribute zu überschreiben. default Typen haben keinen Vorrang. Wenn Ihre Datei customize.rb z. B. eine default[:apache][:keepalivetimeout] = 5-Attributdefinition enthält, wird das entsprechenden Attribut in der integrierten Attributdatei apache.rb zuerst berechnet und hat Vorrang. Weitere Informationen finden Sie unter Überschreiben der Attribute.

  5. Wiederholen Sie die Schritte 2 bis 4 für jedes integrierte Kochbuch mit Attributen, die Sie überschreiben möchten.

  6. Aktivieren Sie benutzerdefinierte Kochbücher für Ihren Stack und geben Sie die Informationen an, die AWS OpsWorks Stacks benötigt, um Ihre Kochbücher auf die Instanzen des Stacks herunterzuladen. Weitere Informationen finden Sie unter Installieren von benutzerdefinierten Rezeptbüchern.

Anmerkung

Eine komplette schrittweise Anleitung dieses Verfahrens finden Sie unter Überschreiben von integrierten Attributen.

Das Knotenobjekt, das von nachfolgenden Lebenszyklusereignissen, Deploy-Befehlen und Stack-Befehlen verwendet wird, enthält jetzt Ihre Attributdefinitionen anstelle der AWS OpsWorks Stacks-Werte.

Zum Überschreiben der integrierten Apache-Einstellungen keepalivetimeout und logrotate schedule, welche in Angeben eines benutzerdefinierten JSON-Objekts erläutert wurden, fügen Sie beispielsweise ein apache2-Rezeptbuch zu Ihrem Repository hinzu und eine customize.rb-Datei zum attributes-Rezeptbuchordner mit den folgenden Inhalten.

normal[:apache][:keepalivetimeout] = 5 normal[:apache][:logrotate][:schedule] = 'weekly'
Wichtig

Sie sollten AWS OpsWorks Stacks-Attribute nicht überschreiben, indem Sie eine Kopie der zugehörigen integrierten Attributdatei ändern. Wenn Sie beispielsweise apache.rb in Ihren Ordner apache2/attributes kopieren und einige seiner Einstellungen ändern, überschreiben Sie im Wesentlichen jedes Attribut in der integrierten Datei. Die Rezepte verwenden die Attributdefinitionen von Ihrer Kopie und ignorieren die integrierte Datei. Wenn AWS OpsWorks Stacks zu einem späteren Zeitpunkt die integrierte Attributdatei ändert, haben die Rezepte keinen Zugriff auf die Änderungen, es sei denn, Sie aktualisieren Ihre Kopie manuell.

Um dies zu verhindern, enthalten alle integrierten Rezeptbücher eine leere customize.rb-Attributedatei, die in allen Modulen durch eine include_attribute-Richtlinie erforderlich ist. Durch Überschreiben der Attribute in Ihrer Kopie customize.rb beeinflussen Sie nur die spezifischen Attribute. Die Rezepte beschaffen jegliche anderen Attributwerte aus den integrierten Attributdateien und bekommen automatisch die aktuellen Werte aller Attribute, die Sie nicht überschrieben haben.

Mit diesem Ansatz können Sie die Anzahl der Attribute in Ihrem Rezeptbuch-Repository klein halten, wodurch Ihre Fixkosten für die Wartung gering gehalten werden und zukünftige Upgrades einfacher zu verwalten sind.