Erstellen Sie einen AWS OpsWorks for Puppet Enterprise Master mit AWS CloudFormation - 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.

Erstellen Sie einen AWS OpsWorks for Puppet Enterprise Master mit AWS CloudFormation

Wichtig

Der AWS OpsWorks for Puppet Enterprise Dienst hat am 31. März 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.

AWS OpsWorks for Puppet Enterprise ermöglicht es Ihnen, einen Puppet Enterprise-Server in auszuführen. AWS Sie können in etwa 15 Minuten einen Puppet Enterprise Master-Server einrichten.

Ab dem 3. Mai 2021 speichert Puppet Enterprise einige Puppet Enterprise-Serverattribute in. OpsWorks AWS Secrets Manager Weitere Informationen finden Sie unter Integration in AWS Secrets Manager.

Die folgende exemplarische Vorgehensweise hilft Ihnen beim Erstellen eines Puppet-Masters OpsWorks für Puppet Enterprise, indem Sie einen Stack-In erstellen. AWS CloudFormation

Voraussetzungen

Bevor Sie einen neuen Puppet-Master erstellen, erstellen Sie außerhalb von Puppet Enterprise die Ressourcen, die Sie OpsWorks für den Zugriff und die Verwaltung Ihres Puppet-Masters benötigen. Weitere Informationen finden Sie unter Voraussetzungen im Abschnitt "Erste Schritte" dieses Handbuchs.

Wenn Sie einen Server erstellen, der eine benutzerdefinierte Domäne verwendet, benötigen Sie eine benutzerdefinierte Domäne, ein benutzerdefiniertes Zertifikat und eine benutzerdefinierten privaten Schlüssel. Sie müssen Werte für alle drei Parameter in Ihrer Vorlage angeben. AWS CloudFormation Weitere Informationen zu den Anforderungen für die CustomPrivateKey Parameter CustomDomainCustomCertificate, und finden Sie CreateServerin der AWS OpsWorks CM-API-Referenz.

Im Abschnitt OpsWorks -CM der Vorlagenreferenz für das AWS CloudFormation Benutzerhandbuch finden Sie Informationen zu den unterstützten und erforderlichen Werten in der AWS CloudFormation Vorlage, die Sie zum Erstellen Ihres Servers verwenden.

Erstellen eines Puppet Enterprise-Masters in AWS CloudFormation

In diesem Abschnitt wird beschrieben, wie Sie mithilfe einer AWS CloudFormation Vorlage einen Stack erstellen, der einen Masterserver OpsWorks für Puppet Enterprise erstellt. Sie können dies tun, indem Sie die AWS CloudFormation Konsole oder die AWS CLI verwenden. Es steht eine AWS CloudFormation Beispielvorlage zur Verfügung, mit der Sie einen Server-Stack OpsWorks für Puppet Enterprise erstellen können. Achten Sie darauf, die Beispielvorlage mit Ihrem eigenen Servernamen, den IAM-Rollen, dem Instanzprofil, der Serverbeschreibung, der Anzahl der Backup-Aufbewahrungsfristen, den Wartungsoptionen und optionalen Tags zu aktualisieren. Wenn der Server eine benutzerdefinierte Domäne verwendet, müssen Sie Werte für die Parameter CustomDomain, CustomCertificate und CustomPrivateKey in der AWS CloudFormation -Vorlage angeben. Weitere Informationen zu diesen Optionen finden Sie unter Erstellen Sie einen Puppet Enterprise Master mithilfe der AWS Management Console im Abschnitt "Erste Schritte" in diesem Handbuch.

