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

AWS OpsWorks Stacks akzeptiert keine neuen Kunden mehr. Bestehende Kunden können die OpsWorks Konsole, API, CLI und CloudFormation Ressourcen bis zum 26. Mai 2024 normal nutzen. Zu diesem Zeitpunkt werden sie eingestellt. Um sich auf diesen Übergang vorzubereiten, empfehlen wir Ihnen, Ihre Stacks AWS Systems Manager so schnell wie möglich auf umzustellen. Weitere Informationen finden Sie unter AWS OpsWorks StacksHäufig gestellte Fragen zum Lebensende und Migrieren Sie Ihre AWS OpsWorks Stacks Anwendungen zu AWS Systems Manager Application Manager.

Wenn AWS OpsWorks Stacks einen Befehl auf einer Instance ausführt, beispielsweise einen Bereitstellungsbefehl als Reaktion auf ein Bereitstellungslebenszyklusereignis, fügt es eine Reihe von Attributen zum Knotenobjekt der Instance hinzu, die die aktuelle Stack-Konfiguration beschreiben. Für Deploy-Attribute und zum Ausführen von Rezept-Stackbefehlen installiert AWS OpsWorks Stacks Deploy-Attribute, die weitere Bereitstellungsinformationen zur Verfügung stellen. 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.

Anmerkung

Für Linux-Stacks erhalten Sie eine vollständige Liste dieser Attribute, formatiert als JSON-Objekt, indem Sie den CLI-Befehl get_json des Agenten verwenden.

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 Instances

  • Eine HAProxy-Ebene mit einer Instance

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

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

Konfigurieren von Attributen

Das folgende JSON-Objekt zeigt die Attribute für ein Konfigurationsereignis, das auf jeder Instance im Stack ausgelöst wird, wenn eine Instance online oder offline geht. Die Attribute enthalten die integrierten Attribute für die Stack-Konfiguration und alle benutzerdefinierten JSON-Attribute, die für den Stack vor dem Ereignis konfiguriert wurden (in diesem Fall 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:

  • layers Attribute – 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-Layer-Referenz.

  • instances Attribute – Jede Ebene hat ein -instancesElement, das ein Attribut für jede der Online-Instances der Ebene enthält, das mit dem Kurznamen der Instance benannt ist.

    Die PHP-App-Server-Ebene hat zwei Instances, php-app1 und php-app2. Die HAProxy-Ebene hat eine Instance, lb1.

    Anmerkung

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

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

  • applications – Eine Liste bereitgestellter Apps, die in diesem Beispiel nicht verwendet werden.

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

  • instance – Die Instance, 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; ein Configure-Ereignis in diesem Beispiel.

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

  • deployment – Gibt an, ob diese Attribute einer Bereitstellung zugeordnet sind. In diesem Beispiel auf null gesetzt, da die Attribute einem Konfigurationsereignis zugeordnet sind.

  • valid_client_activities – Eine Liste gültiger Client-Aktivitäten.

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

  • opsworks_custom_cookbooks – Gibt an, ob benutzerdefinierte Cookbooks aktiviert sind. Wenn dies der Fall ist, enthält das Attribut eine Liste benutzerdefinierter Rezepte.

  • recipes – Die Rezepte, die von dieser Aktivität ausgeführt wurden.

  • opsworks_rubygems – Die Version der RubyGems Instance.

  • ssh_users – Eine Liste von SSH-Benutzern; in diesem Beispiel keiner.

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

  • deploy – Informationen zu 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 aus php-app1, die einem Bereitstellungsereignis zugeordnet sind, das die SimplePHP-App auf den PHP-Instances des Stacks bereitgestellt hat. 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 angeben.

    Der Slug-Name ist die Kurzbezeichnung der App, die von AWS OpsWorks Stacks aus dem Namen der App generiert wird. Der Slug-Name für SimplePHP 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 ist. 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 zum Herunterladen der App-Dateien aus seinem Repository erforderlich sind; ein Git-Repository in diesem Beispiel.

  • database – Datenbankinformationen, wenn der Stack eine Datenbankschicht enthält.

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

  • ssl_certificate_ca, ssl_support, ssl_certificate_key – Gibt an, ob die App SSL-Unterstützung hat. 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.