開始使用 OpsWorks 木偶企業版 - AWS OpsWorks

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

開始使用 OpsWorks 木偶企業版

重要

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

OpsWorks 對於傀儡企業允許您運行木偶企業服務器 AWS。只要約 15 分鐘就能佈建 Puppet Enterprise 主伺服器。

從 2021 年 5 月 3 日起, OpsWorks 針對 Puppet 企業將一些傀儡企業伺服器屬性儲存在中 AWS Secrets Manager。如需詳細資訊,請參閱 整合 AWS Secrets Manager

下列逐步解說可協助您在中為 Puppet 企業建立第一 OpsWorks 個傀儡主機。

必要條件

開始之前,您必須完成下列先決條件。

安裝 Puppet 開發套件

  1. 從 Puppet 網站,下載符合您本機電腦作業系統的 Puppet 開發套件

  2. 安裝 Puppet 開發套件。

  3. 將 Puppet 開發套件新增至您本機電腦的 PATH 變數。

    • 在 Linux 或 macOS 作業系統上,您可以透過在 Bash shell 中執行下列命令,將 Puppet 開發套件新增至您的 PATH 變數。

      echo 'export PATH=/opt/puppetlabs/pdk/bin/pdk:$PATH' >> ~/.bash_profile && source ~/.bash_profile
    • 在 Windows 作業系統上,您可以在 PowerShell 工作階段中使用下列 .NET Framework 命令,或在「系統內容」存取的「環境PATH變數」對話方塊中,將 Puppet 開發套件新增至您的變數。您可能需要以管理員身份運行 PowerShell 會話才能運行以下命令。

      [Environment]::SetEnvironmentVariable("Path","new path value","Machine")

安裝 Puppet Enterprise 用戶端工具

Puppet Enterprise (PE) 用戶端工具是一組命令列工具,可讓您從工作站存取 Puppet Enterprise 服務。這些工具可以安裝在許多不同的作業系統上,也可以安裝在您要使用 Puppet 管理的節點上。如需工具支援之作業系統及其安裝方式的資訊,請參閱 Puppet Enterprise 文件中的 Installing PE client tools

設定 Git 控制儲存庫

在您啟動 Puppet 主伺服器之前,您必須在 Git 中設定控制儲存庫,以存放及變更管理您的 Puppet 模組和類別。在啟動 Puppet Enterprise 主伺服器的步驟中,需要 Git 儲存庫的 URL 及 HTTPS 或用來存取儲存庫的 SSH 帳戶資訊。如需如何設定您的 Puppet Enterprise 主伺服器將使用之控制儲存庫的詳細資訊,請參閱 Setting up a control repository。您也可以在 Puppet 的control-repo範例存放庫的讀我檔案中找到控制項儲存庫設定說明 GitHub。控制儲存庫的結構類似如下。

├── LICENSE ├── Puppetfile ├── README.md ├── environment.conf ├── hieradata │ ├── common.yaml │ └── nodes │ └── example-node.yaml ├── manifests │ └── site.pp ├── scripts │ ├── code_manager_config_version.rb │ ├── config_version.rb │ └── config_version.sh └── site ├── profile │ └── manifests │ ├── base.pp │ └── example.pp └── role └── manifests ├── database_server.pp ├── example.pp └── webserver.pp

使用設定存放庫 CodeCommit

您可以使用建立新的存放庫 CodeCommit。如需如何使用 CodeCommit 建立控制項存放庫的詳細資訊,請參閱本指南可選:用 AWS CodeCommit 作 Puppet r10k 遠端控制儲存庫中的〈〉。如需如何開始使用 Git 的詳細資訊 CodeCommit,請參閱開始使用 AWS CodeCommit。若要 OpsWorks 為您的存放庫授權 Puppet 企業伺服器,請將該AWSCodeCommitReadOnly政策附加到您的 IAM 執行個體設定檔角色。

設定 VPC

