

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.

# So migrieren Sie einen OpsWorks for Puppet Enterprise-Server zu Amazon Elastic Compute Cloud (Amazon EC2)
<a name="opspup-migrate-ec2"></a>

**Wichtig**  
Der AWS OpsWorks for Puppet Enterprise Service hat am 31. März 2024 das Ende seiner Nutzungsdauer 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](https://repost.aws/) oder über den [AWS Premium-Support](https://aws.amazon.com/support). 

Die folgenden Anweisungen beschreiben, wie Sie bestehende Puppet Enterprise-Server zu Amazon migrieren EC2, falls Sie Puppet Enterprise weiterhin für Ihre Konfigurationsmanagement-Anforderungen außerhalb von verwenden möchten. OpsWorks

**Topics**
+ [Schritt 1: Wenden Sie sich an Puppet, um eine Lizenz zu erwerben](#opspup-migrate-ec2-contact)
+ [Schritt 2: Informieren Sie sich über Ihren Server OpsWorks für Puppet Enterprise](#opspup-migrate-ec2-details)
+ [Schritt 3: Erstellen Sie ein Backup Ihres OpsWorks for Puppet Enterprise Servers](#opspup-migrate-ec2-backup)
+ [Schritt 4: Starten Sie eine neue Instanz EC2](#opspup-migrate-ec2-launch)
+ [Schritt 5: Installieren Sie Puppet Enterprise auf der neuen Instanz EC2](#opspup-migrate-ec2-install-puppet)
+ [Schritt 6: Stellen Sie das Backup auf der neuen EC2 Instanz wieder her](#opspup-migrate-ec2-restore)
+ [Schritt 7: Konfigurieren Sie Ihre Puppet-Lizenz](#opspup-migrate-ec2-configure-license)
+ [Schritt 8: Migrieren Sie Ihre Knoten](#opspup-migrate-ec2-nodes)
+ [Schritt 9: Löschen Sie Ihren Server OpsWorks für Puppet Enterprise](#opspup-migrate-ec2-delete-server)

## Schritt 1: Wenden Sie sich an Puppet, um eine Lizenz zu erwerben
<a name="opspup-migrate-ec2-contact"></a>

 Wenn Sie Ihre Server zu migrieren EC2, wird die neue Instanz nicht mit einer Puppet-Lizenz geliefert. Folgen Sie den Anweisungen auf der [Puppet-Website](https://www.puppet.com/docs/pe/2021.1/purchasing_and_installing_a_license_key.html), um einen Lizenzschlüssel zu erwerben.

## Schritt 2: Informieren Sie sich über Ihren Server OpsWorks für Puppet Enterprise
<a name="opspup-migrate-ec2-details"></a>

 Suchen und speichern Sie die Werte für Ihren Server OpsWorks für Puppet Enterprise. 

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

   Kopieren Sie den Namen des vorhandenen Amazon S3 S3-Buckets für Ihren OpsWorks for Puppet Enterprise-Server. Der Bucket-Name hat das folgende Format: `aws-opsworks-cm-server-name-random-string`

1. Führen Sie den **aws opsworks-cm describe-servers** Befehl aus, um die Konfiguration für Ihren Server OpsWorks für Puppet Enterprise abzurufen.

   ```
   aws opsworks-cm describe-servers \
      --server-name server-name \
      --region region
   ```

   Speichern Sie die Werte für `InstanceType``KeyPair`,`SubnetIds`, `SecurityGroupIds``InstanceProfileArn`, und `Endpoint` aus der Antwort.

1. Verwenden Sie SSH, um eine Verbindung zum vorhandenen Server OpsWorks für Puppet Enterprise herzustellen. Sie können den Sitzungsmanager anstelle von SSH in der EC2 Konsole verwenden.

   Führen Sie den folgenden Befehl aus.

   ```
   rpm -qa | grep opsworks-cm-puppet-enterprise | cut -d '-' -f 5
   ```

   Die Antwort enthält die Puppet Enterprise-Version (z. B. 2019.8.10). Speichern Sie diesen Wert.

Für den nächsten Schritt verwenden Sie SSH oder Session Manager.

## Schritt 3: Erstellen Sie ein Backup Ihres OpsWorks for Puppet Enterprise Servers
<a name="opspup-migrate-ec2-backup"></a>

1.  Führen Sie die folgenden Befehle aus, um ein lokales Backup zu erstellen. 

   ```
   mkdir /tmp/puppet-backup/
   sudo /opt/puppetlabs/bin/puppet-backup create --dir=/tmp/puppet-backup/
   ```

1.  Führen Sie den folgenden Befehl aus, um den Namen für das Backup zu speichern. 

   ```
   ls /tmp/puppet-backup/
   PUPPET_BACKUP=$(ls /tmp/puppet-backup/)
   ```

1.  Führen Sie den folgenden Befehl aus, um Ihr Backup in einen S3-Bucket hochzuladen. *S3-Bucket*Ersetzen Sie ihn durch den Wert aus Schritt 1 unter[Schritt 2: Informieren Sie sich über Ihren Server OpsWorks für Puppet Enterprise](#opspup-migrate-ec2-details). 

   ```
   aws s3 cp /tmp/puppet-backup/PUPPET_BACKUP s3://S3_Bucket/tmp/puppet-backup/
   ```

   Speichern Sie die `S3_BUCKET` Werte `PUPPET_BACKUP` und. Sie werden diese Werte in die neue EC2 Instanz importieren.

Sie können die SSH- oder Session Manager-Sitzung beenden.

## Schritt 4: Starten Sie eine neue Instanz EC2
<a name="opspup-migrate-ec2-launch"></a>

[Starten Sie eine neue EC2 Instanz](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) von der EC2 Konsole aus und [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)verwenden Sie dabei dieselbe Konfiguration wie der OpsWorks for Puppet Enterprise-Server.


| Parametername | Wert | 
| --- | --- | 
|  **OS**  |  Amazon Linux 2  | 
|  **Instance-Typ**  |  Der `InstanceType` Wert aus Schritt 2 von. [Schritt 2: Informieren Sie sich über Ihren Server OpsWorks für Puppet Enterprise](#opspup-migrate-ec2-details)   | 
|  **Schlüsselpaarname**  |  Der `KeyPair` Wert aus Schritt 2 von[Schritt 2: Informieren Sie sich über Ihren Server OpsWorks für Puppet Enterprise](#opspup-migrate-ec2-details).   | 
|  **VPC**  |  Die VPC des `SubnetIds` aus Schritt 2 von[Schritt 2: Informieren Sie sich über Ihren Server OpsWorks für Puppet Enterprise](#opspup-migrate-ec2-details).  | 
|  **Subnetz**  |  Die `SubnetIds` aus Schritt 2 von. [Schritt 2: Informieren Sie sich über Ihren Server OpsWorks für Puppet Enterprise](#opspup-migrate-ec2-details)  | 
|  **Wählen Sie eine bestehende Sicherheitsgruppe** aus -> **Allgemeine Sicherheitsgruppen**   |  Das `SecurityGroupIds` aus Schritt 2 von[Schritt 2: Informieren Sie sich über Ihren Server OpsWorks für Puppet Enterprise](#opspup-migrate-ec2-details).  | 
|  **Speicherung**  |  Mindestens 120 GB.  | 
|  **IAM-Instanzprofil**  |  Das `InstanceProfileArn` aus Schritt 2 von. [Schritt 2: Informieren Sie sich über Ihren Server OpsWorks für Puppet Enterprise](#opspup-migrate-ec2-details)  | 

Wenn Sie eine Elastic IP erstellen und an die neue Instance anhängen möchten, kopieren Sie die Instance-ID der neuen Instance und führen Sie die Schritte unter aus[(Optional) Schritt 4.1: Elastic IP erstellen und anhängen](#opspup-migrate-ec2-elastic-ip).

### (Optional) Schritt 4.1: Elastic IP erstellen und anhängen
<a name="opspup-migrate-ec2-elastic-ip"></a>

Durch Verwenden einer Elastic IP-Adresse können Sie Ausfälle bei Instances oder Software maskieren. Weisen Sie dazu die Adresse einer anderen Instance in Ihrem Konto neu zu.

**Um eine Elastic IP-Adresse zu erstellen und zuzuordnen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die EC2 Amazon-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie **Elastic IPs**.

1. Wählen Sie **Elastic-IP-Adresse zuweisen** aus.

1. Wählen Sie auf der Seite **Elastic IP Address zuweisen die Option **Allocate**** aus. Dadurch wird eine öffentliche IPv4 Adresse erstellt.

1. Kopieren Sie die **zugewiesene IPv4 Adresse**.

1. Wählen Sie unter **Aktionen** die Option **Elastic IP Address zuordnen** aus.

1. Geben Sie zum **Beispiel** die Instance-ID für die neue Instance ein.

1. Wählen Sie **Associate** aus.

## Schritt 5: Installieren Sie Puppet Enterprise auf der neuen Instanz EC2
<a name="opspup-migrate-ec2-install-puppet"></a>

Verwenden Sie SSH, um eine Verbindung zur neuen EC2 Instanz herzustellen. Sie können den Sitzungsmanager anstelle von SSH in der EC2 Konsole verwenden.

```
# switch to sudo user
sudo -i

# Setup environment variables
PUPPET_ENTERPRISE_VERSION=Puppet Enterprise version from step 2.3
hostname Public IPv4 DNS or Custom Domain if available

# Install Puppet Enterprise
curl -JLO https://pm.puppetlabs.com/puppet-enterprise/$PUPPET_ENTERPRISE_VERSION/puppet-enterprise-$PUPPET_ENTERPRISE_VERSION-el-7-x86_64.tar.gz
tar -xf puppet-enterprise-$PUPPET_ENTERPRISE_VERSION-el-7-x86_64.tar.gz

./puppet-enterprise-$PUPPET_ENTERPRISE_VERSION-el-7-x86_64/puppet-enterprise-installer
```

Sie können Ihre SSH- oder Session Manager-Sitzung für den nächsten Schritt geöffnet lassen.

## Schritt 6: Stellen Sie das Backup auf der neuen EC2 Instanz wieder her
<a name="opspup-migrate-ec2-restore"></a>

```
# Setup environment variables
S3_BUCKET=S3 bucket name from step 2.1
PUPPET_BACKUP=Puppet backup file name from step 3.2

# download backup
aws s3 cp s3://$S3_BUCKET/tmp/puppet-backup/$PUPPET_BACKUP

# Prepare Puppet Enterprise backup to remove OpsWorks metadata
mkdir output
tar -xf $PUPPET_BACKUP -C output/
cd output/
rm -f opt/puppetlabs/facter/facts.d/opsworks.json
tar -cf ../$PUPPET_BACKUP *
cd ..
rm -rf output/

# Restore from backup
PATH=$PATH:/opt/puppetlabs/puppet/bin/
puppet-backup restore $PUPPET_BACKUP
puppet agent -t
```

Sie können auf die Puppet-Konsole für die wiederhergestellte EC2 Instanz unter https://*Public IPv4 of the instance*zugreifen. Sie finden den öffentlichen IPv4 DNS auf der Detailseite der Instanz in der EC2 Konsole. Die Anmeldeinformationen sind dieselben Anmeldeinformationen, die Sie für den Zugriff auf Ihren OpsWorks for Puppet Enterprise-Server verwenden.

Sie können Ihre SSH- oder Session Manager-Sitzung für den nächsten Schritt geöffnet lassen.

## Schritt 7: Konfigurieren Sie Ihre Puppet-Lizenz
<a name="opspup-migrate-ec2-configure-license"></a>

Folgen Sie den Schritten auf der [Puppet-Website](https://www.puppet.com/docs/pe/2021.1/purchasing_and_installing_a_license_key.html#install_a_license_key), um Ihre Lizenz zu konfigurieren.

Sie können Ihre SSH- oder Session Manager-Sitzung für den nächsten Schritt geöffnet lassen.

## Schritt 8: Migrieren Sie Ihre Knoten
<a name="opspup-migrate-ec2-nodes"></a>

Es gibt zwei Arten von Domänen, die von den OpsWorks vier Puppet Enterprise-Servern unterstützt werden:
+ BYODC (Bringen Sie Ihre eigene Domain und Ihr eigenes Zertifikat mit)
+ OpsWorks Endpunkt

### Schritt 8.1: Für BYODC (Bringen Sie Ihre eigene Domain und Ihr eigenes Zertifikat mit)
<a name="opspup-migrate-ec2-nodes-byodc"></a>

Für diese Knoten müssen Sie lediglich die benutzerdefinierte Domain in Ihrem DNS-Anbieter auf das öffentliche IPv4 DNS oder die öffentliche IPv4 Adresse der neuen EC2 Instanz verweisen.

### Schritt 8.2: Für den OpsWorks Endpunkt
<a name="opspup-migrate-ec2-nodes-endpoint"></a>

Für einen OpsWorks Endpunkt empfiehlt die Puppet-Dokumentation, den Puppet-Agent auf dem Knoten zu [deinstallieren](https://www.puppet.com/docs/pe/2019.8/uninstalling.html#uninstall_agents) und dann den Puppet-Agent mithilfe des neu wiederhergestellten Puppet Enterprise-Servers zu [installieren](https://www.puppet.com/docs/pe/2019.8/installing_agents.html).

**Anmerkung**  
 Puppet verfügt zwar nicht über ein automatisiertes Verfahren zum Verschieben eines Agentenknotens, aber es gibt einige Module, die Mitglieder der Puppet-Community auf der [Puppet Forge-Website](https://forge.puppet.com/) veröffentlicht haben, um eine automatisierte Knotenmigration durchzuführen. Zu diesen Modulen gehören das [https://forge.puppet.com/modules/coreymbe/pe_migrate/readme](https://forge.puppet.com/modules/coreymbe/pe_migrate/readme)Modul und ein zweites [Migrationsmodul eines anderen](https://forge.puppet.com/modules/ffalor/migrate) Autors. Die Module auf der Puppet Forge-Website **werden von Puppet nicht unterstützt**, OpsWorks sofern nicht ausdrücklich im Forge-Modul darauf hingewiesen wird. Wir empfehlen, mit diesen Modulen Vorsicht walten zu lassen und sie zu testen, bevor sie allgemein verwendet werden. 

In den folgenden Abschnitten werden die Schritte zur Deinstallation und Neuinstallation von Puppet-Agenten auf Linux-Instances beschrieben.

**Topics**
+ [Schritt 8.2.1: Kopieren Sie das Deinstallationsprogramm vom Puppet-Server](#opspup-migrate-ec2-uninstall-copy)
+ [Schritt 8.2.2: Laden Sie das Deinstallationsprogramm herunter und führen Sie es auf einem Knoten aus](#opspup-migrate-ec2-uninstall-download)
+ [Schritt 8.2.3: Installieren Sie den Puppet-Agent erneut auf einem Knoten](#opspup-migrate-ec2-reinstall-agent)

#### Schritt 8.2.1: Kopieren Sie das Deinstallationsprogramm vom Puppet-Server
<a name="opspup-migrate-ec2-uninstall-copy"></a>

Stellen Sie vor der Deinstallation des Agenten sicher, dass das IAM-Instanzprofil des Knotens S3-Berechtigungen bereitstellt. ReadOnly 

Führen Sie den folgenden Befehl aus, um das Deinstallationsprogramm vom Puppet-Server in den S3-Bucket zu kopieren.

```
aws s3 cp \
   /opt/puppetlabs/bin/puppet-enterprise-uninstaller \
   s3://$S3_BUCKET/tmp/puppet-enterprise-uninstaller
```

Nachdem Sie den Befehl ausgeführt haben, können Sie sich von der SSH- oder Session Manager-Sitzung des Puppet-Servers abmelden.

#### Schritt 8.2.2: Laden Sie das Deinstallationsprogramm herunter und führen Sie es auf einem Knoten aus
<a name="opspup-migrate-ec2-uninstall-download"></a>

Verwenden Sie SSH, um eine Verbindung zum Knoten herzustellen. Sie können Session Manager in der EC2 Konsole anstelle von SSH verwenden, wenn es sich bei dem Knoten um eine EC2 Instanz handelt.

```
sudo -i

S3_BUCKET=aws-opsworks-cm-abcdefg-uuhtyn6messn
aws s3 cp s3://$S3_BUCKET/tmp/puppet-enterprise-uninstaller /opt/puppetlabs/bin/
chmod 700 /opt/puppetlabs/bin/puppet-enterprise-uninstaller
/opt/puppetlabs/bin/puppet-enterprise-uninstaller
```

Sie können Ihre SSH- oder Session Manager-Sitzung für den nächsten Schritt geöffnet lassen.

#### Schritt 8.2.3: Installieren Sie den Puppet-Agent erneut auf einem Knoten
<a name="opspup-migrate-ec2-reinstall-agent"></a>

Gehen Sie wie folgt vor, um den Puppet-Agent auf einem Knoten neu zu installieren.

**Topics**
+ [Schritt 8.2.3.1: Installieren Sie den Puppet-Agent mit der richtigen Konfiguration](#w2ab1b7c41c23b9c15b7)
+ [Schritt 8.2.3.2: Akzeptieren Sie das Zertifikat in der Puppet-Konsole](#w2ab1b7c41c23b9c15b9)
+ [Schritt 8.2.3.3: Checken Sie den Knoten in den Puppet Enterprise-Server ein](#w2ab1b7c41c23b9c15c11)

##### Schritt 8.2.3.1: Installieren Sie den Puppet-Agent mit der richtigen Konfiguration
<a name="w2ab1b7c41c23b9c15b7"></a>

Führen Sie den folgenden Befehl aus, um den Puppet-Agent zu installieren.

```
curl -k https://Public_IPv4_DNS:8140/packages/current/install.bash | bash
```

Sie können Ihre SSH- oder Session Manager-Sitzung für Schritt 8.2.2.3 geöffnet lassen.

##### Schritt 8.2.3.2: Akzeptieren Sie das Zertifikat in der Puppet-Konsole
<a name="w2ab1b7c41c23b9c15b9"></a>

1. Gehen Sie zur Konsole des Puppet-Servers unter. `https://Public_IPv4_DNS`

1. Wählen Sie **Zertifikate** und dann **Unsignierte** Zertifikate aus.

1. Wählen Sie **Accept**, um das Zertifikat des Puppet-Agenten zu signieren.

##### Schritt 8.2.3.3: Checken Sie den Knoten in den Puppet Enterprise-Server ein
<a name="w2ab1b7c41c23b9c15c11"></a>

Führen Sie den folgenden Befehl auf dem Knoten aus, um ihn in den Server einzuchecken.

```
puppet agent -t
```

Der Knoten sollte jetzt in der Konsole des Puppet-Servers sichtbar sein.

## Schritt 9: Löschen Sie Ihren Server OpsWorks für Puppet Enterprise
<a name="opspup-migrate-ec2-delete-server"></a>

Sie können entweder die OpsWorks Konsole oder AWS CLI zum Löschen Ihres OpsWorks for Puppet Enterprise-Servers verwenden.

**Um Ihren Server mit der OpsWorks Konsole zu löschen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die OpsWorks Konsole unter [https://console.aws.amazon.com/opsworks/](https://console.aws.amazon.com/opsworks/).

1. Wählen Sie im Navigationsbereich **Puppet Enterprise-Server** aus.

1. Wählen Sie auf der Seite **Puppet Enterprise-Server** den Server aus, den Sie löschen möchten.

1. Wählen Sie **unter Aktionen** die Option **Puppet Enterprise-Server löschen** aus.

**Um Ihren Server mit dem zu löschen AWS CLI**

Führen Sie den folgenden Befehl aus.

```
aws opsworks-cm delete-server \
   --server-name server-name \
   --region region
```