Erstellen Sie einen AWS OpsWorks for Chef Automate Server 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 Chef Automate Server mit AWS CloudFormation

Wichtig

AWS OpsWorks for Chef Automate hat am 5. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für Neu- als auch für Bestandskunden deaktiviert. Wir empfehlen bestehenden Kunden, zu Chef SaaS oder einer alternativen Lösung zu migrieren. Wenn du Fragen hast, kannst du dich auf AWS re:POST oder über den AWS Premium-Support an das AWS Support Team wenden.

AWS OpsWorks for Chef Automate ermöglicht es Ihnen, einen Chef Automate-Server in zu betreiben. AWS Sie können in etwa 15 Minuten einen Chef Automate-Server bereitstellen.

AWS OpsWorks for Chef Automate Speichert ab dem 3. Mai 2021 einige Chef Automate-Serverattribute in AWS Secrets Manager. Weitere Informationen finden Sie unter Integration in AWS Secrets Manager.

Die folgende exemplarische Vorgehensweise hilft Ihnen beim Erstellen eines Servers, AWS OpsWorks for Chef Automate indem Sie einen Stack-In AWS CloudFormation erstellen.

Voraussetzungen

Bevor Sie einen neuen Chef Automate-Server erstellen, erstellen Sie die Ressourcen außerhalb von AWS OpsWorks for Chef Automate , die für den Zugriff auf Ihren Chef-Server und dessen Verwaltung erforderlich sind. Weitere Informationen finden Sie unter Voraussetzungen im Abschnitt "Erste Schritte" dieses Handbuchs.

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.

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 AWS CloudFormation Vorlage angeben. Weitere Informationen zu den Anforderungen für die CustomPrivateKey Parameter CustomDomainCustomCertificate, und finden Sie CreateServerin der AWS OpsWorks CM-API-Referenz.

