選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

如何將 OpsWorks for Puppet Enterprise 伺服器遷移至 Amazon Elastic Compute Cloud (Amazon EC2) - AWS OpsWorks

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

如何將 OpsWorks for Puppet Enterprise 伺服器遷移至 Amazon Elastic Compute Cloud (Amazon EC2)

重要

AWS OpsWorks for Puppet Enterprise 此服務已於 2024 年 3 月 31 日終止,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問,請透過 AWS re:Post 或透過 AWS Premium Support 聯絡 AWS 支援 團隊。

下列指示說明如何將現有的 Puppet Enterprise 伺服器遷移至 Amazon EC2,以防您想要繼續使用 Puppet Enterprise 來滿足 OpsWorks 以外的組態管理需求。

步驟 1:聯絡 Puppet 購買授權

當您將伺服器遷移至 EC2 時,新執行個體不會隨附 Puppet 授權。若要購買授權金鑰,請遵循 Puppet 網站的指示。

步驟 2:取得 OpsWorks for Puppet Enterprise 伺服器的詳細資訊

尋找並儲存 OpsWorks for Puppet Enterprise 伺服器的值。

  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

    複製 OpsWorks for Puppet Enterprise 伺服器現有 Amazon S3 儲存貯體的名稱。儲存貯體名稱的格式如下: aws-opsworks-cm-server-name-random-string

  2. 執行 aws opsworks-cm describe-servers命令以取得 OpsWorks for Puppet Enterprise 伺服器的組態。

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

    儲存Endpoint回應中 InstanceTypeKeyPairInstanceProfileArn、、 SubnetIds SecurityGroupIds和 的值。

  3. 使用 SSH 連線到現有的 OpsWorks for Puppet Enterprise 伺服器。您可以在 EC2 主控台中使用 Session Manager,而不是 SSH。

    執行下列命令。

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

    回應提供 Puppet Enterprise 版本 (例如 2019.8.10)。儲存此值。

您將使用 SSH 或 Session Manager 進行下一個步驟。

步驟 3:備份您的 OpsWorks for Puppet Enterprise 伺服器

  1. 執行下列命令以建立本機備份。

    mkdir /tmp/puppet-backup/ sudo /opt/puppetlabs/bin/puppet-backup create --dir=/tmp/puppet-backup/
  2. 執行下列命令來存放備份的名稱。

    ls /tmp/puppet-backup/ PUPPET_BACKUP=$(ls /tmp/puppet-backup/)
  3. 執行下列命令,將備份上傳至 S3 儲存貯體。將 S3-Bucket體取代為 中步驟 1 的值步驟 2:取得 OpsWorks for Puppet Enterprise 伺服器的詳細資訊

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

    存放 PUPPET_BACKUPS3_BUCKET值。您會將這些值匯入新的 EC2 執行個體。

您可以結束 SSH 或 Session Manager 工作階段。

步驟 4:啟動新的 EC2 執行個體

使用與 OpsWorks for Puppet Enterprise 伺服器相同的組態,從位於 https://console.aws.amazon.com/ec2/ 的 EC2 主控台啟動新的 EC2 EC2執行個體

參數名稱 Value

作業系統

Amazon Linux 2

執行個體類型

來自 的步驟 2 InstanceType的值步驟 2:取得 OpsWorks for Puppet Enterprise 伺服器的詳細資訊

金鑰對名稱

來自 的步驟 2 KeyPair的值步驟 2:取得 OpsWorks for Puppet Enterprise 伺服器的詳細資訊

VPC

SubnetIds 來自步驟 2 的 VPC步驟 2:取得 OpsWorks for Puppet Enterprise 伺服器的詳細資訊

子網路

SubnetIds 來自 的步驟 2步驟 2:取得 OpsWorks for Puppet Enterprise 伺服器的詳細資訊

選取現有的安全群組 -> 一般安全群組

SecurityGroupIds 來自 的步驟 2步驟 2:取得 OpsWorks for Puppet Enterprise 伺服器的詳細資訊

儲存

至少 120 GB。

IAM 執行個體設定檔

InstanceProfileArn 來自 的步驟 2步驟 2:取得 OpsWorks for Puppet Enterprise 伺服器的詳細資訊

如果您想要建立彈性 IP 並將其連接至新執行個體,請複製新執行個體的執行個體 ID,並完成 中的步驟(選用) 步驟 4.1:建立和連接彈性 IP

(選用) 步驟 4.1:建立和連接彈性 IP

透過彈性 IP 位址,您可以快速地將地址重新映射至帳戶中的另一個執行個體,以遮罩執行個體或軟體的故障。

建立和關聯彈性 IP 地址
  1. 登入 AWS Management Console 並開啟 Amazon EC2 主控台,網址為 https://https://console.aws.amazon.com/ec2/

  2. 選擇彈性 IPs

  3. 選擇 Allocate Elastic IP address (配置彈性 IP 位址)

  4. 配置彈性 IP 地址頁面中,選擇配置。這會建立公有 IPv4 地址。

  5. 複製配置的 IPv4 地址

  6. 動作中,選擇關聯彈性 IP 地址

  7. 針對執行個體,輸入新執行個體的執行個體 ID。

  8. 選擇關聯