Erstellen Sie einen Puppet Enterprise Master mithilfe von AWS CloudFormation (Konsole)

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation.

  2. Wählen Sie auf der AWS CloudFormation Startseite die Option Stack erstellen aus.

  3. Wenn Sie im Schritt Prerequisite - Prepare template (Voraussetzung: Vorbereiten der Vorlage) die AWS CloudFormation -Beispielvorlage verwenden, wählen Sie Template is ready (Vorlage ist bereit) aus.

  4. Wählen Sie unter Specify template (Vorlage angeben) die Quelle Ihrer Vorlage aus. Wählen Sie für diese exemplarische Vorgehensweise die Option Eine Vorlagendatei hochladen und laden Sie eine AWS CloudFormation Vorlage hoch, mit der ein Puppet Enterprise-Server erstellt wird. Suchen Sie nach Ihrer Vorlagendatei und klicken Sie dann auf Next (Weiter).

    Eine AWS CloudFormation Vorlage kann entweder im YAML- oder im JSON-Format vorliegen. Es steht Ihnen eine AWS CloudFormation Beispielvorlage zur Verfügung. Achten Sie darauf, die Beispielwerte durch Ihre eigenen zu ersetzen. Sie können den AWS CloudFormation Vorlagendesigner verwenden, um eine neue Vorlage zu erstellen oder eine bestehende zu validieren. Weitere Informationen zu diesem Verfahren finden Sie unter Übersicht über die AWS CloudFormation Designer-Oberfläche im AWS CloudFormation -Benutzerhandbuch.

    CloudFormation Stack-Seite erstellen
  5. Geben Sie auf der Seite Specify stack details (Stack-Details angeben) einen Namen für den Stack ein. Dies ist nicht dasselbe wie der Name Ihres Servers; es ist nur ein Stack-Name. Geben Sie im Bereich Parameters (Parameter) ein Administratorpasswort ein, das für die Anmeldung auf der Puppet Enterprise-Konsolenwebseite verwendet werden soll. Das Passwort muss zwischen 8 und 32 ASCII-Zeichen lang sein. Wählen Sie Weiter aus.

    Geben Sie die Seite „Details“ in an CloudFormation
  6. Auf der Seite „Optionen“ können Sie dem Server, den Sie mit dem Stack erstellen, Tags hinzufügen und eine IAM-Rolle für die Erstellung von Ressourcen auswählen, falls Sie noch keine IAM-Rolle zur Verwendung in Ihrer Vorlage angegeben haben. Wenn Sie alle Optionen angegeben haben, wählen Sie Next (Weiter) aus. Weitere Informationen zu erweiterten Optionen wie Rollback-Triggern finden Sie im Benutzerhandbuch unter Setting AWS CloudFormation Stack Options.AWS CloudFormation

  7. Überprüfen Sie auf der Seite Review (Prüfen) Ihre Auswahl. Wenn Sie bereit sind, den Server-Stack zu erstellen, wählen Sie Create (Erstellen) aus.

    Während Sie darauf warten, den Stack AWS CloudFormation zu erstellen, sehen Sie sich den Status der Stack-Erstellung an. Wenn die Stack-Erstellung fehlschlägt, überprüfen Sie die Fehlermeldungen in der Konsole, die Sie bei der Fehlerbehebung unterstützen. Weitere Informationen zur Fehlerbehebung bei AWS CloudFormation -Stacks finden Sie im Abschnitt zur Fehlerbehebung im AWS CloudFormation -Benutzerhandbuch.

    Wenn die Servererstellung abgeschlossen ist, ist Ihr Puppet-Master auf der OpsWorks Startseite von Puppet Enterprise mit dem Status Online verfügbar. Nachdem sich der Server online befindet, ist die Puppet Enterprise-Konsole auf der Server-Domäne mit einer URL mit folgendem Format verfügbar: https://your_server_name-randomID.region.opsworks-cm.io.

    Anmerkung

    Wenn Sie eine benutzerdefinierte Domäne, ein Zertifikat und einen privaten Schlüssel für Ihren Server angegeben haben, erstellen Sie im DNS-Management-Tool Ihres Unternehmens einen CNAME-Eintrag, der Ihre benutzerdefinierte Domäne dem Endpunkt zuordnet, der OpsWorks für Puppet Enterprise automatisch für den Server generiert wurde. Sie können weder den Server verwalten noch eine Verbindung mit der Puppet Enterprise-Managementwebsite für den Server herstellen, bis Sie den generierten Endpunkt Ihrem benutzerdefinierten Domänenwert zuordnen.

    Um den generierten Endpunktwert abzurufen, führen Sie den folgenden AWS CLI Befehl aus, nachdem Ihr Server online ist:

    aws opsworks describe-servers --server-name server_name

Erstellen Sie einen Puppet Enterprise Master mithilfe von AWS CloudFormation (CLI)

