Automatisches Hinzufügen von Knoten in OpsWorks for Puppet Enterprise - 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.

Automatisches Hinzufügen von Knoten in OpsWorks for Puppet Enterprise

In diesem Thema wird beschrieben, wie Sie Amazon Elastic Compute Cloud-Knoten (Amazon EC2) automatisch zum OpsWorks for Puppet Enterprise-Server hinzufügen. In Hinzufügen von Knoten, die vom Puppet-Master verwaltet werden, haben Sie erfahren, wie Sie mit dem Befehl associate-node einzelne Knoten nacheinander zu Ihrem Puppet Enterprise-Server hinzufügen. Der Code in diesem Thema veranschaulicht das automatische Hinzufügen von Knoten mit der unbeaufsichtigten Methode. Die empfohlene Methode für eine unbeaufsichtigte (oder automatische) Zuordnung neuer Knoten besteht in der Konfiguration der Amazon EC2 Benutzerdaten. Standardmäßig verfügt ein OpsWorks for Puppet Enterprise-Server bereits überpuppet-agentverfügbar für Ubuntu-, Amazon Linux- und RHEL-Knoten-Betriebssysteme.

Weitere Informationen zum Aufheben einer Zuordnung von Knoten finden Sie unterTrennen eines Knotens von einem OpsWorks für Puppet Enterprise -Serverin diesem Handbuch unddisassociate-nodein der OpsWorks for Puppet Enterprise-API-Dokumentation.

Unterstützte Betriebssysteme

Eine aktuelle Liste von Betriebssystemen, die Knoten unterstützten, finden Sie auf der Puppet-Agent-Plattformen.

Schritt 1: Erstellen einer IAM-Rolle für die Verwendung als Instance-Profil

Erstellen einesAWS Identity and Access Management-Rolle (IAM), die als EC2-Instance-Profil verwendet werden soll, und fügen Sie die folgende Richtlinie zur IAM-Rolle hinzu. Diese Richtlinie ermöglicht der opsworks-cm-API die Kommunikation mit der EC2 Instance während der Knotenregistrierung. Weitere Informationen zu Instance-Profilen finden Sie unterVerwenden von Instance-Profilenin der Amazon EC2 Dokumentation. Weitere Informationen zum Erstellen einer IAM-Rolle finden Sie unterErstellen einer IAM-Rolle in der Konsolein der Amazon EC2 Dokumentation.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "opsworks-cm:AssociateNode", "opsworks-cm:DescribeNodeAssociationStatus", "opsworks-cm:DescribeServers", "ec2:DescribeTags" ], "Resource": "*", "Effect": "Allow" } ] }

AWS OpsWorksbietet eineAWS CloudFormation-Vorlage, die Sie zum Erstellen der IAM-Rolle mit der obigen Richtlinienanweisung verwenden können. Der folgende AWS CLI-Befehl erstellt unter Verwendung dieser Vorlage die Instance-Profil Rolle für Sie. Sie können den --region-Parameter weglassen, wenn Sie den neuen AWS CloudFormation-Stack in Ihrer Standard-Region erstellen wollen.

aws cloudformation --region region ID create-stack --stack-name myPuppetinstanceprofile --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/owpe/opsworks-cm-nodes-roles.yaml --capabilities CAPABILITY_IAM

Schritt 2: Erstellen von Instances mit einem unbeaufsichtigten Skript für die Zuordnung

Zum Erstellen von EC2-Instances kopieren Sie das Benutzerdatenskript aus demStarter-Kitauf dieuserdata-Abschnitt der EC2-Instance-Anweisungen, Amazon EC2 Auto Scaling Gruppenstartkonfigurationen oder eineAWS CloudFormation-Vorlage. Das Skript wird nur für EC2-Instances mit Ubuntu- und Amazon Linux-Betriebssystemen unterstützt. Weitere Informationen zum Hinzufügen von Skripts zu Benutzerdaten finden Sie unterAusführen von Befehlen auf Linux-Instances beim Startin der Amazon EC2 Dokumentation. Die einfachste Methode, einen neuen Knoten zu erstellen, besteht in der Verwendung vonAssistent zum Starten von Amazon EC2 Instancesaus. In dieser exemplarischen Vorgehensweise wird das Beispielmodul für den Apache-Webserver verwendet, das inErste Schritte mit OpsWorks für Puppet Enterpriseaus.

  1. Das Benutzerdatenskript im Starter Kit führt den opsworks-cm-API-Befehl associate-node aus, um dem Puppet-Master einen neuen Knoten zuzuordnen. In dieser Version wird auch die aktuelle Version von AWS CLI für Sie auf dem Knoten installiert, sofern diese nicht bereits ausgeführt wird. Speichern Sie dieses Skript an einem leicht erreichbaren Speicherort als userdata.sh.

    Standardmäßig ist der Name des neu registrierten Knoten die Instance-ID.

  2. Befolgen Sie die Anleitung in Starten einer Instance in der EC2-Dokumentation mit Änderungen. Wählen Sie im EC2-Instance-Startassistenten ein Amazon Linux AMI.

  3. Wählen Sie auf der Seite Configure Instance Details (Instance-Details konfigurieren) myPuppetinstanceprofile, die Rolle, die Sie in Schritt 1: Erstellen einer IAM-Rolle für die Verwendung als Instance-Profil erstellt haben, als Ihre IAM-Rolle aus.

  4. Laden Sie in den Bereich Advanced Details (Weitere Details) das userdata.sh-Skript hoch, das Sie in Schritt 1 erstellt haben.

  5. Auf der Seite Add Storage (Speicher hinzufügen) sind keine Änderungen erforderlich. Gehen Sie weiter zu Add Tags (Tags hinzufügen).

    Durch die Anwendung von Tags auf Ihre EC2-Instance können Sie das Verhalten von userdata.sh anpassen. Für dieses Beispiel wenden Sie die Rolle apache_webserver auf Ihren Knoten an, indem Sie das folgende Tag hinzufügen: pp_role mit dem Wert apache_webserver.

    Wenn dem Knoten der Wert pp_role zugeordnet wird, werden Datenwerte festgelegt, die permanent im Agent-Zertifikat des Knoten gespeichert werden, sodass eine vertrauenswürdige Klassifizierung des Knoten möglich ist. Weitere Informationen finden Sie unter Extension-Anfragen (permanente Zertifikatdaten) in der Puppet-Plattform-Dokumentation.

  6. Klicken Sie auf derKonfigurieren der Sicherheitsgruppe-Seite wählen SieRegel hinzufügenKlicken Sie auf und wählen Sie dann den TypHTTP, um Port 8080 für den Apache-Webserver in diesem Beispiel zu öffnen.

  7. Wählen Sie Review and Launch (Überprüfen und starten) und dann Launch (Starten) aus. Wenn Ihr neuer Knoten startet, wendet wer die Apache-Konfiguration des Beispielmoduls an, das Sie inEinrichten des Starter Kit Apache Beispielsaus.

  8. Wenn Sie die Webseite öffnen, die mit dem öffentlichen DNS Ihres neuen Knotens verknüpft ist, sollten Sie eine Website sehen, die von Ihrem von Puppet verwalteten Apache-Webserver gehostet wird.