Cara memigrasikan server OpsWorks for Puppet Enterprise ke Amazon Elastic Compute Cloud (Amazon) EC2 - AWS OpsWorks

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

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 atau melalui AWS Dukungan 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

Langkah 1: Hubungi Puppet untuk membeli lisensi

Ketika Anda memigrasikan server Anda ke EC2, instance baru tidak datang dengan lisensi Puppet. Untuk membeli kunci lisensi, ikuti instruksi di situs web Boneka.

Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks

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

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. 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

  2. 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 untukInstanceType,KeyPair,SubnetIds,SecurityGroupIds,InstanceProfileArn, dan Endpoint dari respons.

  3. 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

  1. Jalankan perintah berikut untuk membuat cadangan lokal.

    mkdir /tmp/puppet-backup/ sudo /opt/puppetlabs/bin/puppet-backup create --dir=/tmp/puppet-backup/
  2. Jalankan perintah berikut untuk menyimpan nama untuk cadangan.

    ls /tmp/puppet-backup/ PUPPET_BACKUP=$(ls /tmp/puppet-backup/)
  3. Jalankan perintah berikut untuk mengunggah cadangan Anda ke bucket S3. Ganti S3-Bucket dengan nilai dari langkah 1 inLangkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks .

    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

Luncurkan EC2 instance baru dari EC2 konsol saat 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

InstanceTypeNilai dari langkah 2 dariLangkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks .

Nama key pair

KeyPairNilai dari langkah 2 dariLangkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks .

VPC

VPC dari langkah 2 SubnetIds dari. Langkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks

Subnet

SubnetIdsDari langkah 2 dariLangkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks .

Pilih grup keamanan yang ada -> Grup keamanan umum

SecurityGroupIdsDari langkah 2 dariLangkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks .

Penyimpanan

Setidaknya 120 GB.

Profil instans IAM

InstanceProfileArnDari langkah 2 dariLangkah 2: Dapatkan detail tentang server Puppet Enterprise Anda OpsWorks .

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.

(Opsional) Langkah 4.1: Buat dan pasang IP Elastis

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 AWS Management Console dan buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pilih Elastis IPs.

  3. Pilih Alokasi alamat IP elastis.

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

  5. Salin IPv4 alamat yang dialokasikan.

  6. Dari Tindakan, pilih Alamat IP Associate Elastic.

  7. Misalnya, masukkan ID instance untuk instance baru.

  8. Pilih Kaitkan.

Langkah 5: Instal Puppet Enterprise pada instance baru EC2

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

# 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

Ikuti langkah-langkah di situs web Puppet untuk mengonfigurasi lisensi Anda.

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

Langkah 8: Migrasikan node Anda

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)

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

Untuk OpsWorks endpoint, dokumentasi Puppet merekomendasikan untuk menghapus instalan agen Puppet pada node dan kemudian menginstal 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 untuk menyelesaikan migrasi node otomatis. pe_migrateModul-modul ini termasuk modul dan modul migrasi 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.

Langkah 8.2.1: Salin uninstaller dari server Puppet

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

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

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

Langkah 8.2.3.1: Instal agen Puppet dengan konfigurasi yang benar

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
  1. Pergi ke konsol server Puppet dihttps://Public_IPv4_DNS.

  2. Pilih Sertifikat, lalu sertifikat yang tidak ditandatangani.

  3. Pilih Terima untuk menandatangani sertifikat agen Wayang.

Langkah 8.2.3.3: Periksa node ke server Puppet Enterprise

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

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 AWS Management Console dan buka AWS OpsWorks konsol di https://console.aws.amazon.com/opsworks/.

  2. Pilih server Puppet Enterprise dari panel navigasi.

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

  4. 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