Attribute für die Stack-Konfiguration und -Bereitstellung - 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.

Attribute für die Stack-Konfiguration und -Bereitstellung

Wichtig

Das Tool AWS OpsWorks Stacks Der 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 AWS Support Team ein AWS Re:post oder durch AWS Premium-Support.

Wann AWS OpsWorks Stacks führt einen Befehl auf einer Instance aus — beispielsweise einen Deploy-Befehl als Reaktion auf ein Deploy-Lifecycle-Ereignis — und fügt dem Knotenobjekt der Instanz eine Reihe von Attributen hinzu, die die aktuelle Konfiguration des Stacks beschreiben. Für die Stack-Befehle Deploy-Events und Execute Recipes AWS OpsWorks Stacks installiert Deploy-Attribute, die zusätzliche Bereitstellungsinformationen bereitstellen. Weitere Informationen zum Knotenobjekt finden Sie unter Überschreiben der Attribute. Eine Liste der häufig verwendeten Attribute für die Stack-Konfiguration und -Bereitstellung, einschließlich qualifizierter Knotennamen, finden Sie unter Stack-Konfigurations- und Bereitstellungsattribute: Linux und Integrierte Rezeptbuchattribute.

In den folgenden Abschnitten werden die Attribute gezeigt, die einem Konfigurations- oder Bereitstellungsereignis für einen einfachen Stack zugeordnet sind und Folgendes enthalten:

  • Eine PHP App Server-Ebene mit zwei Instanzen

  • Einen HAProxy-Layer mit einer Instance

Die Beispiele stammen aus einer der PHP App Server-Instanzen, php-app1. Der Einfachheit halber sind die Attribute als Objekt formatiert. JSON Die Objektstruktur wird dem vollqualifizierten Namen der Attribute zugeordnet. In einer JSON Darstellung sieht das node[:opsworks][:ruby_version] Attribut beispielsweise wie folgt aus.

{ "opsworks": { ... "ruby_version": "1.8.7", ... } }

Konfigurieren von Attributen

Das folgende JSON Objekt zeigt die Attribute für ein Configure-Ereignis, das auf jeder Instanz im Stack auftritt, wenn eine Instanz online geht oder offline geht. Zu den Attributen gehören die integrierten JSONStack-Konfigurationsattribute und alle benutzerdefinierten Attribute, die vor dem Ereignis für den Stack definiert wurden (in diesem Beispiel keine). Es wurde aus Gründen der Länge bearbeitet. Eine detaillierte Beschreibung verschiedener Attribute finden Sie unter Stack-Konfigurations- und Bereitstellungsattribute: Linux und Integrierte Rezeptbuchattribute.

{ "opsworks": { "layers": { "php-app": { "id": "4a2a56c8-f909-4b39-81f8-556536d20648", "instances": { "php-app2": { "elastic_ip": null, "region": "us-west-2", "booted_at": "2013-02-26T20:41:10+00:00", "ip": "192.0.2.0", "aws_instance_id": "i-34037f06", "availability_zone": "us-west-2a", "instance_type": "c1.medium", "private_dns_name": "ip-10-252-0-203.us-west-2.compute.internal", "private_ip": "10.252.0.203", "created_at": "2013-02-26T20:39:39+00:00", "status": "online", "backends": 8, "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com" }, "php-app1": { ... } }, "name": "PHP Application Server" }, "lb": { "id": "15c86142-d836-4191-860f-f4d310440f14", "instances": { "lb1": { ... } }, "name": "Load Balancer" } }, "agent_version": "104", "applications": [ ], "stack": { "name": "MyStack" }, "ruby_version": "1.8.7", "sent_at": 1361911623, "ruby_stack": "ruby_enterprise", "instance": { "layers": [ "php-app" ], "region": "us-west-2", "ip": "192.0.2.0", "id": "45ef378d-b87c-42be-a1b9-b67c48edafd4", "aws_instance_id": "i-32037f00", "availability_zone": "us-west-2a", "private_dns_name": "ip-10-252-84-253.us-west-2.compute.internal", "instance_type": "c1.medium", "hostname": "php-app1", "private_ip": "10.252.84.253", "backends": 8, "architecture": "i386", "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com" }, "activity": "configure", "rails_stack": { "name": null }, "deployment": null, "valid_client_activities": [ "reboot", "stop", "setup", "configure", "update_dependencies", "install_dependencies", "update_custom_cookbooks", "execute_recipes" ] }, "opsworks_custom_cookbooks": { "recipes": [ ], "enabled": false }, "recipes": [ "opsworks_custom_cookbooks::load", "opsworks_ganglia::configure-client", "ssh_users", "agent_version", "mod_php5_apache2::php", "php::configure", "opsworks_stack_state_sync", "opsworks_custom_cookbooks::execute", "test_suite", "opsworks_cleanup" ], "opsworks_rubygems": { "version": "1.8.24" }, "ssh_users": { }, "opsworks_bundler": { "manage_package": null, "version": "1.0.10" }, "deploy": { } }

