

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

# 使用入門套件設定 Puppet 主伺服器
<a name="opspup-starterkit"></a>

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

當 Puppet 主伺服器建立仍在進行中時，伺服器的屬性頁面會在 OpsWorks for Puppet Enterprise 主控台中開啟。當您第一次使用新的 Puppet 主伺服器時，Properties (屬性) 頁面會提示您下載兩個必要項目。請下載這些項目後再連線至您的 Puppet 伺服器；在新的伺服器上線之後，將無法使用下載按鈕。

![\[OpsWorks for Puppet Enterprise 新伺服器屬性頁面\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/opspup_creatingserver.png)

+ **Sign-in credentials for the Puppet master. (Puppet 主伺服器的登入資料。)** 您將使用這些登入資料來登入 Puppet Enterprise 主控台，您可以在其中執行大多數節點管理。 OpsWorks 不會儲存這些登入資料；這是最後一次可供檢視和下載。如有需要，您可以在登入之後變更這些登入資料隨附的密碼。
+ **Starter Kit. (入門套件。)** 入門套件包含內附說明如何完成設定之資訊和範例的讀我檔案，以及 Puppet Enterprise 主控台的管理員登入資料。每次下載入門套件，都會產生新的登入資料，且舊的登入資料會失效。

## 先決條件
<a name="finish-server-prereqs-puppet"></a>

1. 當伺服器建立仍在進行時，下載 Puppet 主伺服器的登入資料，並將其儲存在安全但方便的位置。

1. 下載入門套件，並將入門套件 .zip 檔案解壓縮至您的工作空間目錄。請不要共享您的登入資料。如果其他使用者將要管理 Puppet 主伺服器，請稍後將其新增為 Puppet Enterprise 主控台的管理員。如需如何將使用者新增至 Puppet 主伺服器的詳細資訊，請參閱 Puppet Enterprise 文件中的 [Creating and managing users and user roles](https://docs.puppet.com/pe/latest/rbac_user_roles.html#add-a-user-to-a-user-role)。

## 安裝 Puppet 主伺服器憑證
<a name="opspup-post-launch"></a>

若要使用您的 Puppet 主伺服器並新增要管理的節點，您將需要安裝其憑證。執行下列 AWS CLI 命令來安裝它。您無法在 中執行此任務 AWS 管理主控台。

```
aws --region region opsworks-cm describe-servers --server-name server_name --query "Servers[0].EngineAttributes[?Name=='PUPPET_API_CA_CERT'].Value" --output text > .config/ssl/cert/ca.pem
```

## 產生短期字符
<a name="opspup-post-launch-token"></a>

若要使用 Puppet API，您必須為自己建立短期字符。若是使用 Puppet Enterprise 主控台，則不需要此步驟。請執行下列命令來產生字符。

預設字符存留期為五分鐘，但您可以變更此預設值。

```
puppet-access login --config-file .config/puppetlabs/client-tools/puppet-access.conf --lifetime 8h
```

**注意**  
由於預設字符存留期為五分鐘，上述範例命令會新增 `--lifetime` 參數將字符存留期延長為更長的期間。您可以將字符存留期設為高達 10 年 (`10y`) 的期間。如需如何變更預設字符存留期的詳細資訊，請參閱 Puppet Enterprise 文件中的 [Change the token's default lifetime](https://puppet.com/docs/pe/2019.8/rbac_token_auth_intro.html#change_the_token_s_default_lifetime)。

## 設定入門套件 Apache 範例
<a name="opspup-post-launch-web-server"></a>

下載並解壓縮入門套件後，您可以使用隨附的範例`control-repo-example`資料夾中的範例分支，在受管節點上設定 Apache Web 伺服器。

此入門套件包含兩個 `control-repo` 資料夾：`control-repo` 和 `control-repo-example`。`control-repo` 資料夾包含 `production` 分支，與您在 [Puppet GitHub 儲存庫](https://github.com/puppetlabs/control-repo)中看到的分支並無不同。`control-repo-example` 資料夾也有`production`分支，其中包含使用測試網站設定 Apache 伺服器的範例程式碼。

1. 將 `control-repo-example` `production` 分支推送至您的 Git 遠端 (您 Puppet 主伺服器的 `r10k_remote` URL)。在您的入門套件根目錄中，執行下列程式碼，並以您的 * URL 取代 *r10kRemoteUrl`r10k_remote`。

   ```
   cd  control-repo-example
   git remote add origin r10kRemoteUrl
   git push origin production
   ```

   Puppet 的 Code Manager 使用 Git 分支做為環境。根據預設，所有節點都會在生產環境中。
**重要**  
請勿推送至 `master` 分支。`master` 分支會預留給 Puppet 主伺服器。

1. 將 `control-repo-example` 分支中的程式碼部署至您的 Puppet 主伺服器。這可讓 Puppet 主伺服器從您的 Git 儲存庫下載 Puppet 程式碼 (`r10k_remote`)。在您的入門套件根目錄中，執行下列程式碼。

   ```
   puppet-code deploy --all --wait --config-file .config/puppet-code.conf
   ```

如需如何將範例 Apache 組態套用至您在 Amazon EC2 中建立的受管節點的詳細資訊，請參閱本指南[步驟 2：使用自動關聯指令碼建立執行個體](opspup-unattend-assoc.md#opspup-unattend-script)中的 。