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 integrierten Vorlagen
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
Anmerkung
Dieses Thema bezieht sich nur auf Linux-Stacks. Auf Windows-Stacks können Sie integrierte Vorlagen nicht überschreiben.
Die in AWS OpsWorks Stacks integrierten Rezepte verwenden Vorlagen, um Dateien auf Instanzen zu erstellen, hauptsächlich Konfigurationsdateien für Server wie Apache. Zum Beispiel verwenden die apache2
-Rezepte die Vorlage apache2.conf.erb
httpd.conf
(Amazon Linux) oder apache2.conf
(Ubuntu).
Die meisten Konfigurationseinstellungen in diesen Vorlagen werden durch Attribute abgebildet, daher lassen sich Konfigurationsdateien am besten durch Überschreiben der entsprechenden integrierten Attribute anpassen. Ein Beispiel finden Sie unter Überschreiben von integrierten Attributen. Wenn Sie jedoch Einstellungen anpassen möchten, für die es keine entsprechenden integrierten Attribute gibt oder die in der Vorlage gar nicht vorhanden sind, müssen Sie die Vorlage selbst überschreiben. In diesem Thema wird beschrieben, wie Sie eine integrierte Vorlage überschreiben, um eigene Apache-Konfigurationseinstellungen festzulegen.
Sie können benutzerdefinierte Fehlermeldungen für Apache hinzufügen, indem Sie ErrorDocument
-Einstellungen in der Datei httpd.conf
einfügen. apache2.conf.erb
enthält nur einige auskommentierte Beispiele, wie Sie im Folgenden sehen können:
... # # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects # # Some examples: #ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 http://www.example.com/subscription_info.html ...
Da diese Einstellungen in Kommentaren fest programmiert sind, können Sie durch Überschreiben der Attribute keine benutzerdefinierten Werte festlegen. Sie müssen die Vorlage selbst überschreiben. Anders als bei Attributen gibt es jedoch keine Möglichkeit, eine Vorlagendatei nur teilweise zu überschreiben. Erstellen Sie ein benutzerdefiniertes Rezeptbuch mit demselben Namen wie die integrierte Version, kopieren Sie die Vorlagendatei in dasselbe Unterverzeichnis und passen Sie die Datei an Ihre Bedürfnisse an. In diesem Thema erfahren Sie, wie Sie die Vorlage apache2.conf.erb
überschreiben, um für den Fehler 500 eine benutzerdefinierte Fehlermeldung anzuzeigen. Allgemeine Erläuterungen zum Überschreiben von Vorlagen finden Sie unter Verwenden von benutzerdefinierten Vorlagen.
Wichtig
Wenn Sie eine buiIt -Vorlage überschreiben, verwenden die integrierten Rezepte Ihre benutzerdefinierte Version der Vorlage anstelle der integrierten Version. Wenn AWS OpsWorks Stacks die integrierte Vorlage aktualisiert, ist die benutzerdefinierte Vorlage nicht mehr synchron und funktioniert möglicherweise nicht mehr richtig. AWS OpsWorks Stacks nimmt solche Änderungen nicht oft vor, und wenn sich eine Vorlage ändert, listet AWS OpsWorks Stacks die Änderungen auf und gibt Ihnen die Möglichkeit, auf eine neue Version zu aktualisieren. Wir empfehlen Ihnen, auf Änderungen am AWS OpsWorks Stacks-Repository
Erstellen Sie zunächst ein benutzerdefiniertes Rezeptbuch.
So erstellen Sie das Rezeptbuch
-
Erstellen Sie in dem Verzeichnis
opsworks_cookbooks
ein Rezeptbuchverzeichnis namensapache2
und öffnen Sie es anschließend. Damit das benutzerdefinierte Rezeptbuch integrierte Vorlagen überschreiben kann, muss es denselben Namen wie das integrierte Rezeptbuch haben, in diesem Beispiel alsoapache2
.Anmerkung
Falls Sie die Anleitung Überschreiben von integrierten Attributen bereits durchgearbeitet haben, können Sie das Rezeptbuch
apache2
aus diesem Beispiel übernehmen und Schritt 2 überspringen. -
Erstellen Sie eine Datei
metadata.rb
mit folgendem Inhalt und speichern Sie sie im Verzeichnisapache2
.name "apache2" version "0.1.0"
-
Erstellen Sie im Verzeichnis
apache2
ein Verzeichnistemplates/default
.Anmerkung
Das
templates/default
Verzeichnis funktioniert für Amazon Linux-Instances, die dieapache2.conf.erb
Standardvorlage verwenden. Ubuntu 14.04-Instances verwenden eine für das Betriebssystem spezifische Vorlageapache2.conf.erb
, die sich im Verzeichnistemplates/ubuntu-14.04
befindet. Wenn Sie Ihre Änderungen auch auf Ubuntu 14.04-Instances verwenden möchten, müssen Sie auch diese Vorlage überschreiben. -
Kopieren Sie die integrierte Vorlage
apache2.conf.erb
in Ihr Verzeichnis templates/default
. Öffnen Sie die Vorlagendatei, entfernen Sie die Kommentarzeichen der ZeileErrorDocument 500
und geben Sie die folgende benutzerdefinierte Fehlermeldung ein:... ErrorDocument 500 "
A custom error message.
" #ErrorDocument 404 /missing.html ... -
Erstellen Sie ein
.zip
Archivopsworks_cookbooks
mit Namenopsworks_cookbooks.zip
und laden Sie die Datei dann in einen Amazon Simple Storage Service (Amazon S3) -Bucket hoch. Machen Sie das Archiv der Einfachheit halber öffentlich. Notieren Sie die Archive URL für die spätere Verwendung. Sie können Ihre Kochbücher auch in einem privaten Amazon S3 S3-Archiv oder in anderen Repository-Typen speichern. Weitere Informationen finden Sie unter Rezeptbuch-Repositorys.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?.
Anmerkung
Der Einfachheit halber wird in diesem Beispiel eine fest programmierte Meldung in die Vorlage eingefügt. Um diese zu ändern, müssen Sie die Vorlage ändern und das Rezeptbuch erneut installieren. Wenn Sie flexibler sein möchten, können Sie ein benutzerdefiniertes Standardattribut für die Fehlermeldung in der Attributdatei des benutzerdefinierten Rezeptbuchs customize.rb
definieren und den Wert dieses Attributs ErrorDocument 500
zuweisen. Wenn Sie das Attribut beispielsweise [:apache][:custom][:error500]
nennen, sieht die entsprechende Zeile in der Datei apache2.conf.erb
etwa folgendermaßen aus:
... ErrorDocument 500 <%= node
[:apache][:custom][:error500]
%> #ErrorDocument 404 /missing.html ...
Nun können Sie die benutzerdefinierte Fehlermeldung jederzeit ändern, indem Sie [:apache][:custom][:error500]
überschreiben. Wenn Sie custom verwenden, JSON um das Attribut zu überschreiben, müssen Sie das Kochbuch nicht einmal anfassen.
Erstellen Sie einen Stack und installieren Sie das Rezeptbuch, um die benutzerdefinierte Vorlage zu verwenden.
So verwenden Sie benutzerdefinierte Vorlagen
-
Öffnen Sie die AWS OpsWorks Stacks-Konsole
und wählen Sie dann Add Stack (Stack hinzufügen) aus. -
Legen Sie die folgenden Standardeinstellungen fest:
-
Name — ApacheTemplate
-
Region — USA West (Oregon)
-
SSHStandardschlüssel — Ein Amazon Elastic Compute Cloud (AmazonEC2) -Schlüsselpaar
Wenn Sie ein EC2 Amazon-Schlüsselpaar erstellen müssen, finden Sie weitere Informationen unter EC2Amazon-Schlüsselpaare. Beachten Sie, dass das key pair zu derselben AWS Region gehören muss wie die Instance.
Wählen Sie Advanced >> (Erweiterte Einstellungen >>) und dann Use custom Chef cookbooks (Benutzerdefinierte Rezeptbücher verwenden) aus, um die folgenden Einstellungen anzugeben:
-
Repository-Typ — HTTP-Archiv
-
Repository URL — Das Kochbuch-ArchivURL, das Sie zuvor aufgenommen haben
Übernehmen Sie für die anderen Einstellungen die Standardwerte und wählen Sie Add Stack aus, um den Stack zu erstellen.
-
-
Wählen Sie Ebene hinzufügen und fügen Sie dem Stack dann eine Java App Server-Ebene mit Standardeinstellungen hinzu.
-
Fügen Sie dem Layer eine 24/7-Instance mit den Standardeinstellungen hinzu und starten Sie sie.
Für dieses Beispiel ist eine t2.Micro-Instance ausreichend.
-
Nachdem die Instanz online ist, stellen Sie mit eine Verbindung zu ihr herSSH. Die Datei
httpd.conf
ist im Verzeichnis/etc/httpd/conf
. Die Datei sollte nun Ihre benutzerdefinierte Einstellung fürErrorDocument
enthalten, die etwa folgendermaßen aussieht:... # Some examples: ErrorDocument 500 "A custom error message." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 http://www.example.com/subscription_info.html ...