OpsWorks 為 Puppet 企業自動新增節點 - AWS OpsWorks

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

OpsWorks 為 Puppet 企業自動新增節點

重要

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

本主題說明如何將 Amazon Elastic Compute Cloud (Amazon EC2) 節點自動新增至您 OpsWorks 的 Puppet 企業伺服器。在為 Puppet 主伺服器新增要管理的節點中,您學習到如何使用 associate-node 命令一次新增一個節點至您的 Puppet Enterprise 伺服器。本主題的程式碼示範如何使用無人執行的方法自動新增節點。建議的新節點無人值守 (或自動) 關聯方法是設定 Amazon EC2 使用者資料。默認情況下,木偶企業服務器已經puppet-agent可用於 Ubuntu,Amazon Linux 和 RHEL 節點操作系統。 OpsWorks

如需如何取消節點關聯的詳細資訊,請參閱本指南取消節點與 Puppet 企業伺服器 OpsWorks 的關聯中的以及 Puppet 企業 API 說明文件disassociate-node中的。 OpsWorks

步驟 1:建立要用作執行個體設定檔的 IAM 角色

建立用作 EC2 執行個體設定檔的 AWS Identity and Access Management (IAM) 角色,並將以下政策附加到 IAM 角色。此政策可讓 opsworks-cm API 在節點註冊期間與 EC2 執行個體通訊。如需執行個體設定檔的詳細資訊,請參閱 Amazon EC2 文件中的使用執行個體設定檔。如需如何建立 IAM 角色的詳細資訊,請參閱 Amazon EC2 文件中的在主控台中建立 IAM 角色

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "opsworks-cm:AssociateNode", "opsworks-cm:DescribeNodeAssociationStatus", "opsworks-cm:DescribeServers", "ec2:DescribeTags" ], "Resource": "*", "Effect": "Allow" } ] }

AWS OpsWorks 提供 AWS CloudFormation 範本,您可以使用上述政策陳述式建立 IAM 角色。下列 AWS CLI 指令會使用此範本為您建立執行個體設定檔角色。如果您想要在預設區域中建立新 AWS CloudFormation 堆疊,可以省略--region參數。

aws cloudformation --region region ID create-stack --stack-name myPuppetinstanceprofile --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/owpe/opsworks-cm-nodes-roles.yaml --capabilities CAPABILITY_IAM

步驟 2:使用自動關聯指令碼建立執行個體

若要建立 EC2 執行個體,您可以將入門套件中包含的使用者資料指令碼複製到 EC2 執行個體指示、Amazon EC2 Auto Scaling 群組啟動組態或 AWS CloudFormation 範本userdata部分。該指令碼僅支援執行 Ubuntu 和 Amazon Linux 作業系統的 EC2 執行個體。如需有關將指令碼新增至使用者資料的詳細資訊,請參閱 Amazon EC2 文件中的啟動時在 Linux 執行個體上執行命令。建立新節點最簡單的方法是使用 Amazon EC2 執行個體啟動精靈。本逐步解說使用中所述的 Apache 網頁伺服器範例模組設定開始使用 OpsWorks 木偶企業版

  1. 入門套件中的使用者資料指令碼會執行 opsworks-cm API associate-node 命令,將新節點與您的 Puppet 主節點建立關聯。在此版本中,它還會為您安裝節點 AWS CLI 上的最新版本,以防它尚未執行最多的 up-to-date 版本。將此指令碼以 userdata.sh 的名稱儲存到方便的位置。

    根據預設,新註冊節點的名稱為執行個體 ID。

  2. 遵循 EC2 文件中啟動執行個體內的程序,並進行此處修改。在 EC2 執行個體啟動精靈中,選擇 Amazon Linux AMI。

  3. Configure Instance Details (設定執行個體詳細資訊) 頁面上,選取 myPuppetinstanceprofile,即您於步驟 1:建立要用作執行個體設定檔的 IAM 角色所建立的角色,做為您的 IAM 角色。

  4. Advanced Details (進階詳細資訊) 區域內,上傳您在步驟 1 建立的 userdata.sh 指令碼。

  5. 您無須在 Add Storage (新增儲存體) 頁面上進行任何變更。前往 Add Tags (新增標籤)

    透過將標籤套用至您的 EC2 執行個體,您可以自訂 userdata.sh 的行為。在此範例中,透過新增下列標籤將角色 apache_webserver 套用到您的節點:pp_role,其值為 apache_webserver

    設定節點上 pp_role 的值會設定持續存放在節點代理程式憑證中的資料值,啟用節點的受信任分類。如需詳細資訊,請參閱 Puppet 平台文件中的 Extension requests (permanent certificate data)

  6. 在 [設定安全性群組] 頁面上,選擇 [新增規則],然後在此範例中選擇 HTTP 類型為 Apache Web 伺服器開啟連接埠 8080。

  7. 選擇 Review and Launch (檢閱及啟動),然後選擇 Launch (啟動)。當您的新節點啟動時,它會套用您在其中設定的範例模組的 Apache 組態設置入門套件阿帕奇示例

  8. 當您開啟連結至新節點公開 DNS 的網頁時,您應該會看到由您的 Pupet 管理的 Apache 網頁伺服器所代管的網站。