

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Cara memigrasikan server OpsWorks for Puppet Enterprise ke Amazon Elastic Compute Cloud (Amazon) EC2
<a name="opspup-migrate-ec2"></a>

**penting**  
 AWS OpsWorks for Puppet Enterprise Layanan ini mencapai akhir masa pakai pada 31 Maret 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium. 

Petunjuk di bawah ini menjelaskan cara memigrasi server Puppet Enterprise yang ada ke Amazon EC2, jika Anda ingin terus menggunakan Puppet Enterprise untuk kebutuhan manajemen konfigurasi Anda di luar. OpsWorks

**Topics**
+ [Langkah 1: Hubungi Puppet untuk membeli lisensi](#opspup-migrate-ec2-contact)
+ [Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-details)
+ [Langkah 3: Buat cadangan server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-backup)
+ [Langkah 4: Luncurkan EC2 instance baru](#opspup-migrate-ec2-launch)
+ [Langkah 5: Instal Puppet Enterprise pada instance baru EC2](#opspup-migrate-ec2-install-puppet)
+ [Langkah 6: Kembalikan cadangan pada EC2 instance baru](#opspup-migrate-ec2-restore)
+ [Langkah 7: Konfigurasikan lisensi Boneka Anda](#opspup-migrate-ec2-configure-license)
+ [Langkah 8: Migrasikan node Anda](#opspup-migrate-ec2-nodes)
+ [Langkah 9: Hapus server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-delete-server)

## Langkah 1: Hubungi Puppet untuk membeli lisensi
<a name="opspup-migrate-ec2-contact"></a>

 Ketika Anda memigrasikan server Anda ke EC2, instance baru tidak datang dengan lisensi Puppet. Untuk membeli kunci lisensi, ikuti instruksi di situs [web Boneka](https://www.puppet.com/docs/pe/2021.1/purchasing_and_installing_a_license_key.html).

## Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks
<a name="opspup-migrate-ec2-details"></a>

 Temukan dan simpan nilai untuk server OpsWorks for Puppet Enterprise Anda. 

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   Salin nama bucket Amazon S3 yang ada untuk server for Puppet OpsWorks Enterprise Anda. Nama bucket memiliki format: `aws-opsworks-cm-server-name-random-string`

1. Jalankan **aws opsworks-cm describe-servers** perintah untuk mendapatkan konfigurasi untuk server Puppet Enterprise Anda OpsWorks .

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

   Simpan nilai untuk`InstanceType`,`KeyPair`,`SubnetIds`,`SecurityGroupIds`,`InstanceProfileArn`, dan `Endpoint` dari respons.

1. Gunakan SSH untuk terhubung ke server Puppet Enterprise yang ada OpsWorks . Anda dapat menggunakan Session Manager di EC2 konsol alih-alih SSH.

   Jalankan perintah berikut.

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

   Respons menyediakan versi Puppet Enterprise (misalnya, 2019.8.10). Simpan nilai ini.

Anda akan menggunakan SSH atau Session manager untuk langkah selanjutnya.

## Langkah 3: Buat cadangan server Puppet Enterprise Anda OpsWorks
<a name="opspup-migrate-ec2-backup"></a>

1.  Jalankan perintah berikut untuk membuat cadangan lokal. 

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

1.  Jalankan perintah berikut untuk menyimpan nama untuk cadangan. 

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

1.  Jalankan perintah berikut untuk mengunggah cadangan Anda ke bucket S3. Ganti *S3-Bucket* dengan nilai dari langkah 1 in[Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-details). 

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

   Simpan `PUPPET_BACKUP` dan `S3_BUCKET` nilai. Anda akan mengimpor nilai-nilai tersebut ke EC2 instance baru.

Anda dapat keluar dari sesi SSH atau Session Manager.

## Langkah 4: Luncurkan EC2 instance baru
<a name="opspup-migrate-ec2-launch"></a>

[Luncurkan EC2 instance baru](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) dari EC2 konsol saat [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)menggunakan konfigurasi yang sama dengan server OpsWorks for Puppet Enterprise.


| Nama parameter | Nilai | 
| --- | --- | 
|  **OS**  |  Amazon Linux 2  | 
|  **Jenis instans**  |  `InstanceType`Nilai dari langkah 2 dari[Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-details).   | 
|  **Nama key pair**  |  `KeyPair`Nilai dari langkah 2 dari[Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-details).   | 
|  **VPC**  |  VPC dari langkah 2 `SubnetIds` dari. [Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-details)  | 
|  **Subnet**  |  `SubnetIds`Dari langkah 2 dari[Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-details).  | 
|  **Pilih grup keamanan yang ada -> Grup** **keamanan umum**   |  `SecurityGroupIds`Dari langkah 2 dari[Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-details).  | 
|  **Penyimpanan**  |  Setidaknya 120 GB.  | 
|  **Profil instans IAM**  |  `InstanceProfileArn`Dari langkah 2 dari[Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks](#opspup-migrate-ec2-details).  | 

Jika Anda ingin membuat dan melampirkan IP Elastis ke instance baru, salin ID instance dari instance baru, dan selesaikan langkah-langkahnya[(Opsional) Langkah 4.1: Buat dan pasang IP Elastis](#opspup-migrate-ec2-elastic-ip).

### (Opsional) Langkah 4.1: Buat dan pasang IP Elastis
<a name="opspup-migrate-ec2-elastic-ip"></a>

Dengan alamat IP Elastis, Anda dapat menutupi kegagalan suatu instans atau perangkat lunak dengan meremajakan secara cepat alamat ke instans lain di akun Anda.

**Untuk membuat dan mengaitkan alamat IP Elastis**

1. Masuk ke Konsol Manajemen AWS dan buka EC2 konsol Amazon di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Pilih **Elastis IPs**.

1. Pilih **Alokasi alamat IP elastis**.

1. Dari halaman **Allocate Elastic IP Address**, pilih **Alokasikan**. Ini menciptakan IPv4 alamat Publik.

1. Salin ** IPv4 alamat yang dialokasikan**.

1. Dari **Tindakan**, pilih **Alamat IP Associate Elastic**.

1. **Misalnya**, masukkan ID instance untuk instance baru.

1. Pilih **Kaitkan**.

## Langkah 5: Instal Puppet Enterprise pada instance baru EC2
<a name="opspup-migrate-ec2-install-puppet"></a>

Gunakan SSH untuk terhubung ke EC2 instance baru. Anda dapat menggunakan Session Manager di EC2 konsol alih-alih SSH.

```
# 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
```

Anda dapat menjaga sesi SSH atau Session Manager tetap terbuka untuk langkah berikutnya.

## Langkah 6: Kembalikan cadangan pada EC2 instance baru
<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
```

Anda dapat mengakses konsol Puppet untuk EC2 instance yang dipulihkan di https://*Public IPv4 of the instance*. Anda dapat menemukan IPv4 DNS Publik di halaman detail instans di EC2 konsol. Kredensi login adalah kredensil yang sama yang Anda gunakan untuk mengakses server Puppet Enterprise Anda OpsWorks .

Anda dapat menjaga sesi SSH atau Session Manager tetap terbuka untuk langkah berikutnya.

## Langkah 7: Konfigurasikan lisensi Boneka Anda
<a name="opspup-migrate-ec2-configure-license"></a>

Ikuti langkah-langkah di situs [web Puppet](https://www.puppet.com/docs/pe/2021.1/purchasing_and_installing_a_license_key.html#install_a_license_key) untuk mengonfigurasi lisensi Anda.

Anda dapat menjaga sesi SSH atau Session Manager tetap terbuka untuk langkah berikutnya.

## Langkah 8: Migrasikan node Anda
<a name="opspup-migrate-ec2-nodes"></a>

Ada dua jenis domain yang didukung oleh server OpsWorks for Puppet Enterprise:
+ BYODC (Bawa Domain dan Sertifikat Anda Sendiri)
+ OpsWorks titik akhir

### Langkah 8.1: Untuk BYODC (Bawa Domain dan Sertifikat Anda Sendiri)
<a name="opspup-migrate-ec2-nodes-byodc"></a>

Untuk node ini, yang perlu Anda lakukan adalah mengarahkan Domain Kustom di penyedia DNS Anda ke IPv4 DNS Publik atau IPv4 alamat Publik instance baru EC2 .

### Langkah 8.2: Untuk titik akhir OpsWorks
<a name="opspup-migrate-ec2-nodes-endpoint"></a>

Untuk OpsWorks endpoint, dokumentasi Puppet merekomendasikan untuk [menghapus instalan agen Puppet pada node dan kemudian [menginstal](https://www.puppet.com/docs/pe/2019.8/installing_agents.html)](https://www.puppet.com/docs/pe/2019.8/uninstalling.html#uninstall_agents) agen Puppet menggunakan server Puppet Enterprise yang baru dipulihkan.

**catatan**  
 Meskipun Puppet tidak memiliki prosedur otomatis untuk memindahkan node agen, ada beberapa modul yang telah dipublikasikan oleh anggota komunitas Puppet di [situs web Puppet Forge](https://forge.puppet.com/) untuk menyelesaikan migrasi node otomatis. [https://forge.puppet.com/modules/coreymbe/pe_migrate/readme](https://forge.puppet.com/modules/coreymbe/pe_migrate/readme)Modul-modul ini termasuk modul dan [modul migrasi](https://forge.puppet.com/modules/ffalor/migrate) kedua oleh penulis yang berbeda. Modul di situs web Puppet Forge **tidak didukung oleh Puppet atau OpsWorks** kecuali secara eksplisit dicatat dalam modul Forge. Kami merekomendasikan untuk berhati-hati dengan modul-modul ini dan mengujinya sebelum digunakan secara luas. 

Bagian berikut memberikan langkah-langkah untuk menghapus dan menginstal ulang agen Puppet pada instance Linux.

**Topics**
+ [Langkah 8.2.1: Salin uninstaller dari server Puppet](#opspup-migrate-ec2-uninstall-copy)
+ [Langkah 8.2.2: Unduh uninstaller dan jalankan pada node](#opspup-migrate-ec2-uninstall-download)
+ [Langkah 8.2.3: Instal ulang agen Puppet pada node](#opspup-migrate-ec2-reinstall-agent)

#### Langkah 8.2.1: Salin uninstaller dari server Puppet
<a name="opspup-migrate-ec2-uninstall-copy"></a>

Sebelum Anda menghapus instalan agen, pastikan profil instance IAM node memberikan izin ReadOnly S3.

Jalankan perintah berikut untuk menyalin uninstaller dari server Puppet ke bucket S3.

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

Setelah menjalankan perintah, Anda dapat keluar dari sesi SSH atau Session Manager server Puppet.

#### Langkah 8.2.2: Unduh uninstaller dan jalankan pada node
<a name="opspup-migrate-ec2-uninstall-download"></a>

Gunakan SSH untuk terhubung ke node. Anda dapat menggunakan Session Manager di EC2 konsol alih-alih SSH jika node adalah sebuah EC2 instance.

```
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
```

Anda dapat menjaga sesi SSH atau Session Manager tetap terbuka untuk langkah berikutnya.

#### Langkah 8.2.3: Instal ulang agen Puppet pada node
<a name="opspup-migrate-ec2-reinstall-agent"></a>

Selesaikan langkah-langkah berikut untuk menginstal ulang agen Puppet pada node.

**Topics**
+ [Langkah 8.2.3.1: Instal agen Puppet dengan konfigurasi yang benar](#w2ab1b7c41c23b9c15b7)
+ [Langkah 8.2.3.2: Terima sertifikat di konsol Puppet](#w2ab1b7c41c23b9c15b9)
+ [Langkah 8.2.3.3: Periksa node ke server Puppet Enterprise](#w2ab1b7c41c23b9c15c11)

##### Langkah 8.2.3.1: Instal agen Puppet dengan konfigurasi yang benar
<a name="w2ab1b7c41c23b9c15b7"></a>

Jalankan perintah berikut untuk menginstal agen Puppet.

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

Anda dapat menjaga sesi SSH atau Session Manager tetap terbuka untuk langkah 8.2.2.3.

##### Langkah 8.2.3.2: Terima sertifikat di konsol Puppet
<a name="w2ab1b7c41c23b9c15b9"></a>

1. Pergi ke konsol server Puppet di`https://Public_IPv4_DNS`.

1. Pilih **Sertifikat**, lalu **sertifikat yang tidak ditandatangani**.

1. Pilih **Terima** untuk menandatangani sertifikat agen Wayang.

##### Langkah 8.2.3.3: Periksa node ke server Puppet Enterprise
<a name="w2ab1b7c41c23b9c15c11"></a>

Jalankan perintah berikut pada node untuk memeriksanya ke server.

```
puppet agent -t
```

Node sekarang harus terlihat di konsol server Puppet.

## Langkah 9: Hapus server Puppet Enterprise Anda OpsWorks
<a name="opspup-migrate-ec2-delete-server"></a>

Anda dapat menggunakan OpsWorks konsol atau AWS CLI menghapus server OpsWorks for Puppet Enterprise Anda.

**Untuk menghapus server Anda menggunakan OpsWorks konsol**

1. Masuk ke Konsol Manajemen AWS dan buka OpsWorks konsol di [https://console.aws.amazon.com/opsworks/](https://console.aws.amazon.com/opsworks/).

1. Pilih **server Puppet Enterprise** dari panel navigasi.

1. Pada halaman **server Puppet Enterprise**, pilih server yang ingin Anda hapus.

1. Dari **Actions**, pilih **Delete Puppet Enterprise server**.

**Untuk menghapus server Anda menggunakan AWS CLI**

Jalankan perintah berikut.

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