Die meisten Informationen finden Sie unter dem opsworks-Attribut, das häufig auch als Namespace bezeichnet wird. In der folgenden Liste werden die wichtigsten Attribute beschrieben:

  • layersAttribute — Eine Reihe von Attributen, von denen jedes die Konfiguration einer der Ebenen des Stacks beschreibt.

    Die Layer werden in diesem Beispiel über ihre Kurzbezeichnungen php-app und lb identifiziert. Weitere Informationen zu Kurzbezeichnungen für andere Layer finden Sie unter AWS OpsWorks Stacks-Ebenenreferenz.

  • instancesAttribute — Jede Ebene hat ein instances Element, das ein Attribut für jede der Online-Instanzen der Ebenen enthält, das mit dem Kurznamen der Instanz benannt ist.

    Die PHP App Server-Ebene besteht aus zwei Instanzen, php-app1 undphp-app2. Der HAProxy-Layer hat eine Instance: lb1.

    Anmerkung

    Das instances-Element enthält nur die Instances, die online sind, wenn die entsprechenden Stack- und Bereitstellungsattribute erstellt werden.

  • Instanzattribute — Jedes Instanzattribut enthält eine Reihe von Attributen, die die Instanz charakterisieren, z. B. die private IP-Adresse und den privaten DNS Namen der Instanz. Der Kürze halber zeigt das Beispiel nur das php-app2-Attribut im Detail. Die anderen enthalten ähnliche Informationen.

  • applications— Eine Liste der bereitgestellten Apps, die in diesem Beispiel nicht verwendet wurden.

  • stack— Der Stack-Name; MyStack in diesem Beispiel.

  • instance— Die Instanz, auf der diese Attribute installiert sind; php-app1 in diesem Beispiel. Rezepte können diese Attribute zum Abrufen von Informationen über die Instance nutzen, auf der sie ausgeführt werden, beispielsweise die öffentliche IP-Adresse der Instance.

  • activity— Die Aktivität, die die Attribute erzeugt hat; in diesem Beispiel ein Configure-Ereignis.

  • rails_stack— Der Rails-Stack für Stacks, die eine Rails App Server-Ebene enthalten.

  • deployment— Ob diese Attribute mit einer Bereitstellung verknüpft sind. In diesem Beispiel auf null gesetzt, da die Attribute einem Konfigurationsereignis zugeordnet sind.

  • valid_client_activities— Eine Liste gültiger Kundenaktivitäten.

Das opsworks-Attribut wird gefolgt von mehreren Attributen der oberen Ebene, einschließlich:

  • opsworks_custom_cookbooks— Ob benutzerdefinierte Kochbücher aktiviert sind. Wenn dies der Fall ist, enthält das Attribut eine Liste benutzerdefinierter Rezepte.

  • recipes— Die Rezepte, die im Rahmen dieser Aktivität ausgeführt wurden.

  • opsworks_rubygems— Die RubyGems Version der Instanz.

  • ssh_users— Eine Liste von SSH Benutzern; in diesem Beispiel keine.

  • opsworks_bundler— Die Bundler-Version und ob sie aktiviert ist.

  • deploy— Informationen über Bereitstellungsaktivitäten; in diesem Beispiel keine.

Bereitstellungsattribute

