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.
Optional: AWS CodeCommit Als Puppet R10k Remote Control Repository verwenden
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
Sie können ein neues Repository erstellen AWS CodeCommit, indem Sie es verwenden und es als Ihr R10k-Fernsteuerungs-Repository verwenden. Um die Schritte in diesem Abschnitt ausführen und mit einem CodeCommit Repository arbeiten zu können, benötigen Sie einen Benutzer, der über die in der AWSCodeCommitReadOnlyverwalteten Richtlinie vorgesehenen Berechtigungen verfügt.
Themen
Schritt 1: CodeCommit Als Repository mit einem HTTPS-Verbindungstyp verwenden
-
Erstellen Sie in der CodeCommit Konsole ein neues Repository.
-
Wählen Sie Überspringen, um die Einrichtung eines Amazon SNS SNS-Themas zu überspringen.
-
Wählen Sie auf der Seite Code die Option Connect to your repository (Mit Repository verbinden) aus.
-
Wählen Sie auf der Seite Connect to your repository (Mit Repository verbinden) die Option HTTPS als Connection type (Verbindungstyp) aus. Wählen Sie anschließend Ihr Betriebssystem aus.
Im Bereich Steps to clone your repository (Repository schrittweise klonen) sollte Ihre
git clone
-URL etwa wie folgt aussehen:https://git-codecommit.
. Kopieren Sie diese URL an einen leicht zugänglichen Speicherort für die Einrichtung des Puppet-Servers.region
.amazonaws.com/v1/repos/control-repo -
Schließen Sie die Seite Mit Ihrem Repository verbinden und kehren Sie zum Server-Setup OpsWorks für Puppet Enterprise zurück.
-
Fügen Sie die URL, die Sie in Schritt 4 im Textfeld r10k remote kopiert haben, auf der Seite Configure credentials (Anmeldeinformationen konfigurieren) des Einrichtungsassistenten für den Puppet-Master ein. Tragen Sie nichts in das Feld r10k private key (r10k-Privatschlüssel) ein. Schließen Sie das Erstellen und Starten Ihres Puppet-Masters ab.
-
Fügen Sie in der IAM-Konsole die AWSCodeCommitReadOnlyRichtlinie der Instanzprofilrolle Ihres Puppet-Masters hinzu. Weitere Informationen zum Hinzufügen einer Berechtigungsrichtlinie zu einer IAM-Rolle finden Sie unter Hinzufügen von IAM-Identitätsberechtigungen (Konsole) im IAM-Benutzerhandbuch.
-
Folgen Sie den Schritten unter Einrichtung für HTTPS-Benutzer mithilfe von Git-Anmeldeinformationen im AWS CodeCommit Benutzerhandbuch, um Ihre vorhandenen
control-repo
Inhalte in das neue CodeCommit Repository zu übertragen. -
Jetzt können Sie weiterhin durcharbeiten. Befolgen Sie hierzu die Anweisungen in Konfigurieren des Puppet-Masters mit dem Starter Kit und verwenden Sie das Starter Kit, um den Code Ihrem Puppet-Master bereitzustellen. Nachfolgend finden Sie einen Beispielbefehl.
puppet-code deploy --all --wait --config-file .config/puppet-code.conf
Schritt 2: (Optional) CodeCommit Als Repository mit einem SSH-Verbindungstyp verwenden
Sie können ein AWS CodeCommit R10k-Remotesteuerungs-Repository für die Verwendung der SSH-Schlüsselpaar-Authentifizierung konfigurieren. Die folgenden Voraussetzungen müssen vervollständigt werden, bevor Sie mit diesem Vorgang beginnen.
-
Sie müssen Ihren OpsWorks for Puppet Enterprise-Server mit einem HTTPS-Steuerungs-Repository gestartet haben, wie im vorherigen Abschnitt beschrieben,. Schritt 1: CodeCommit Als Repository mit einem HTTPS-Verbindungstyp verwenden Dies muss zuerst abgeschlossen werden, damit Sie die erforderliche Konfiguration auf den Puppet-Master hochladen können.
-
Stellen Sie sicher, dass Sie einen Benutzer haben, dem die AWSCodeCommitReadOnlyverwaltete Richtlinie angehängt ist. Weitere Informationen zum Erstellen eines Benutzers finden Sie unter Erstellen eines IAM-Benutzers in Ihrem AWS Konto im IAM-Benutzerhandbuch.
-
Erstellen und verknüpfen Sie einen SSH-Schlüssel mit Ihrem -Benutzer. Folgen Sie den Anweisungen zum Erstellen eines öffentlichen/privaten key pair mit
ssh-keygen
in Schritt 3: Anmeldeinformationen unter Linux, macOS oder Unix konfigurieren im AWS CodeCommit Benutzerhandbuch.
-
Führen Sie in einer AWS CLI Sitzung den folgenden Befehl aus, um den Inhalt der privaten Schlüsseldatei in den AWS Systems Manager Parameter Store hochzuladen. Ihr OpsWorks for Puppet Enterprise-Server fragt diesen Parameter ab, um eine erforderliche Zertifikatsdatei abzurufen. Ersetzen Sie die
-Datei mit dem privaten Schlüssel
durch den Pfad zu Ihrer Datei mit dem privaten SSH-Schlüssel.aws ssm put-parameter --name puppet_user_pk --type String --value "`cat
private_key_file
`" -
Fügen Sie Ihrem Puppet-Master Systems Manager Parameter Store-Berechtigungen hinzu.
Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie im linken Navigationsbereich Roles aus.
-
Wählen Sie „Zwei Rollen“ aws-opsworks-cm-ec.
-
Wählen Sie auf der Registerkarte Permissions (Berechtigungen) die Option Attach policies (Richtlinien anfügen) aus.
-
Geben Sie im Suchfeld
AmazonSSMManagedInstanceCore
ein. -
Wählen Sie in den Suchergebnissen ManagedInstanceCoreAmazonSSM aus.
-
Wählen Sie Richtlinie anfügen aus.
-
Erstellen Sie das Manifest für die Konfigurationsdatei. Wenn Sie das
control-repo-example
Repository, welches Sie im Starter Kit finden, verwenden, erstellen Sie die folgenden Dateien an den Orten aus dem Beispiel-Repository. Andernfalls erstellen Sie sie gemäß Ihrer eigenen Steuerungs-Repository-Struktur. Ersetzen Sie denIAM_USER_SSH_KEY
-Wert mit der SSH-Schlüssel-ID, die Sie als Voraussetzung für diesen Ablauf erstellt haben.control-repo-example/site/profile/manifests/codecommit.pp
class profile::codecommit { $configfile = @(CONFIGFILE) Host git-codecommit.*.amazonaws.com User
IAM_USER_SSH_KEY
IdentityFile /etc/puppetlabs/puppetserver/ssh/codecommit.rsa StrictHostKeyChecking=no | CONFIGFILE # ReplaceREGION
with the correct region for your server. $command = @(COMMAND) aws ssm get-parameters \ --regionREGION
\ --names puppet_user_pk \ --query "Parameters[0].Value" \ --output text >| /etc/puppetlabs/puppetserver/ssh/codecommit.rsa | COMMAND $dirs = [ '/opt/puppetlabs/server/data/puppetserver/.ssh', '/etc/puppetlabs/puppetserver/ssh', ] file { $dirs: ensure => 'directory', group => 'pe-puppet', owner => 'pe-puppet', mode => '0750', } file { 'ssh-config': path => '/opt/puppetlabs/server/data/puppetserver/.ssh/config', require => File[$dirs], content => $configfile, group => 'pe-puppet', owner => 'pe-puppet', mode => '0600', } exec { 'download-codecommit-certificate': command => $command, require => File[$dirs], creates => '/etc/puppetlabs/puppetserver/ssh/codecommit.rsa', path => '/bin', cwd => '/etc/puppetlabs', } file { 'private-key-permissions': subscribe => Exec['download-codecommit-certificate'], path => '/etc/puppetlabs/puppetserver/ssh/codecommit.rsa', group => 'pe-puppet', owner => 'pe-puppet', mode => '0600', } } -
Pushen Sie Ihr Kontroll-Repository auf. CodeCommit Führen Sie die folgenden Befehle aus, um die neue Manifestdatei in Ihr Repository zu schieben.
git add ./site/profile/manifests/codecommit.pp git commit -m 'Configuring for SSH connection to CodeCommit' git push origin production
-
Stellen Sie die Manifestdateien bereit. Führen Sie die folgenden Befehle aus, um die aktualisierte Konfiguration auf Ihrem OpsWorks for Puppet Enterprise-Server bereitzustellen. Ersetzen Sie
STARTER_KIT_DIRECTORY
mit dem Pfad zu Ihren Puppet-Konfigurationsdateien.cd
STARTER_KIT_DIRECTORY
puppet-access login --config-file .config/puppetlabs/client-tools/puppet-access.conf puppet-code deploy --all --wait \ --config-file .config/puppet-code.conf \ --token-file .config/puppetlabs/token -
Aktualisieren Sie die Klassifizierung des OpsWorks for Puppet Enterprise-Servers. Standardmäßig wird der Puppet-Agent alle 30 Minuten auf Knoten (einschließlich dem Master) ausgeführt. Um Wartezeiten zu vermeiden, können Sie den Agenten manuell auf dem Puppet-Master ausführen. Das Ausführen des Agent nimmt die neue Manifestdatei auf.
-
Anmeldung bei der Puppet Enterprise-Konsole.
-
Wählen Sie Klassifizierung.
-
Erweitern Sie PE Infrastructure.
-
Wählen Sie PE-Master.
-
Geben Sie auf der Registerkarte Konfiguration
profile::codecommit
unter Neue Klasse hinzufügen ein.Die neue Klasse
profile::codecommit
wird möglicherweise nicht sofort nach der Ausführung vonpuppet-code deploy
angezeigt. Wählen Sie Aktualisieren auf dieser Seite, wenn es nicht angezeigt wird. -
Wählen Sie Klasse hinzufügen und wählen Sie dann Commit 1 ändern.
-
Führen Sie den Puppet-Agent manuell auf dem OpsWorks for Puppet Enterprise-Server aus. Wählen Sie Knoten, wählen Sie Ihren Server aus der Liste, wählen Sie Run Puppet, und wählen Sie dann Run.
-
-
Ändern Sie in der Puppet-Enterprise-Konsole die Repository-URL auf die Verwendung von SSH anstelle von HTTPS. Die Konfiguration, die Sie in diesen Schritten vornehmen, wird während des Sicherungs- und Wiederherstellungsvorgangs OpsWorks für Puppet Enterprise gespeichert, sodass Sie die Repository-Konfiguration nach Wartungsarbeiten nicht manuell ändern müssen.
-
Wählen Sie Klassifizierung.
-
Erweitern Sie PE Infrastructure.
-
Wählen Sie PE-Master.
-
Klicken Sie in der Konfigurierungs-Registerkarte auf
puppet_enterprise::profile::master
-Klasse. -
Wählen Sie Bearbeiten neben dem
r10k_remote
-Parameter. -
Ersetzen Sie die HTTPS-URL durch die SSH-URL für Ihr Repository und wählen Sie dann Commit 1 ändern.
-
Führen Sie den Puppet-Agent manuell auf dem OpsWorks for Puppet Enterprise-Server aus. Wählen Sie Knoten, wählen Sie Ihren Server aus der Liste, wählen Sie Run Puppet, und wählen Sie dann Run.
-