Wenn auf Ihrem lokalen Computer das noch nicht ausgeführt wird AWS CLI, laden Sie es herunter und installieren Sie es, AWS CLI indem Sie den Installationsanweisungen im AWS-Benutzerhandbuch für die Befehlszeilenschnittstelle folgen. In diesem Abschnitt werden nicht alle Parameter beschrieben, die Sie mit dem Befehl create-stack verwenden können. Weitere Informationen zu den create-stack-Parametern finden Sie unter create-stack in der AWS CLI -Referenz.

  1. Stellen Sie sicher, dass Sie die Schritte Voraussetzungen zur Erstellung eines Masters OpsWorks für Puppet Enterprise abgeschlossen haben.

  2. Erstellen Sie eine Servicerolle und ein Instanzprofil. AWS OpsWorks stellt eine AWS CloudFormation Vorlage bereit, mit der Sie beide erstellen können. Führen Sie den folgenden AWS CLI Befehl aus, um einen AWS CloudFormation Stack zu erstellen, der die Servicerolle und das Instanzprofil für Sie erstellt.

    aws cloudformation create-stack --stack-name OpsWorksCMRoles --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml --capabilities CAPABILITY_NAMED_IAM

    Suchen Sie nach AWS CloudFormation Abschluss der Erstellung des Stacks die ARNs der Servicerollen in Ihrem Konto und kopieren Sie sie.

    aws iam list-roles --path-prefix "/service-role/" --no-paginate

    Suchen Sie in den Ergebnissen des Befehls list-roles nach den Einträgen der Servicerolle und des Instance-Profils. Diese sehen etwa wie folgt aus. Notieren Sie sich die ARNs der Servicerolle und des Instanzprofils und fügen Sie sie der AWS CloudFormation Vorlage hinzu, mit der Sie Ihren Puppet-Master-Server-Stack erstellen.

    { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZQG6R22HC", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-ec2-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-ec2-role" }, { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "opsworks-cm.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZZZZZZ6QE", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-service-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-service-role" }
  3. Erstellen Sie den Master OpsWorks für Puppet Enterprise, indem Sie den create-stack Befehl erneut ausführen.

    • Ersetzen Sie stack_name durch den Namen Ihres Stacks. Dies ist der Name des AWS CloudFormation Stacks, nicht Ihres Puppet-Masters. Der Name des Puppet-Masters ist der Wert von ServerName in Ihrer AWS CloudFormation -Vorlage.

    • Ersetzen Sie template durch den Pfad zu Ihrer Vorlagendatei und die Erweiterung yaml or json mit .yaml bzw. .json (wie zutreffend).

    • Die Werte für --parameters entsprechen EngineAttributesder CreateServerAPI. Für Puppet sind die folgenden Attribute vom Benutzer angegebene Engine-Attribute für die Erstellung eines Servers. r10k-Engine-Attribute verbinden Ihren Puppet-Master mit einem Code-Repository, um die Umgebungskonfiguration des Servers zu verwalten. Weitere Informationen zu r10k-Engine-Attributen finden Sie unter Managing code with r10k (Verwalten von Code mit r10k) in der Puppet Enterprise-Dokumentation.

      • PUPPET_ADMIN_PASSWORD, ein Administratorpasswort für die Anmeldung auf der Puppet Enterprise-Konsolenwebseite. Das Passwort muss 8 bis 32 ASCII-Zeichen umfassen und mindestens einen Großbuchstaben, einen Kleinbuchstaben, eine Zahl und ein Sonderzeichen enthalten.

      • PUPPET_R10K_REMOTE, die URL Ihres Steuerungs-Repositorys (z. B. ssh://git@your.git-repo.com:user/control-repo.git). Durch das Angeben eines r10k-Remote-Repositorys wird der TCP-Port 8170 geöffnet.

      • PUPPET_R10K_PRIVATE_KEY. Wenn Sie ein privates Git-Repository verwenden, fügen Sie PUPPET_R10K_PRIVATE_KEY hinzu, um eine SSH-URL und einen PEM-codierten privaten SSH-Schlüssel anzugeben.

    aws cloudformation create-stack --stack-name stack_name --template-body file://template.yaml or json --parameters ParameterKey=AdminPassword,ParameterValue="password"

    Im Folgenden wird ein Beispiel gezeigt.

    aws cloudformation create-stack --stack-name "OpsWorksCMPuppetServerStack" --template-body file://opsworkscm-puppet-server.json --parameters ParameterKey=AdminPassword,ParameterValue="09876543210Ab#"

    Im folgenden Beispiel werden R10k-Engine-Attribute als Parameter angegeben, wenn sie nicht in der Vorlage bereitgestellt werden. AWS CloudFormation Eine Beispielvorlage, die die r10k-Engine-Attribute enthält, puppet-server-param-attributes.yaml, ist bei den AWS CloudFormation -Beispielvorlagen enthalten.

    aws cloudformation create-stack --stack-name MyPuppetStack --template-body file://puppet-server-param-attributes.yaml --parameters ParameterKey=AdminPassword,ParameterValue="superSecret1%3" ParameterKey=R10KRemote,ParameterValue="https://www.yourRemote.com" ParameterKey=R10KKey,ParameterValue="$(cat puppet-r10k.pem)"

    Im folgenden Beispiel werden r10k-Engine-Attribute und ihre Werte in der AWS CloudFormation -Vorlage festgelegt. Der Befehl muss nur auf die Vorlagendatei verweisen. Die Vorlage, die als Wert für --template-body angegeben ist, puppet-server-in-file-attributes.yaml, ist bei den AWS CloudFormation -Beispielvorlagen enthalten.

    aws cloudformation create-stack --stack-name MyPuppetStack --template-body file://puppet-server-in-file-attributes.yaml
  4. (Optional) Um den Status der Stack-Erstellung anzuzeigen, führen Sie den folgenden Befehl aus.

    aws cloudformation describe-stacks --stack-name stack_name
  5. Wenn die Stack-Erstellung abgeschlossen ist, fahren Sie mit dem nächsten Abschnitt fort, Konfigurieren des Puppet-Masters mit dem Starter Kit. Wenn die Stack-Erstellung fehlschlägt, überprüfen Sie die Fehlermeldungen in der Konsole, die Sie bei der Fehlerbehebung unterstützen. Weitere Informationen zur Behebung von Fehlern in AWS CloudFormation Stacks finden Sie unter Problembehandlung im AWS CloudFormation Benutzerhandbuch.