Erstellen Sie einen Passwortwert für das Engine-Attribut „CHEF_AUTOMATE_ADMIN_PASSWORD“. Das Passwort muss eine Länge zwischen 8 und 32 Zeichen haben. Das Passwort kann Buchstaben, Zahlen und Sonderzeichen ((!/@#$%^+=_)) enthalten. Es muss mindestens einen Kleinbuchstaben, einen Großbuchstaben, eine Zahl und ein Sonderzeichen enthalten. Sie geben dieses Passwort in Ihrer AWS CloudFormation Vorlage oder als Wert des CHEF_AUTOMATE_ADMIN_PASSWORD Parameters an, wenn Sie Ihren Stack erstellen.

Generieren Sie ein Base64-kodiertes RSA-Schlüsselpaar, bevor Sie mit der Erstellung eines Chef Automate-Servers in beginnen. AWS CloudFormation Der öffentliche Schlüssel des Paares ist der Wert vonCHEF_AUTOMATE_PIVOTAL_KEY, der Chef-spezifisch EngineAttributesaus der API ist. CreateServer Dieser Schlüssel wird als Wert von Parameters in der AWS CloudFormation Konsole oder im create-stack Befehl in der bereitgestellt AWS CLI. Um diesen Schlüssel zu erzeugen, empfehlen wir die folgenden Methoden.

  • Auf Linux-basierten Computern können Sie diesen Schlüssel erzeugen, indem Sie den folgenden OpenSSL-Befehl ausführen.

    openssl genrsa -out pivotal_key_file_name.pem 2048

    Exportieren Sie dann den öffentlichen RSA-Schlüssel des Paares in eine Datei. Der öffentliche Schlüssel wird zum Wert von CHEF_AUTOMATE_PIVOTAL_KEY.

    openssl rsa -in pivotal_key_file_name.pem -pubout -out public.pem -outform PEM
  • Auf Windows-basierten Computern können Sie das PuTTYgen-Hilfsprogramm verwenden, um ein base64-kodiertes privates RSA-Schlüsselpaar zu generieren. Weitere Informationen finden Sie unter PuTTYgen – Key Generator for PuTTY on Windows auf SSH.com.

Erstellen eines Chef Automate-Servers in AWS CloudFormation

In diesem Abschnitt wird beschrieben, wie Sie mithilfe einer AWS CloudFormation Vorlage einen Stack erstellen, der einen AWS OpsWorks for Chef Automate Server erstellt. Sie können dies tun, indem Sie die AWS CloudFormation Konsole oder die verwenden AWS CLI. Es steht eine AWS CloudFormation Beispielvorlage zur Verfügung, mit der Sie einen AWS OpsWorks for Chef Automate Server-Stack erstellen können. Achten Sie darauf, die Beispielvorlage mit Ihrem eigenen Servernamen, Ihren IAM-Rollen, Ihrem Instanzprofil, Ihrer Serverbeschreibung, der Anzahl der Backup-Aufbewahrungsfristen, den Wartungsoptionen und optionalen Tags zu aktualisieren. Wenn Ihr Server eine benutzerdefinierte Domain verwendet, müssen Sie Werte für die CustomPrivateKey Parameter CustomDomainCustomCertificate, und in Ihrer AWS CloudFormation Vorlage angeben. Sie können die Attribute CHEF_AUTOMATE_ADMIN_PASSWORD und die CHEF_AUTOMATE_PIVOTAL_KEY Engine-Attribute und ihre Werte in der AWS CloudFormation Vorlage angeben, oder Sie können nur die Attribute angeben und dann Werte für die Attribute im Assistenten oder create-stack Befehl „Stack AWS CloudFormation erstellen“ angeben. Weitere Informationen zu diesen Attributen finden Sie unter Erstellen Sie einen Chef Automate-Server im AWS Management Console im Abschnitt "Erste Schritte" in diesem Handbuch.

Erstellen eines Chef Automate-Servers mit 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 die Beispielvorlage verwenden, wählen Sie unter Voraussetzung — AWS CloudFormation Vorlage vorbereiten die Option 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, die einen Chef Automate-Server erstellt. Suchen Sie nach Ihrer Vorlagendatei und klicken Sie dann auf Next (Weiter).

    Eine AWS CloudFormation Vorlage kann entweder im YAML- oder 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. Fügen Sie im Bereich Parameters (Parameter) die Werte ein, die Sie unter Voraussetzungen erstellt haben. Geben Sie unter Password (Passwort) das Passwort ein.

    Fügen Sie den Inhalt der RSA-Schlüsseldatei ein. PivotalKey In der AWS CloudFormation Konsole müssen Sie am Ende jeder Zeile des Schlüsselwerts Zeilenumbrüche (\n) hinzufügen, wie im folgenden Screenshot gezeigt. Wählen Sie Weiter aus.

    Geben Sie die Seite mit den Stapeldetails in an CloudFormation
  6. Auf der Seite „Stack-Optionen konfigurieren“ 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 AWS CloudFormation Stack-Optionen einrichten.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 stack (Stack 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 Server-Erstellung abgeschlossen ist, ist Ihr Chef Automate-Server auf der AWS OpsWorks for Chef Automate -Startseite verfügbar und weist den Status online auf. Erstellen Sie auf der Seite "Properties (Eigenschaften)" des Servers ein neues Starter Kit und die Anmeldeinformationen für das Chef Automate-Dashboard. Nachdem sich der Server online befindet, ist das Chef Automate-Dashboard 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-Verwaltungstool Ihres Unternehmens einen CNAME-Eintrag, der Ihre benutzerdefinierte Domain dem Endpunkt zuordnet, der AWS OpsWorks for Chef Automate automatisch für den Server generiert wurde. Sie können den Server erst verwalten oder erst dann eine Verbindung mit dem Chef Automate-Dashboard für den Server herstellen, nachdem Sie den generierten Endpunkt Ihrem benutzerdefinierten Domänenwert zugeordnet haben.

    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 eines Chef Automate-Servers mit 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 Voraussetzungen für das Erstellen eines AWS OpsWorks for Chef Automate -Servers erfüllt 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 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 AWS OpsWorks for Chef Automate Server, 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 Ihr Chef Automate-Server. Der Chef Automate-Servername 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 Chef lauten die zur Erstellung eines Servers genutzten, vom Benutzer angegebenen Engine-Attribute „CHEF_AUTOMATE_PIVOTAL_KEY“, ein base64-kodierter öffentlicher RSA-Schlüssel, den Sie mit Dienstprogrammen wie unter „Voraussetzungen“ beschrieben erstellen, sowie „CHEF_AUTOMATE_ADMIN_PASSWORD“, ein Passwort mit 8 bis 32 Zeichen, das Sie erstellen. Weitere Informationen zu CHEF_AUTOMATE_ADMIN_PASSWORDfinden Sie unter Erstellen Sie einen Chef Automate-Server mit dem AWS CLI. Sie können einen Zeiger zu der PEM-Datei angeben, die Ihren pivotalen Schlüssel als Wert des Parameters PivotalKey enthält, wie im Beispiel gezeigt. Wenn die Werte für CHEF_AUTOMATE_ADMIN_PASSWORD und nicht in Ihrer Vorlage angegeben CHEF_AUTOMATE_PIVOTAL_KEY sind, müssen Sie die Werte in Ihrem AWS CLI Befehl angeben.

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

    Nachfolgend sehen Sie ein Beispiel mit Beispielwerten für die Attribute „CHEF_AUTOMATE_ADMIN_PASSWORD“ und „CHEF_AUTOMATE_PIVOTAL_KEY“. Führen Sie einen ähnlichen Befehl aus, wenn Sie in Ihrer AWS CloudFormation Vorlage keine Werte für diese Attribute angegeben haben.

    aws cloudformation create-stack --stack-name "OpsWorksCMChefServerStack" --template-body file://opsworkscm-server.yaml --parameters ParameterKey=PivotalKey,ParameterValue="$(openssl rsa -in "pivotalKey.pem" -pubout)" ParameterKey=Password,ParameterValue="SuPer\$ecret890"
  4. Wenn die Stack-Erstellung abgeschlossen ist, öffnen Sie die Eigenschaftenseite für den neuen Server in der AWS OpsWorks for Chef Automate Konsole und laden Sie ein Starterkit herunter. Wenn Sie ein neues Starter Kit herunterladen, wird das Administratorpasswort des Chef Automate-Dashboards zurückgesetzt.

  5. Wenn Ihr Server eine benutzerdefinierte Domäne, ein Zertifikat und einen privaten Schlüssel verwendet, führen Sie die Schritte für die Konfiguration von knife.rb in (Optional) Konfigurieren von knife zur Verwendung mit einer benutzerdefinierten Domäne aus und fahren Sie mit Schritt 7 fort.

    Wenn Sie keine benutzerdefinierte Domain verwenden, laden Sie das Zertifikat der Root-Zertifizierungsstelle (CA) vom folgenden Amazon S3 S3-Bucket-Speicherort herunter:https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-ca-2020-root.pem. Speichern Sie die Zertifikatsdatei an einem sicheren, aber praktischen Speicherort. Dieses Zertifikat ist erforderlich, um knife.rb im nächsten Schritt zu konfigurieren.

  6. Um die knife-Befehle auf dem neuen Server zu verwenden, aktualisieren Sie die Einstellungen der Chef-Konfigurationsdatei knife.rb. Ein Beispiel für die Datei knife.rb ist im Starter Kit enthalten. Das folgende Beispiel zeigt, wie Sie knife.rb auf einem Server einrichten, der keine benutzerdefinierte Domäne verwendet. Wenn Sie eine benutzerdefinierte Domäne verwenden, finden Sie unter (Optional) Konfigurieren von knife zur Verwendung mit einer benutzerdefinierten Domäne knife-Konfigurationsanweisungen.

    • Ersetzen Sie ENDPOINT mit dem Endpunktwert des Servers. Dies ist Teil der Ausgabe des Stack-Erstellungsvorgangs. Sie erhalten den Endpunkt, indem Sie den folgenden Befehl ausführen.

      aws cloudformation describe-stacks --stack-name stack_name
    • Ersetzen Sie key_pair_file.pem in der client_key-Konfiguration durch den Namen der PEM-Datei, die den CHEF_AUTOMATE_PIVOTAL_KEY enthält, den Sie bei der Erstellung Ihres Servers verwendet haben.

      base_dir = File.join(File.dirname(File.expand_path(__FILE__)), '..') log_level :info log_location STDOUT node_name 'pivotal' client_key File.join(base_dir, '.chef', 'key_pair_file.pem') syntax_check_cache_path File.join(base_dir, '.chef', 'syntax_check_cache') cookbook_path [File.join(base_dir, 'cookbooks')] chef_server_url 'ENDPOINT/organizations/default' ssl_ca_file File.join(base_dir, '.chef', 'ca_certs', 'opsworks-cm-ca-2020-root.pem') trusted_certs_dir File.join(base_dir, '.chef', 'ca_certs')
  7. Fahren Sie nach Abschluss der Servererstellung mit Konfigurieren des Chef-Servers mit dem Starter Kit fort. 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 Problembehebung im AWS CloudFormation Benutzerhandbuch.