您 OpsWorks 的 Puppet 企業主機必須在 Amazon Virtual Private Cloud 中運行。您可以將其新增至現有的 VPC、使用預設 VPC,或建立新的 VPC 來包含伺服器。如需 Amazon VPC 以及如何建立新 VPC 的相關資訊,請參閱 Amazon VPC 入門指南。

如果您建立自己的 VPC 或使用現有的 VPC,VPC 應有下列設定或屬性。

  • VPC 至少應有一個子網路。

    如果您 OpsWorks 的 Puppet 企業主機將可公開存取,請將子網路設為公用,並啟用自動指派公用 IP

  • 應啟用 DNS resolution (DNS 解析)

  • 在子網路上,啟用 Auto-assign public IP (自動指派公有 IP)

如果您不熟悉建立 VPC 或在其中執行執行個體,可以使用為您 AWS OpsWorks 提供的 AWS CloudFormation 範本,執行下列 AWS CLI 命令來建立具有單一公用子網路的 VPC。如果您偏好使用 AWS Management Console,也可以將範本上傳到主 AWS CloudFormation 控台。

aws cloudformation create-stack --stack-name OpsWorksVPC --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-vpc.yaml

設定 EC2 金鑰對 (選用)

對於 Puppet 伺服器的一般管理,不需要或建議使用 SSH 連線;您可以使用 AWS Management Console 和 AWS CLI 指令在 Puppet 伺服器上執行許多管理工作。

如果您遺失或想要變更 Puppet Enterprise Web 型主控台的登入密碼,則需要 EC2 金鑰對,才能使用 SSH 連線至您的伺服器。您可以使用現有的金鑰對,或建立新的金鑰對。如需如何建立新 EC2 key pair 的詳細資訊,請參閱 Amazon EC2 金鑰配對

如果您不需要 EC2 金鑰對,則可以建立 Puppet Enterprise 主伺服器。

使用自訂網域的先決條件 (選用)

您可以在自有網域上設定 Puppet Enterprise 主伺服器,指定自訂網域中的公有端點做為伺服器的端點。如本節所述,當您使用自訂網域時,下列所有項目都是必要的。

設定自訂網域

若要在自有的自訂網域上執行 Puppet Enterprise 主伺服器,您需要一部伺服器的公有端點,例如 https://aws.my-company.com。如先前章節所述,如果您指定自訂網域,您也必須提供憑證和私密金鑰。

若要在建立伺服器之後存取伺服器,請在慣用的 DNS 服務中新增 CNAME DNS 記錄。此記錄必須將自訂網域指向由 Puppet 主伺服器建立程序所產生的端點 (伺服器 Endpoint 屬性的值)。如果伺服器使用自訂網域,您將無法使用產生的 Endpoint 值來存取伺服器。

取得憑證

若要在自有的自訂網域上設定 Puppet 主伺服器,您需要一個 PEM 格式的 HTTPS 憑證。這可以是單一、自我簽署的憑證或憑證鏈。當您完成 Create a Puppet Enterprise Master (建立 Puppet Enterprise 主伺服器) 工作流程時,如果您指定此憑證,則還必須提供自訂網域和私密金鑰。

以下是憑證值的需求:

  • 您可以提供自我簽署、自訂憑證或完整的憑證鏈。

  • 憑證必須是有效的 X509 憑證,或是 PEM 格式的憑證鏈。

  • 憑證在上傳時必須有效。您不能在憑證有效期間開始 (憑證的 NotBefore 日期) 之前或憑證有效期到期 (憑證的 NotAfter 日期) 之後使用憑證。

  • 憑證的一般名稱或主體別名 (SAN) (如果存在) 必須符合自訂網域值。

  • 憑證必須符合 Custom private key (自訂私密金鑰) 欄位的值。

取得私密金鑰

若要在自有的自訂網域上設定 Puppet 主伺服器,您需要使用 PEM 格式的私密金鑰以利用 HTTPS 連接到伺服器。私密金鑰不得加密,不能受密碼或密碼短語保護。如果您指定自訂私密金鑰,您還必須提供自訂網域和憑證。