Die Attribute für ein Bereitstellungsereignis oder den Stack-Befehl zum Ausführen von Rezepten bestehen aus den integrierten Attributen für die Stack-Konfiguration und -Bereitstellung sowie allen benutzerdefinierten Stack- oder Bereitstellungsattributen (hier keine). Das folgende JSON Objekt zeigt die Attribute von php-app1, die einem Deploy-Ereignis zugeordnet sind, das die PHP Simple-App für die Instanzen des Stacks bereitgestellt hat. PHP Das Objekt besteht zum Großteil aus Stack-Konfigurationsattributen, die denen für das Konfigurationsereignis ähneln, das im vorherigen Abschnitt beschrieben wurde. Deshalb konzentriert sich dieses Beispiel primär auf bereitstellungsspezifische Attribute. Eine detaillierte Beschreibung verschiedener Attribute finden Sie unter Stack-Konfigurations- und Bereitstellungsattribute: Linux und Integrierte Rezeptbuchattribute.

{ ... "opsworks": { ... "activity": "deploy", "applications": [ { "slug_name": "simplephp", "name": "SimplePHP", "application_type": "php" } ], "deployment": "5e6242d7-8111-40ee-bddb-00de064ab18f", ... }, ... { "ssh_users": { }, "deploy": { "simplephpapp": { "application": "simplephpapp", "application_type": "php", "environment_variables": { "USER_ID": "168424", "USER_KEY": "somepassword" }, "auto_bundle_on_deploy": true, "deploy_to": "/srv/www/simplephpapp", "deploying_user": "arn:aws:iam::123456789012:user/guysm", "document_root": null, "domains": [ "simplephpapp" ], "migrate": false, "mounted_at": null, "rails_env": null, "restart_command": "echo 'restarting app'", "sleep_before_restart": 0, "ssl_support": false, "ssl_certificate": null, "ssl_certificate_key": null, "ssl_certificate_ca": null, "scm": { "scm_type": "git", "repository": "git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git", "revision": "version1", "ssh_key": null, "user": null, "password": null }, "symlink_before_migrate": { "config/opsworks.php": "opsworks.php" }, "symlinks": { }, "database": { }, "memcached": { "host": null, "port": 11211 }, "stack": { "needs_reload": false } } }, }

Das opsworks-Attribut ist nahezu identisch mit dem Beispiel aus dem vorherigen Abschnitt. Die folgenden Abschnitte sind primär für die Bereitstellung relevant:

  • activity— Das Ereignis, das diesen Attributen zugeordnet ist; in diesem Beispiel ein Deploy-Ereignis.

  • applications— Enthält eine Reihe von Attributen für jede App, die die Namen, Slug-Namen und Typen der Apps bereitstellen.

    Der Slug-Name ist der Kurzname der App, der AWS OpsWorks Stacks wird aus dem Namen der App generiert. Der Slug-Name für Simple PHP ist simplephp.

  • deployment— Die Bereitstellungs-ID, die eine Bereitstellung eindeutig identifiziert.

Das deploy-Attribut enthält Informationen über die Apps, die bereitgestellt werden. So verwenden beispielsweise die integrierten Bereitstellungsrezepte die Daten des deploy-Attributs, um Dateien in den entsprechenden Verzeichnisses zu installieren und Datenbankverbindungsdateien zu erstellen. Das deploy-Attribut enthält ein Attribut für jede bereitgestellte App, wobei die Kurzbezeichnung der App verwendet wird. Jedes App-Attribut enthält die folgenden Attribute:

  • environment_variables— Enthält alle Umgebungsvariablen, die Sie für die App definiert haben. Weitere Informationen finden Sie unter Umgebungsvariablen.

  • domains— Standardmäßig ist die Domain der Kurzname der App, der in diesem Beispiel simplephpapp lautet. Wenn Sie benutzerdefinierte Domänen zugewiesen haben, werden diese hier ebenfalls angezeigt. Weitere Informationen finden Sie unter Verwenden von benutzerdefinierten Domänen.

  • application— Der Kurzname der App.

  • scm— Dieses Element enthält die Informationen, die erforderlich sind, um die Dateien der App aus ihrem Repository herunterzuladen. In diesem Beispiel handelt es sich um ein Git-Repository.

  • database— Datenbankinformationen, wenn der Stapel eine Datenbankschicht enthält.

  • document_root— Das Dokumentenstammverzeichnis, das null in diesem Beispiel auf eingestellt ist, was darauf hinweist, dass das Stammverzeichnis öffentlich ist.

  • ssl_certificate_ca,ssl_support, ssl_certificate_key — Gibt an, ob die App SSL unterstützt wird. Wenn dies der Fall ist, werden die Attribute ssl_certificate_key und ssl_certificate_ca auf die entsprechenden Zertifikate gesetzt.

  • deploy_to— Das Stammverzeichnis der App.