步驟 5:在新的 EC2 執行個體上安裝 Puppet Enterprise

使用 SSH 連線到新的 EC2 執行個體。您可以在 EC2 主控台中使用 Session Manager,而不是 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

您可以在下一個步驟中保持 SSH 或 Session Manager 工作階段開啟。

步驟 6:在新的 EC2 執行個體上還原備份

# 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

您可以在執行個體的 https://Public IPv4 存取還原 EC2 執行個體的 Puppet 主控台。 IPv4 您可以在 EC2 主控台的執行個體詳細資訊頁面上找到公有 IPv4 DNS。登入登入資料與您用來存取 OpsWorks for Puppet Enterprise 伺服器的登入資料相同。

您可以在下一個步驟中保持 SSH 或 Session Manager 工作階段開啟。

步驟 7:設定您的 Puppet 授權

請遵循 Puppet 網站上的步驟來設定您的授權。

您可以在下一個步驟中保持 SSH 或 Session Manager 工作階段開啟。

步驟 8:遷移節點

OpsWorks for Puppet Enterprise 伺服器支援兩種類型的網域:

  • BYODC (自帶網域和憑證)

  • OpsWorks 端點

步驟 8.1:針對 BYODC (自帶網域和憑證)

對於這些節點,您只需要將 DNS 供應商中的自訂網域指向新 EC2 執行個體的公有 IPv4 DNS 或公有 IPv4 地址。

步驟 8.2:適用於 OpsWorks 端點

對於 OpsWorks 端點,Puppet 文件建議解除安裝節點上的 Puppet 代理程式,然後使用新還原的 Puppet Enterprise 伺服器安裝 Puppet 代理程式。

注意

雖然 Puppet 沒有自動移動代理程式節點的程序,但 Puppet 社群成員在 Puppet Forge 網站上發佈了幾個模組,以完成自動節點遷移。這些模組包含pe_migrate模組,以及由不同作者執行的第二個遷移模組。Puppet Forge 網站上的模組不受 Puppet 或 OpsWorks 支援,除非在 Forge 模組中明確註明。建議您謹慎使用這些模組,並在廣泛使用之前進行測試。

下列各節提供在 Linux 執行個體上解除安裝和重新安裝 Puppet 代理程式的步驟。

步驟 8.2.1:從 Puppet 伺服器複製解除安裝程式

解除安裝代理程式之前,請確定節點的 IAM 執行個體描述檔提供 S3 ReadOnly 許可。

執行下列命令,將解除安裝程式從 Puppet 伺服器複製到 S3 儲存貯體。

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

執行 命令後,您可以登出 Puppet 伺服器的 SSH 或 Session Manager 工作階段。

步驟 8.2.2:下載解除安裝程式並在節點上執行

使用 SSH 連線到節點。如果節點是 EC2 執行個體,您可以在 EC2 主控台中使用 Session Manager,而不是 SSH。

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

您可以在下一個步驟中保持 SSH 或 Session Manager 工作階段開啟。

步驟 8.2.3:在節點上重新安裝 Puppet 代理程式

請完成下列步驟,以在節點上重新安裝 Puppet 代理程式。

步驟 8.2.3.1:使用正確的組態安裝 Puppet 代理程式

執行下列命令來安裝 Puppet 代理程式。

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

您可以在步驟 8.2.2.3 中保持 SSH 或 Session Manager 工作階段開啟。

步驟 8.2.3.2:接受 Puppet 主控台中的憑證
  1. 前往 的 Puppet 伺服器主控台https://Public_IPv4_DNS

  2. 選擇憑證,然後選擇未簽署的憑證

  3. 選擇接受以簽署 Puppet 代理程式的憑證。

步驟 8.2.3.3:檢查 Puppet Enterprise 伺服器中的節點

在節點上執行下列命令,以檢查它是否進入伺服器。

puppet agent -t

節點現在應該會顯示在 Puppet 伺服器主控台中。

步驟 9:刪除 Puppet Enterprise 伺服器的 OpsWorks

您可以使用 OpsWorks 主控台或刪除 AWS CLI OpsWorks for Puppet Enterprise 伺服器。

使用 OpsWorks 主控台刪除您的伺服器

  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/opsworks/ 開啟 AWS OpsWorks 主控台。

  2. 從導覽窗格中選擇 Puppet Enterprise 伺服器

  3. Puppet Enterprise 伺服器頁面上,選擇您要刪除的伺服器。

  4. 動作中,選擇刪除 Puppet Enterprise 伺服器

使用 刪除您的伺服器 AWS CLI

執行下列命令。

aws opsworks-cm delete-server \ --server-name server-name \ --region region
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。