

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

# 使用在 OpsWorks Stacks 之外建立的運算資源
<a name="registered-instances"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

[執行個體](workinginstances.md) 說明如何使用 OpsWorks Stacks 來建立和管理 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的群組。您也可以將 Linux 運算資源整合到在 Stacks OpsWorks 外部建立的堆疊中：
+ 您使用 Amazon EC2 主控台、CLI 或 API 直接建立的 Amazon EC2 執行個體。
+ 在您自己的硬體上執行的「現場部署」**執行個體，包括在虛擬機器中執行的執行個體。

這些運算資源會成為 OpsWorks Stacks 受管執行個體，您可以像一般 Stacks OpsWorks 執行個體一樣進行管理：
+ **管理使用者許可** – 您可以使用 [OpsWorks Stacks 使用者管理](opsworks-security-users.md)來指定允許哪些使用者存取您的堆疊、允許他們在堆疊執行個體上執行哪些動作，以及他們是否具有 SSH 存取和 sudo 權限。
+ **自動化任務** – 您可以讓 OpsWorks Stacks 執行自訂 Chef 配方來執行任務，例如使用單一命令在任何或所有堆疊的執行個體上執行指令碼。

  如果您將執行個體指派給 [layer](workinglayers.md)， OpsWorks Stacks 會在執行個體[生命週期](workingcookbook-events.md)中的關鍵點自動在執行個體上執行一組指定的 Chef 配方，包括您的自訂配方。請注意，您只能將註冊的 Amazon EC2 執行個體指派給[自訂層](workinglayers-custom.md)。
+ **管理資源** – 堆疊可讓您分組和管理 中的資源 AWS 區域，而 OpsWorks 儀表板會顯示所有區域中堆疊的狀態。
+ **安裝套件** – 您可以使用 Chef 配方在堆疊中的任何執行個體上安裝套件。
+ **更新作業系統** – OpsWorks Stacks 提供在堆疊執行個體上安裝作業系統安全修補程式和更新的簡單方法。
+ **部署應用程式** – OpsWorks Stacks 會將應用程式一致地部署到堆疊的所有應用程式伺服器執行個體。
+ **監控** – OpsWorks Stacks 會建立自訂 [CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html) 指標來監控堆疊的所有執行個體。

如需定價資訊，請參閱 [AWS OpsWorks 定價](https://aws.amazon.com/opsworks/stacks/pricing/)。

以下是使用已註冊執行個體的基本程序。

1. 向堆疊註冊執行個體。

   執行個體現在是堆疊的一部分，並由 Stacks OpsWorks 管理。

1. (選擇性) 將執行個體指派給某 layer。

   此步驟可讓您充分利用 OpsWorks Stacks 管理功能。您可以將已註冊的內部部署執行個體指派給任何 layer；已註冊的 Amazon EC2 執行個體只能指派給自訂 layer。

1. 使用 OpsWorks Stacks 管理執行個體。

1. 當您不再需要堆疊中的執行個體時，請將其取消註冊，這會從 Stacks OpsWorks 中移除執行個體。

下列各節將詳細說明此程序。

**Topics**
+ [

# 向 OpsWorks Stacks Stack 註冊執行個體
](registered-instances-register.md)
+ [

# 管理已註冊的執行個體
](registered-instances-manage.md)
+ [

# 將已註冊的執行個體指派給某 Layer
](registered-instances-assign.md)
+ [

# 取消指派已註冊的執行個體
](registered-instances-unassign.md)
+ [

# 取消註冊已註冊的執行個體
](registered-instances-deregister.md)
+ [

# 已註冊執行個體的生命週期
](registered-instances-lifecycle.md)

# 向 OpsWorks Stacks Stack 註冊執行個體
<a name="registered-instances-register"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

若要註冊 Stacks OpsWorks 外部的執行個體，請執行 AWS CLI **aws opsworks register**命令。您可以從要註冊的執行個體或從另一部電腦執行此命令 您可以將 `AWSOpsWorksRegisterCLI_EC2`或 `AWSOpsWorksRegisterCLI_OnPremises`政策套用至使用者或群組，以授予 註冊 AWS CLI EC2 或內部部署執行個體所需的許可。這些政策需要 1.16.180 版 AWS CLI 或更新版本。

**注意**  
若要防止使用者或角色註冊執行個體，請更新執行個體描述檔以拒絕存取 **register**命令。

註冊程序會在您想要使用 Stacks OpsWorks 管理的執行個體上安裝 代理程式，並使用您指定的 OpsWorks 堆疊註冊執行個體。在註冊執行個體之後，執行個體會成為堆疊的一部分，並由 OpsWorks Stacks 管理。如需詳細資訊，請參閱[管理已註冊的執行個體](registered-instances-manage.md)。

**注意**  
雖然 [AWS Tools for PowerShell ](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html)包含呼叫 `register` API 動作的 [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-OPSInstance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-OPSInstance.html) cmdlet，但我們建議您改用 AWS CLI 來執行 `register`命令。

下圖顯示註冊 Amazon EC2 執行個體的兩種方法。您可以使用相同的方法來註冊現場部署執行個體。

![\[Two diagrams showing EC2 instance registration: from workstation and from instance itself.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/on-prem-provision.png)


**注意**  
您可以使用 [OpsWorks Stacks 主控台](https://console.aws.amazon.com/opsworks/)來管理已註冊的執行個體，但必須執行 AWS CLI `register` 命令來註冊執行個體。這樣做的原因是因為註冊程序必須從執行個體執行，無法透過主控台完成。

下列各節將詳細說明此程序。

**Topics**
+ [

# 演練：從您的工作站註冊執行個體
](registered-instances-register-walkthrough.md)
+ [

# 註冊 Amazon EC2 和內部部署執行個體
](registered-instances-register-registering.md)

# 演練：從您的工作站註冊執行個體
<a name="registered-instances-register-walkthrough"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

註冊程序支援數種案例。本節會逐步解說一個案例的end-to-end範例：如何使用工作站註冊 Amazon EC2 執行個體。其他註冊案例使用類似的程序。如需詳細資訊，請參閱[註冊 Amazon EC2 和內部部署執行個體](registered-instances-register-registering.md)。

**注意**  
您通常想要註冊現有的 Amazon EC2 執行個體。不過，在本演練中，您可以直接建立新的執行個體和新的堆疊，並於完成時予以刪除。

**Topics**
+ [

## 步驟 1：建立堆疊和執行個體
](#registered-instances-register-walkthrough-prepare)
+ [

## 步驟 2：安裝並設定 AWS CLI
](#registered-instances-register-walkthrough-cli)
+ [

## 步驟 3：向 EC2Register 堆疊註冊執行個體
](#registered-instances-register-walkthrough-register)

## 步驟 1：建立堆疊和執行個體
<a name="registered-instances-register-walkthrough-prepare"></a>

若要開始使用，您需要堆疊和 Amazon EC2 執行個體才能註冊該堆疊。

**建立堆疊和執行個體**

1. 使用 [OpsWorks Stacks 主控台](https://console.aws.amazon.com/opsworks/)來[建立新的堆疊](workingstacks-creating.md)，並命名為 **EC2Register**。針對其他堆疊設定，您可以接受預設值。

1. 從 [Amazon EC2 主控台](https://console.aws.amazon.com/ec2/)啟動新的執行個體。請注意下列內容。
   + 執行個體必須與堆疊位於相同的區域和 VPC。

     如果您使用 VPC，請為本演練挑選一個公有子網路。
   + 如果您需要建立 SSH 金鑰，請將私有金鑰檔案儲存至您的工作站，並記錄名稱和檔案位置。

     如果您使用現有的金鑰，請記錄名稱和私有金鑰檔案位置。您稍後需要這些值。
   + 執行個體必須以其中一個[支援的 Linux 作業系統](workinginstances-os-linux.md)為基礎。例如，如果您的堆疊位於美國西部 （奧勒岡），您可以使用 `ami-35501205`在該區域中啟動 Ubuntu 14.04 LTS 執行個體。

   否則，請接受預設值。

在執行個體啟動期間，您可以繼續進行下一節。

## 步驟 2：安裝並設定 AWS CLI
<a name="registered-instances-register-walkthrough-cli"></a>

使用 AWS CLI **aws opsworks register** 命令執行註冊。註冊第一個執行個體之前，您必須執行 1.16.180 版 AWS CLI 或更新版本。安裝詳細資訊取決於您工作站的作業系統。如需安裝 的詳細資訊 AWS CLI，請參閱[安裝 AWS 命令列界面](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)。若要檢查您正在執行的 AWS CLI 版本，請在 shell 工作階段中輸入 `aws --version`。

**注意**  
若要防止使用者或角色註冊執行個體，請更新執行個體描述檔以拒絕存取 **register**命令。

強烈建議您不要略過此步驟，即使您已在工作站 AWS CLI 上執行 。使用最新版 AWS CLI 是安全最佳實務。

您必須提供 `register` 一組具備適當許可的 AWS 登入資料。建議的做法是使用執行個體描述檔註冊啟動的執行個體，然後將`--use-instance-profile`交換器新增至`register`命令，以避免直接在執行個體上安裝登入資料。如果您透過執行個體描述檔取得登入資料，則請跳到本主題中的[步驟 3：向 EC2Register 堆疊註冊執行個體](#registered-instances-register-walkthrough-register)。不過，如果未使用執行個體描述檔啟動您的執行個體，則可以建立 IAM 使用者。下列程序會建立具有適當許可的新使用者，在工作站上安裝使用者的登入資料，然後將這些登入資料傳遞給 `register`。

**警告**  
IAM 使用者具有長期憑證，這會造成安全風險。為了協助降低此風險，建議您只為這些使用者提供執行任務所需的許可，並在不再需要這些使用者時將其移除。

**建立使用者**

1. 在 [IAM 主控台](https://console.aws.amazon.com/iam/)的導覽窗格中，選擇 **Users (使用者)**，然後選擇 **Add user (新增使用者)**。

1. 新增名為 **EC2Register** 的使用者。

1. 選擇**下一步**。

1. 在**設定許可**頁面上，選擇**直接連接政策**。

1. **OpsWorks** 在**許可政策**篩選條件方塊中輸入 以顯示 OpsWorks 政策，選取下列其中一個政策，然後選擇**下一步：檢閱**。此政策會授予您的使用者執行 `register` 所需的許可。
   + 選擇 `AWSOpsWorksRegisterCLI_EC2` 以許可使用者註冊使用執行個體設定檔的 EC2 執行個體。
   + 選擇 `AWSOpsWorksRegisterCLI_OnPremises` 以許可使用者註冊現場部署執行個體。

1. 選擇**下一步**。

1. 在 **Review** (檢閱) 頁面上，選擇 **Create user** (建立使用者)。

1. 現在為您的使用者建立存取金鑰。從導覽窗格中，選擇**使用者**，然後選擇您要為其建立存取金鑰的使用者。

1. 選擇**安全登入**資料索引標籤，然後選擇**建立存取金鑰**。

1.  選擇最符合您任務的**存取金鑰最佳實務和替代方案**。

1. 選擇**下一步**。

1. （選用） 輸入標籤以識別存取金鑰。

1. 選擇**下一步**。

1. 選擇**下載 .csv 檔案**，將登入資料檔案儲存到系統上方便的位置，然後選擇**完成**。

您需要將 IAM 使用者的登入資料提供給 `register`。本演練會透過安裝您工作站之 `credentials` 檔案中的 EC2Register 登入資料，來處理此任務。如需有關管理 登入資料的其他方式的資訊 AWS CLI，請參閱[組態和登入資料檔案](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-config-files)。

**安裝使用者的登入資料**

1. 建立或開啟您工作站的 `credentials` 檔案。該檔案位於 `~/.aws/credentials` (Linux、Unix 和 OS X) 或 `C:\Users\User_Name\.aws\credentials` (Windows 系統) 中。

1. 使用下列格式，將 EC2Register 使用者的描述檔新增至 `credentials` 檔案。

   ```
   [ec2register]
   aws_access_key_id = access_key_id
   aws_secret_access_key = secret_access_key
   ```

   將 *access\$1key\$1id* 和 *secret\$1access\$1key* 取代為您稍早下載的 EC2Register 金鑰。

## 步驟 3：向 EC2Register 堆疊註冊執行個體
<a name="registered-instances-register-walkthrough-register"></a>

您現在可以註冊執行個體。

**註冊執行個體**

1. 在 OpsWorks Stacks 中，返回 EC2Register 堆疊，在導覽窗格中選擇**執行個體**，然後選擇**註冊執行個體**。

1. 選取 **EC2 Instances (EC2 執行個體)**，並選擇 **Next: Select Instances (下一步：選取執行個體)**，然後從清單中選取您的執行個體。

1. 選擇**下一步：安裝 AWS CLI** 和**下一步：註冊執行個體**。 OpsWorks Stacks 會自動使用可用的資訊，例如堆疊 ID 和執行個體 ID 來建立`register`命令範本，這會顯示在**註冊執行個體**頁面上。在此範例中，您使用 `register` 透過 SSH 金鑰登入執行個體，並明確指定金鑰檔案，因此，請將 **I use SSH keys to connect to my instances (我使用 SSH 金鑰連線到我的執行個體)** 設為 **Yes (是)**。此命令範本如下所示。

   ```
   aws opsworks register --infrastructure-class ec2 --region region endpoint ID
     --stack-id 247be7ea-3551-4177-9524-1ff804f453e3 --ssh-username [username]
     --ssh-private-key [key-file] i-f1245d10
   ```
**注意**  
如果堆疊位於與區域端點相關聯的傳統區域中，您必須將區域設定為 OpsWorks Stacks 服務的端點區域，而不是堆疊`us-east-1`的區域。 OpsWorks Stacks 會從堆疊 ID 決定堆疊的區域。

1. 命令範本包含數個使用者特定的引數值，這些值會以括號表示且必須取代為適當的值。將命令範本複製到文字編輯器，並依照下列方式編輯。
**重要**  
在註冊程序期間建立的 IAM 使用者需要註冊執行個體的整個生命週期。刪除使用者會導致 OpsWorks Stacks 代理程式無法與服務通訊。為了協助避免在意外刪除使用者時管理已註冊執行個體的問題，請將 `--use-instance-profile` 參數新增至您的`register`命令，以改用執行個體的內建執行個體描述檔。新增 `--use-instance-profile` 參數也可防止每 90 天輪換 AWS 帳戶存取金鑰時發生錯誤 （建議的最佳實務），因為它可防止代理程式和必要的 IAM 使用者可用的 OpsWorks 存取金鑰不相符。
   + 將*金鑰檔案*取代為您建立執行個體時所儲存 Amazon EC2 金鑰對之私有金鑰檔案的完整路徑。

     如果您想要，也可以使用相對路徑。
   + 將 *username* 取代為執行個體的使用者名稱。

     在此範例中，使用者名稱是 `ubuntu` (若是 Ubuntu 執行個體) 或 `ec2-user` (若是 Red Hat Enterprise Linux (RHEL) 或 Amazon Linux 執行個體)。
   + 新增 `--use-instance-profile`，這會`register`使用執行個體描述檔執行，以防止金鑰輪換期間或意外刪除主體 IAM 使用者時發生錯誤。

   您的命令應該如下所示。

   ```
   aws opsworks register --use-instance-profile --infrastructure-class ec2 \
     --region us-west-2  --stack-id 247be7ea-3551-4177-9524-1ff804f453e3 --ssh-username ubuntu \
     --ssh-private-key "./keys/mykeys.pem" i-f1245d10
   ```

1. 在您的工作站上開啟終端機視窗，從您的編輯器貼上 `register` 命令，然後執行命令。

   註冊通常需要約 5 分鐘。完成後，返回 Stacks OpsWorks 主控台並選擇**完成**。然後，在導覽窗格中選擇 **Instances (執行個體)**。您的執行個體應該會列於 **Unassigned Instances (未指派的執行個體)** 下。然後，您可以[將執行個體指派給某 layer](registered-instances-assign.md) 或保持不變，端視您預計管理執行個體的方式而定。

1. 完成後，請[停止執行個體](workinginstances-starting.md#workinginstances-starting-stop)，然後使用 Stacks OpsWorks 主控台或命令[將其刪除](workinginstances-starting.md#workinginstances-starting-stop)。這會終止 Amazon EC2 執行個體，因此您不需要支付任何進一步的費用。

# 註冊 Amazon EC2 和內部部署執行個體
<a name="registered-instances-register-registering"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

本節說明如何向 OpsWorks Stacks 堆疊註冊 Amazon EC2 或內部部署執行個體。

**Topics**
+ [

# 準備執行個體
](registered-instances-register-registering-prepare.md)
+ [

# 安裝並設定 AWS CLI
](registered-instances-register-registering-cli.md)
+ [

# 註冊執行個體
](registered-instances-register-registering-register.md)
+ [

# 使用 `register` 命令列
](registered-instances-register-registering-command.md)
+ [

# register 命令範例
](registered-instances-register-registering-examples.md)
+ [

# 執行個體註冊政策
](registered-instances-register-registering-template.md)

# 準備執行個體
<a name="registered-instances-register-registering-prepare"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

註冊執行個體之前，您必須確定其與 OpsWorks Stacks 相容。詳細資訊取決於您是註冊現場部署還是 Amazon EC2 執行個體。

## 現場部署執行個體
<a name="registered-instances-register-prepare-onprem"></a>

內部部署執行個體必須符合下列條件：
+ 執行個體必須執行其中一個[支援的 Linux 作業系統](workinginstances-os-linux.md)。雖然可以使用從自訂或社群所產生 AMI 建立而成的其他作業系統 (例如 CentOS 6.*x*) 建立或註冊執行個體，但並未正式受到支援。

  您必須在執行個體上安裝 `libyaml` 套件。若是 Ubuntu 執行個體，套件名稱為 `libyaml-0-2`。若是 CentOS 和 Red Hat Enterprise Linux 執行個體，套件名稱為 `libyaml`。
+ 執行個體必須具有支援的執行個體類型 (有時稱為執行個體大小)。支援的執行個體類型可能會因作業系統而異，並取決於您的堆疊是否在 VPC 中。如需支援的執行個體類型清單，請檢視當您嘗試在目標堆疊中建立新執行個體時 Stacks OpsWorks 主控台中顯示**的大小**下拉式清單值。如果執行個體類型呈現灰色且無法在您的目標堆疊中建立，則您無法註冊該類型的執行個體。
+ 執行個體必須具有網際網路存取，允許其與 OpsWorks Stacks 服務端點 通訊`opsworks.us-east-1.amazonaws.com (HTTPS)`。執行個體也必須支援對 Amazon S3 等 AWS 資源的傳出連線。
+ 如果您預計從個別工作站註冊執行個體，已註冊的執行個體必須支援從工作站的 SSH 登入。

  如果您從執行個體執行註冊命令，則不需要 SSH 登入。
+  AWS 存取金鑰用於從 OpsWorks 代理程式到 Stacks OpsWorks 服務的身分驗證。如果您依建議每 90 天輪換存取金鑰，請手動更新 OpsWorks 代理程式以使用新的金鑰。在內部部署電腦或執行個體上，使用新的存取金鑰和私密金鑰編輯 `/etc/aws/opsworks/instance-agent.yml` 檔案。下列命令顯示此檔案中的存取金鑰和秘密金鑰。使用舊金鑰的代理程式可能會造成錯誤。

  ```
  cat /etc/aws/opsworks/instance-agent.yml | egrep "access_key|secret_key"
  :access_key_id: AKIAIOSFODNN7EXAMPLE
  :secret_access_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  ```

## Amazon EC2 執行個體
<a name="registered-instances-register-prepare-ec2"></a>

Amazon EC2 執行個體必須符合下列條件：
+ AMI 必須以其中一個支援的 Linux 作業系統為基礎。如需目前的清單，請參閱[OpsWorks Stacks 作業系統](workinginstances-os.md)。

  如需詳細資訊，請參閱[使用自訂 AMI](workinginstances-custom-ami.md)。

  如果執行個體是以衍生自標準支援 AMI 的自訂 AMI 為基礎，或包含最少的安裝，您必須在執行個體上安裝 `libyaml` 套件。若是 Ubuntu 執行個體，套件名稱為 `libyaml-0-2`。對於 Amazon Linux 和 Red Hat Enterprise Linux 執行個體，套件名為 `libyaml`。
+ 執行個體必須具有支援的執行個體類型 (有時稱為執行個體大小)。支援的執行個體類型可能會因作業系統而異，並取決於您的堆疊是否在 VPC 中。如需支援的執行個體類型清單，請檢視當您嘗試在目標堆疊中建立新執行個體時， Stacks OpsWorks 主控台中顯示**的大小**下拉式清單值。如果執行個體類型呈現灰色且無法在您的目標堆疊中建立，則您也無法註冊該類型的執行個體。
+ 執行個體必須處於 `running` 狀態。
+ 執行個體不應該是 [Auto Scaling 群組](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/WhatIsAutoScaling.html)的一部分。

  如需詳細資訊，請參閱[從 Auto Scaling 群組分離 EC2 執行個體](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/detach-instance-asg.html)。
+ 執行個體可以是 [VPC](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) 的一部分，但必須與堆疊位於相同的 VPC 中，且 VPC 必須設定為與 Stacks OpsWorks 正常運作。
+ 不支援 [Spot 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-spot-instances-work.html)，因為這些執行個體不適用於[自動修復](https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autohealing.html)。

當您註冊 Amazon EC2 執行個體時， OpsWorks Stacks 不會修改執行個體[的安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)或規則。請確定執行個體的安全群組規則符合下列 Stacks OpsWorks 要求。

**Ingress Rules (輸入規則)**  
輸入規則應該允許下列項目。  
+ SSH 登入。
+ 來自適當 layer 的流量。

  例如，資料庫伺服器通常會允許來自堆疊之應用程式伺服器 layer 的輸入流量。
+ 連入適當連接埠的流量。

  例如，應用程式伺服器執行個體通常會允許連入連接埠 80 (HTTP) 和 443 (HTTPS) 的所有輸入流量。

**Egress Rules (輸出規則)**  
輸出規則應該允許下列項目。  
+ 來自執行個體上執行之應用程式的 Stacks OpsWorks 服務流量。
+ 使用 AWS API 從應用程式存取 Amazon S3 等 AWS 資源的流量。
一個常用方法是不指定任何輸出規則，如此就不會對輸出流量設限。

# 安裝並設定 AWS CLI
<a name="registered-instances-register-registering-cli"></a>

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

註冊第一個執行個體之前，您必須在執行 的電腦上執行 1.16.180 版 AWS CLI 或更新版本`register`。安裝詳細資訊取決於您工作站的作業系統。如需安裝 的詳細資訊 AWS CLI，請參閱[安裝 AWS 命令列界面](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)和[設定 AWS 命令列界面](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。若要檢查您正在執行的 AWS CLI 版本，請在 shell 工作階段中輸入 `aws --version`。

**注意**  
雖然 [AWS Tools for PowerShell ](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html)包含呼叫 `register` API 動作的 [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-OPSInstance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-OPSInstance.html) cmdlet，但我們建議您改用 AWS CLI 來執行 `register`命令。

您必須以適當許可執行 `register`。您可以在要註冊的工作站或執行個體上安裝具有適當許可的使用者登入資料，以使用 IAM 角色取得許可，或以最佳方式取得許可。然後，您可以使用這些登入資料來執行 `register`，如稍後所述。透過將 IAM 政策連接至使用者或角色來指定許可。對於 `register`，您可以使用 `AWSOpsWorksRegisterCLI_EC2`或 `AWSOpsWorksRegisterCLI_OnPremises`政策，分別授予註冊 Amazon EC2 或內部部署執行個體的許可。

**注意**  
如果您在 Amazon EC2 執行個體`register`上執行 ，最好使用 IAM 角色來提供登入資料。如需如何將 IAM 角色連接至現有執行個體的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[將 IAM 角色連接至執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)或[取代 IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#replace-iam-role)。

如需 `AWSOpsWorksRegisterCLI_EC2` 和 `AWSOpsWorksRegisterCLI_OnPremises` 政策的範例程式碼片段，請參閱[執行個體註冊政策](registered-instances-register-registering-template.md)。如需建立及管理 AWS 登入資料的詳細資訊，請參閱 [AWS 安全登入資料](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)。

**Topics**
+ [

## 使用 IAM 角色
](#registered-instances-register-registering-cli-role)
+ [

## 使用安裝的登入資料
](#registered-instances-register-registering-cli-creds)

## 使用 IAM 角色
<a name="registered-instances-register-registering-cli-role"></a>

如果您從要註冊的 Amazon EC2 執行個體執行 命令，提供登入資料給 的偏好策略`register`是使用已連接`AWSOpsWorksRegisterCLI_EC2`政策或同等許可的 IAM 角色。此方法可讓您避免在執行個體上安裝您的登入資料。其中一種做法是在 EC2 主控台中使用 **Attach/Replace IAM Role (連接/取代 IAM 角色)** 命令，如下圖所述。

![\[AWS EC2 console showing Instance Settings menu with Attach/Replace IAM Role option highlighted.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/instance_register_attachrole.png)


如需如何將 IAM 角色連接至現有執行個體的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[將 IAM 角色連接至執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)或[取代 IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#replace-iam-role)。對於使用執行個體描述檔所啟動的執行個體 (建議)，將 `--use-instance-profile` 參數新增至 `register` 命令，以提供登入資料；請不要使用 `--profile` 參數。

如果執行個體正在執行且具有角色，您可以透過將 `AWSOpsWorksRegisterCLI_EC2` 政策連接至該角色來授予必要許可。該角色會提供一組預設登入資料給執行個體。只要您尚未在執行個體上安裝任何登入資料，`register` 就會自動擔任該角色並以其許可執行。

**重要**  
我們建議您不要在執行個體上安裝登入資料。除了建立安全風險之外，執行個體的角色也位於 AWS CLI 用來尋找預設登入資料的預設提供者鏈結尾。安裝的登入資料可能會優先於角色，因此 `register` 可能沒有必要許可。如需詳細資訊，請參閱 [AWS CLI入門](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#config-settings-and-precedence)。

如果執行中的執行個體沒有角色，您必須安裝在執行個體上安裝具備必要許可的登入資料，如[使用安裝的登入資料](#registered-instances-register-registering-cli-creds)中所述。建議使用透過執行個體描述檔所啟動的執行個體，而這種方式較為簡單，也較不容易出錯。

## 使用安裝的登入資料
<a name="registered-instances-register-registering-cli-creds"></a>

有數種方式可在系統上安裝使用者登入資料，並將其提供給 AWS CLI 命令。以下說明不再建議使用的方法，但此方法可以用於您註冊未使用執行個體描述檔所啟動的 EC2 執行個體時。只要連接的政策授予必要許可，您也可以使用現有 使用者的登入資料。如需詳細資訊，包括安裝登入資料之其他方式的說明，請參閱[組態與登入資料檔案](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-config-files)。

**使用安裝的登入資料**

1. [建立 IAM 使用者](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-config-files)，並將存取金鑰 ID 和私密存取金鑰儲存在安全的位置。
**警告**  
IAM 使用者具有長期憑證，這會造成安全風險。為了協助降低此風險，建議您只為這些使用者提供執行任務所需的許可，並在不再需要這些使用者時將其移除。

1. [連接 AWSOpsWorksRegisterCLI\$1OnPremises 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html)至使用者。如果您想要，也可以連接授予更廣泛許可的政策，只要其中包含 `AWSOpsWorksRegisterCLI_OnPremises` 許可。

1. 在系統的 `credentials` 檔案中建立使用者的描述檔。該檔案位於 `~/.aws/credentials` (Linux、Unix 和 OS X) 或 `C:\Users\User_Name\.aws\credentials` (Windows 系統) 中。檔案包含以下格式的一或多個設定檔，每個設定檔都包含使用者的存取金鑰 ID 和私密存取金鑰。

   ```
   [profile_name]
   aws_access_key_id = access_key_id
   aws_secret_access_key = secret_access_key
   ```

   將您先前儲存的 IAM 登入資料替換為 *access\$1key\$1id* 和 *secret\$1access\$1key* 值。您可以為描述檔名稱指定任何想要的名稱，但有兩項限制：該名稱必須是唯一的，而且預設描述檔必須命名為 `default`。您也可以使用現有的描述檔，只要該檔案具備必要許可。

1. 使用 `register` 命令的 `--profile` 參數來指定描述檔名稱。`register` 命令會以授予相關聯登入資料的許可執行。

   您也可以省略 `--profile`。在此情況下，`register` 會使用預設登入資料執行。請注意，這些不一定是預設描述檔的登入資料，因此您必須確定預設登入資料具備必要許可。如需 如何 AWS CLI 決定預設登入資料的詳細資訊，請參閱[設定 AWS 命令列界面](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

# 註冊執行個體
<a name="registered-instances-register-registering-register"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

您可以從工作站或執行個體執行 AWS CLI `register` 命令，來註冊執行個體。處理此操作的最簡單方式就是使用 [OpsWorks Stacks 主控台](https://console.aws.amazon.com/opsworks/)的註冊精靈，這會簡化建構命令字串的程序。熟悉註冊程序之後，如果您想要，也可以略過精靈，並執行 `register` 命令。

以下說明如何使用註冊精靈向現有的堆疊註冊執行個體。

**注意**  
若要向新堆疊註冊執行個體，您可以在 Stacks OpsWorks 儀表板上選擇**註冊執行個體**。這會啟動與現有堆疊的精靈相同的精靈，但多了一個用來設定新堆疊的頁面。

**使用註冊精靈註冊執行個體**

1. 在 [OpsWorks Stacks 主控台](https://console.aws.amazon.com/opsworks/)中，建立堆疊或開啟現有的堆疊。

1. 在導覽窗格中，選擇 **Instances (執行個體)**，然後選擇 **register an instance (註冊執行個體)**。

1. 在**選擇執行個體類型**頁面上，指定您要註冊 Amazon EC2 還是現場部署執行個體：
   + 如果您要註冊 Amazon EC2 執行個體，請選擇**下一步：選取執行個體**。
   + 如果您要註冊現場部署執行個體，請選擇**下一步：安裝 AWS CLI**，然後前往步驟 5。

1. 如果您要註冊 Amazon EC2 執行個體，請開啟**選取執行個體**頁面以選取要註冊的執行個體。 OpsWorks Stacks 會收集建置命令所需的資訊。完成時，選擇 **Next:Install AWS CLI (下一步：安裝 AWS CLI)**。

1. 您計劃執行的執行個體`register`必須執行 1.16.180 版 AWS CLI 或更新版本。為了安裝或更新 AWS CLI，註冊精靈頁面會提供安裝和設定指示的連結。驗證 AWS CLI 安裝之後，指定您會從要註冊的執行個體還是個別的工作站執行命令，然後選擇 **Next: Register Instances (下一步：註冊執行個體)**。

1. **Register Instances (註冊執行個體)** 頁面會顯示 `register` 命令字串的範本，其中包含您選取的選項。例如，如果您從個別工作站註冊 Amazon EC2 執行個體，預設範本會如下所示。

   ```
   aws opsworks register --infrastructure-class ec2 --region us-west-2
     --stack-id 247be7ea-3551-4177-9524-1ff804f453e3 --ssh-username [username] i-f1245d10
   ```
**重要**  
在註冊程序期間建立的 IAM 使用者需要註冊執行個體的整個生命週期。刪除使用者會導致 OpsWorks Stacks 代理程式無法與服務通訊。為了協助避免在意外刪除使用者時管理已註冊執行個體的問題，請將 `--use-instance-profile` 參數新增至您的`register`命令，以改用執行個體的內建執行個體描述檔。新增 `--use-instance-profile` 參數也可防止每 90 天輪換 AWS 帳戶存取金鑰時發生錯誤 （建議的最佳實務），因為它可防止代理程式和必要的 IAM 使用者可用的 OpsWorks 存取金鑰不相符。

   如果您將**我使用 SSH 金鑰**設定為**是**， OpsWorks Stacks 會將`--ssh-private-key`引數新增至字串，您可以使用該字串來指定私有 SSH 金鑰檔案。
**注意**  
如果您想要使用密碼`register`登入，請將**我使用 SSH 金鑰**設定為**否**。 當您執行 時`register`，系統會提示您輸入密碼。

   將此字串複製至文字編輯器，並視需要編輯。請注意下列內容。
   + 括號文字代表您必須提供的資訊，例如您的 SSH 金鑰檔案位置。
   + 此範本假設您使用預設 AWS 登入資料執行 `register`。否則，請將 `--profile` 引數新增至命令字串，並指定您要使用的登入資料描述檔名稱。

   對於其他案例，您可能需要進一步變更命令。如需可用 `register` 引數的說明，以及建構命令字串的替代方式，請參閱[使用 `register` 命令列](registered-instances-register-registering-command.md)。您也可以從命令列執行 `aws opsworks help register` 來顯示命令的文件。如需一些範例命令字串，請參閱[register 命令範例](registered-instances-register-registering-examples.md)。

1. 完成編輯命令字串之後，在您的工作站上開啟終端機視窗或使用 SSH 登入執行個體並執行命令。整個操作通常需要約五分鐘，在這段期間，執行個體會處於 **Registering (正在註冊)** 狀態。

1. 完成操作時，選擇 **Done (完成)**。執行個體現在處於 **Registered (已註冊)** 狀態，並在堆疊的 **Instances (執行個體)** 頁面上列為未指派的執行個體。

`register` 命令會執行下列動作。

1. 如果 `register` 正在工作站上執行，命令會先使用 SSH 登入要註冊的執行個體。

   其餘處理會在執行個體上進行，不論您在何處執行命令都一樣。

1. 從 OpsWorks Amazon S3 下載 Stacks 代理程式套件。

1. 解壓縮並安裝代理程式及其相依性，例如[適用於 Ruby 的 AWS 開發套件](https://aws.amazon.com/documentation/sdk-for-ruby/)。

1. 建立下列項目：
   + 使用 Stacks 服務引導代理程式以提供安全通訊的 IAM OpsWorks 使用者。

     使用者的許可只允許 `opsworks:RegisterInstance` 動作，並會在 15 分鐘後過期。
   + 堆疊的 IAM 群組，其中包含已註冊執行個體的使用者。

1. 建立 RSA 金鑰對，並將公有金鑰傳送至 OpsWorks Stacks。

   此金鑰對可用來加密代理程式與 OpsWorks Stacks 之間的通訊。

1. 向 Stacks OpsWorks 註冊執行個體。堆疊接著會執行一組初始安裝配方來設定執行個體，其中包含下列項目。
   + 覆寫執行個體的主機檔案。

     透過註冊執行個體，您已將使用者管理移交給 OpsWorks Stacks，而 Stacks 必須擁有自己的主機檔案才能控制 SSH 登入許可。
   + 對於 Amazon EC2 執行個體，初始設定也包含向堆疊註冊任何連接的 Amazon EBS 磁碟區或彈性 IP 地址。

     您必須確保 Amazon EBS 磁碟區未掛載至預留掛載點，包括 `/var/www`和執行個體層預留的任何掛載點。如需管理堆疊資源的詳細資訊，請參閱[資源管理](resources.md)。如需 layer 掛載點的詳細資訊，請參閱[OpsWorks Stacks Layer 參考](layers.md)。

   如需初始安裝組態變更的完整說明，請參閱[初始安裝組態變更](registered-instances-lifecycle.md#registered-instances-lifecycle-setup-config)。
**注意**  
初始安裝不會更新已註冊執行個體的作業系統，您必須自行處理該任務。如需詳細資訊，請參閱[管理安全性更新](workingsecurity-updates.md)。

# 使用 `register` 命令列
<a name="registered-instances-register-registering-command"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

若要註冊執行個體，請確定您正在執行至少 1.16.180 版的 AWS CLI。以下顯示 `register` 命令的一般語法。

```
aws opsworks register \
  [--profile profile_name] \
  [--region region_name] \
  --infrastructure-class instance_type \
  --stack-id stack ID \
  [--local] | [--ssh-private-key key_file --ssh-username username] | [--override-ssh command_string] \
  [--override-hostname hostname] \
  [--debug] \
  [--override-public-ip public IP] \
  [--override-private-ip private IP] \
..[--use-instance-profile] \
  [ [IP address] | [hostname] | [instance ID]
```

下列引數適用於所有 AWS CLI 命令。

**`--profile`**  
(選用) 登入資料的描述檔名稱。如果您省略此引數，命令會使用您的預設登入資料執行。如需 如何 AWS CLI 決定預設登入資料的詳細資訊，請參閱[設定 AWS 命令列界面](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

**`--region`**  
 （選用） Stacks OpsWorks 服務端點的區域。請勿`--region`設定為堆疊的區域。 OpsWorks 堆疊會自動從堆疊 ID 決定堆疊的區域。  
如果您的預設區域已設定，您可以省略此引數。如需如何指定預設區域的詳細資訊，請參閱[設定 AWS 命令列界面](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

針對 Amazon EC2 和內部部署執行個體使用以下引數。

**`--infrastructure-class`**  
（必要） 此參數必須設定為 `ec2`或 `on-premises`，以指出您是分別註冊 Amazon EC2 還是內部部署執行個體。

**`--stack-id`**  
(必要) 要用來註冊執行個體的堆疊 ID。  
若要尋找堆疊 ID，請在 **Stack (堆疊)** 頁面上，選擇 **Settings (設定)**。堆疊 ID 會以 **OpsWorks ID** 標記，而且是看起來類似 `ad21bce6-7623-47f1-bf9d-af2affad8907` 的 GUID。

**SSH 登入引數**  
使用下列引數指定 `register` 應該如何登入執行個體。    
**`--local`**  
(選用) 使用此引數註冊您執行命令的執行個體。  
在此情況下，`register` 不需要登入執行個體。  
**`--ssh-private-key` 和 `--ssh-username`**  
 (選用) 如果您想要從個別工作站註冊執行個體，並想要明確指定使用者名稱或私有金鑰檔案，請使用這些引數。  
+ `--ssh-username` – 使用此引數指定 SSH 使用者名稱。

  如果您省略 `--ssh-username`，`ssh` 會使用預設使用者名稱。
+ `--ssh-private-key` – 使用此引數明確指定私有金鑰檔案。

  如果您省略 `--ssh-private-key`，`ssh` 會嘗試使用不需要密碼的身分驗證技術登入，包含使用預設私有金鑰。如果不支援上述任何技術，`ssh` 會詢問您的密碼。如需 `ssh` 如何處理身分驗證的詳細資訊，請參閱 [The Secure Shell (SSH) Authentication Protocol](https://www.ietf.org/rfc/rfc4252.txt)。  
**`--override-ssh`**  
 (選用) 如果您想要從個別工作站註冊執行個體，並想要指定自訂 [http://linux.about.com/od/commands/l/blcmdl1_ssh.htm](http://linux.about.com/od/commands/l/blcmdl1_ssh.htm) 命令字串，請使用此引數。`register` 命令使用此命令字串登入已註冊的執行個體。
如需 `ssh` 的詳細資訊，請參閱 [SSH](http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/slogin.1)。

**`--override-hostname`**  
 （選用） 指定執行個體的主機名稱，僅供 Stacks OpsWorks 使用。預設值是執行個體的主機名稱。

**`--debug`**  
(選用) 如果註冊程序失敗，則提供除錯資訊。如需故障診斷資訊，請參閱[故障診斷執行個體註冊](common-issues.md#common-issues-instance-registration)。

**`--use-instance-profile`**  
（選用，但強烈建議 Amazon EC2 執行個體） 讓`register`命令使用連接的執行個體描述檔，而不是建立 IAM 使用者。如果不小心刪除 IAM 使用者時嘗試管理已註冊的執行個體，新增此參數有助於防止發生錯誤。  
在註冊程序期間建立的 IAM 使用者需要註冊執行個體的整個生命週期。刪除使用者會導致 OpsWorks Stacks 代理程式無法與服務通訊。為了協助避免在意外刪除使用者時管理已註冊執行個體的問題，請將 `--use-instance-profile` 參數新增至您的`register`命令，以改用執行個體的內建執行個體描述檔。新增 `--use-instance-profile` 參數也可防止每 90 天輪換 AWS 帳戶存取金鑰時發生錯誤 （建議的最佳實務），因為它可防止 OpsWorks 代理程式和所需使用者可用的存取金鑰不相符。

**Target**  
(條件式) 如果您從工作站執行此命令，命令字串中的最終值會以下列其中一種方式指定註冊目標。  
+ 執行個體的公有 IP 地址。
+ 執行個體的主機名稱。
+ 對於 Amazon EC2 執行個體，則為執行個體 ID。

  OpsWorks Stacks 使用執行個體 ID 來取得執行個體組態，包括執行個體的公有 IP 地址。根據預設， OpsWorks Stacks 會使用此地址來建構用來登入執行個體的`ssh`命令字串。如果您需要連線至私有 IP 地址，您必須使用 `--override-ssh` 提供自訂命令字串。如需範例，請參閱 [從工作站註冊現場部署執行個體](registered-instances-register-registering-examples.md#registered-instances-register-registering-examples-workstation-onprem)。
如果您指定主機名稱，`ssh` 需要 DNS 伺服器將名稱解析為特定執行個體。如果您不確定主機名稱是唯一的，請使用 `ssh` 確認主機名稱解析為正確的執行個體。
如果您從要註冊的執行個體執行此命令，請省略執行個體識別符，並改用 `--local` 引數。

下列引數僅適用於現場部署執行個體。

**`--override-public-ip`**  
（選用） OpsWorks Stacks 會將指定的地址顯示為執行個體的公有 IP 地址。它不會變更執行個體的公有 IP 地址。不過，如果使用者使用主控台連線至執行個體，例如選擇**執行個體**頁面上的地址， OpsWorks Stacks 會使用指定的地址。 OpsWorks Stacks 會自動判斷引數的預設值。

**`--override-private-ip`**  
（選用） OpsWorks Stacks 會將指定的地址顯示為執行個體的私有 IP 地址。它不會變更執行個體的私有 IP 地址。 OpsWorks Stacks 會自動判斷引數的預設值。

# register 命令範例
<a name="registered-instances-register-registering-examples"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

本節包含 `register` 命令字串的一些範例。

**從工作站註冊 Amazon EC2 執行個體**  <a name="registered-instances-register-registering-examples-workstation-ec2"></a>
下列範例會從工作站註冊 Amazon EC2 執行個體。命令字串使用預設登入資料，並透過其 Amazon EC2 執行個體 ID 識別執行個體。透過將 `ec2` 變更為 `on-premises`，即可將範例用於現場部署執行個體。  

```
aws opsworks register \
  --region us-west-2 \
  --use-instance-profile \
  --infrastructure-class ec2 \
  --stack-id ad21bce6-7623-47f1-bf9d-af2affad8907 \
  --ssh-user-name my-sshusername \
  --ssh-private-key "./keys/mykeys.pem" \
  i-2422b9c5
```

**從工作站註冊現場部署執行個體**  <a name="registered-instances-register-registering-examples-workstation-onprem"></a>
下列範例會從個別工作站註冊現場部署執行個體。命令字串使用預設登入資料，並以指定的 `ssh` 命令字串登入執行個體。如果您的執行個體需要密碼，`register` 會提示您。您可以將 `on-premises`變更為 ，以使用 Amazon EC2 執行個體的範例`ec2`。  

```
aws opsworks register \
  --region us-west-2 \
  --infrastructure-class on-premises \
  --stack-id ad21bce6-7623-47f1-bf9d-af2affad8907 \
  --override-ssh "ssh your-user@192.0.2.0"
```
您可以使用 `--override-ssh` 指定任何自訂 SSH 命令字串。然後， OpsWorks Stacks 會使用指定的字串登入執行個體，而不是建構命令字串。如需其他範例，請參閱[使用自訂 SSH 命令字串註冊執行個體](#registered-instances-register-registering-examples-custom-ssh)。

**使用自訂 SSH 命令字串註冊執行個體**  <a name="registered-instances-register-registering-examples-custom-ssh"></a>
下列範例會從工作站註冊現場部署執行個體，並使用 `--override-ssh`引數指定`register`使用 登入執行個體的自訂 SSH 命令。此範例使用 `sshpass` 以使用者名稱和密碼登入，但您可以指定任何有效的 `ssh` 命令字串。  

```
aws opsworks register \
  --region us-west-2 \
  --infrastructure-class on-premises \
  --stack-id 2f92ff9d-04f2-4728-879b-f4283b40783c \
  --override-ssh "sshpass -p 'mypassword' ssh your-user@192.0.2.0"
```

**從執行個體執行 `register` 來註冊執行個體**  <a name="registered-instances-register-registering-examples-local"></a>
下列範例示範如何`register`透過從執行個體本身執行 來註冊 Amazon EC2 執行個體。命令字串取決於其許可的預設登入資料。若要使用現場部署執行個體的範例，請將 `--infrastructure-class`變更為 `on-premises`。  

```
aws opsworks register \
  --region us-west-2 \
  --infrastructure-class ec2 \
  --stack-id ad21bce6-7623-47f1-bf9d-af2affad8907 \
  --local
```

**使用私有 IP 地址註冊執行個體**  <a name="registered-instances-register-registering-examples-private-ip"></a>
根據預設，`register` 使用執行個體的公有 IP 地址登入執行個體。若要使用私有 IP 地址註冊執行個體 (例如 VPC 之私有子網路中的執行個體)，您必須使用 `--override-ssh` 指定自訂 `ssh` 命令字串。  

```
aws opsworks register \
  --region us-west-2 \
  --infrastructure-class ec2 \
  --stack-id 2f92ff9d-04f2-4728-879b-f4283b40783c \
  --override-ssh "ssh -i mykey.pem ec2-user@10.183.201.93" \
  i-2422b9c5
```

# 執行個體註冊政策
<a name="registered-instances-register-registering-template"></a>

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

`AWSOpsWorksRegisterCLI_EC2` 和 `AWSOpsWorksRegisterCLI_OnPremises` 政策分別提供適當的許可，來註冊 EC2 和現場部署執行個體。您可以將 `AWSOpsWorksRegisterCLI_EC2`新增至您的 IAM 使用者以註冊 EC2 執行個體，但將 `AWSOpsWorksRegisterCLI_OnPremises`新增至您的使用者以註冊現場部署執行個體。若要使用這些政策，您必須執行至少 1.16.180 版 AWS CLI 或更新版本的 。

## `AWSOpsWorksRegisterCLI_EC2` 政策
<a name="instance-profile-policy"></a>

將 `AWSOpsWorksRegisterCLI_EC2`新增至您的使用者以註冊 EC2 執行個體。如果您計劃只註冊 EC2 執行個體，則應該使用此設定檔。當您使用此政策，許可是由 EC2 執行個體的執行個體設定檔提供。

------
#### [ JSON ]

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "opsworks:AssignInstance",
            "opsworks:CreateLayer",
            "opsworks:DeregisterInstance",
            "opsworks:DescribeInstances",
            "opsworks:DescribeStackProvisioningParameters",
            "opsworks:DescribeStacks",
            "opsworks:UnassignInstance"
          ],
          "Resource": [
            "*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeInstances"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }
```

------

## (已廢除) `AWSOpsWorksRegisterCLI_OnPremises` 政策
<a name="register-onprem-policy"></a>

將 `AWSOpsWorksRegisterCLI_OnPremises`新增至您的使用者以註冊現場部署執行個體。此政策包含 IAM 許可，例如 `AttachUserPolicy`，但這些許可工作的資源受到限制。

------
#### [ JSON ]

****  

```
    {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "opsworks:AssignInstance",
            "opsworks:CreateLayer",
            "opsworks:DeregisterInstance",
            "opsworks:DescribeInstances",
            "opsworks:DescribeStackProvisioningParameters",
            "opsworks:DescribeStacks",
            "opsworks:UnassignInstance"
          ],
          "Resource": [
            "*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeInstances"
          ],
          "Resource": [
            "*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "iam:CreateGroup",
            "iam:AddUserToGroup"
          ],
          "Resource": [
            "arn:aws:iam::*:group/AWS/OpsWorks/OpsWorks-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "iam:CreateUser",
            "iam:CreateAccessKey"
          ],
          "Resource": [
            "arn:aws:iam::*:user/AWS/OpsWorks/OpsWorks-*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": [
            "iam:AttachUserPolicy"
          ],
          "Resource": [
            "arn:aws:iam::*:user/AWS/OpsWorks/OpsWorks-*"
          ],
          "Condition": {
            "ArnEquals": 
              {
                "iam:PolicyARN": "arn:aws:iam::aws:policy/AWSOpsWorksInstanceRegistration"
              }
            }
        }
      ]
    }
```

------

## (已廢除) `AWSOpsWorksRegisterCLI` 政策
<a name="registercli-policy"></a>

**重要**  
`AWSOpsWorksRegisterCLI` 政策已廢除，因此無法用來註冊新的執行個體。它只適用於已註冊之執行個體的回溯相容性。此`AWSOpsWorksRegisterCLI`政策包含許多 IAM 許可`CreateUser`，包括 `PutUserPolicy`、 和 `AddUserToGroup`。由於這些是管理員層級許可，您應該只將 `AWSOpsWorksRegisterCLI` 政策指派給信任的管理使用者。

# 管理已註冊的執行個體
<a name="registered-instances-manage"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

當您註冊執行個體時，它會成為 OpsWorks Stacks 執行個體，而且您可以像使用 Stacks OpsWorks 建立的執行個體一樣進行管理。主要有兩點差異：
+ 已註冊的執行個體不一定會指派給某 layer。
+ 您可以取消註冊已註冊的執行個體，並將其交還給您直接控制。

註冊執行個體後，執行個體會處於已註冊狀態。 OpsWorks Stacks 為所有已註冊的執行個體提供下列管理功能：
+ **運作狀態檢查** – OpsWorks Stacks 會監控代理程式，以評估執行個體是否繼續運作。

  如果執行個體未通過運作狀態檢查， OpsWorks Stacks [會自動修復](workinginstances-autohealing.md)已註冊的 Amazon EC2 執行個體，並將已註冊現場部署執行個體的狀態變更為 `connection lost`。
+ **[CloudWatch 監控](monitoring-cloudwatch.md)** – 針對已註冊的執行個體啟用 CloudWatch 監控。

  您可以監控 CPU 使用率和可用記憶體等指標，並選擇性地在指標超過指定的閾值時收到通知。
+ **使用者管理** – OpsWorks Stacks 提供簡單的方法來指定哪些使用者可以存取執行個體，以及他們可以執行哪些操作。如需詳細資訊，請參閱[管理使用者許可](opsworks-security-users.md)。
+ **配方執行** – 您可以使用[執行配方堆疊命令](workingstacks-commands.md)在執行個體上執行 Chef 配方。
+ **作業系統更新** – 您可以使用[更新相依性堆疊命令](workingstacks-commands.md)來更新執行個體的作業系統。

若要充分利用 OpsWorks Stacks 管理功能，您可以將執行個體指派給 layer。如需詳細資訊，請參閱[將已註冊的執行個體指派給某 Layer](registered-instances-assign.md)。

Stacks OpsWorks 管理 Amazon EC2 和內部部署執行個體的方式有所不同。

Amazon EC2 執行個體  
+ 如果您停止已註冊的 Amazon EC2 執行個體， OpsWorks Stacks 會終止執行個體存放區後端執行個體，並停止 Amazon EBS 後端執行個體。

  執行個體仍處於已向堆疊註冊的狀態並已指派給其所在 layer，因此您可以視需要將它重新啟動。您必須取消註冊已註冊的執行個體來將它從堆疊中移除，可以[明確進行](registered-instances-deregister.md)或透過[刪除執行個體](workinginstances-delete.md)，後者會自動將它取消註冊。
+ 如果您重新啟動已註冊的 Amazon EC2 執行個體，或執行個體失敗且自動修復，則結果與使用 Amazon EC2 停止和重新啟動執行個體相同。請注意下列差異：
  + 執行個體後端執行個體 – OpsWorks Stacks 使用相同的 AMI 啟動新的執行個體。

    請注意， OpsWorks Stacks 不了解您在執行個體註冊之前在執行個體上執行的任何操作，例如安裝軟體套件。如果您希望 OpsWorks Stacks 在啟動時安裝套件或執行其他組態任務，您必須提供自訂 Chef 配方來執行所需的任務，並將其指派給適當的 layer 設定事件。
  + Amazon EBS 後端執行個體 – OpsWorks Stacks 會使用相同的 AMI 啟動新的執行個體，並重新連接根磁碟區，將執行個體還原至先前的組態。
+ 如果您取消註冊已註冊的 Amazon EC2 執行個體，它會返回為一般 Amazon EC2 執行個體。

現場部署執行個體  
+ OpsWorks Stacks 無法停止或啟動已註冊的內部部署執行個體。

  取消指派已註冊的內部部署執行個體會觸發關機事件。不過，該事件只會執行所指派 layer 的關機配方。它們會執行關閉服務等任務，但不會停止執行個體。
+ OpsWorks 如果已註冊的內部部署執行個體失敗， Stacks 無法自動修復，但執行個體會標記為連線遺失。
+ 內部部署執行個體無法使用 Elastic Load Balancing、Amazon EBS 或彈性 IP 地址服務。

# 將已註冊的執行個體指派給某 Layer
<a name="registered-instances-assign"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

註冊執行個體之後，您可以將其指派給一或多 layer。將執行個體指派給 layer 而不是讓它保持未指派的優點是，您可以將自訂配方指派給 layer 的[生命週期事件](workingcookbook-events.md)。然後， OpsWorks Stacks 會在 layer 的配方之後的適當時間自動執行它們。
+ 您可以將已註冊的任何執行個體指派給[自訂 layer](workinglayers-custom.md)。自訂 layer 包含不會安裝任何套件的一組最少配方，因此應該不會與執行個體的現有組態產生任何衝突。
+ 您可以將內部部署執行個體指派給 OpsWorks Stacks [內建 layer](workinglayers.md)。

  每個內建 layer 包含自動安裝一或多個套件的配方。例如，Java App Server 設定配方會安裝 Apache 和 Tomcat。該 layer 的配方也可能會執行其他操作，例如重新啟動服務及部署應用程式。在將現場部署執行個體指派給內建 layer 之前，您應該確保 layer 的配方不會產生任何衝突，例如嘗試安裝與執行個體目前不同的應用程式伺服器版本。如需詳細資訊，請參閱[層](workinglayers.md)及[OpsWorks Stacks Layer 參考](layers.md)。

**將已註冊的執行個體指派給某 layer**

1. 新增您要使用堆疊的 layer (如果您尚未這樣做)。

1. 在導覽窗格中選擇**執行個體**，然後在執行個體**的動作**欄中選擇**指派**。

1. 選取適當 layer，然後選擇 **Save (儲存)**。

當您將執行個體指派給 layer Stacks OpsWorks 時，會執行下列動作。
+ 執行該 layer 的安裝配方。
+ 將任何連接的彈性 IP 地址或 Amazon EBS 磁碟區新增至堆疊的資源。

  然後，您可以使用 OpsWorks Stacks 來管理這些資源。如需詳細資訊，請參閱[資源管理](resources.md)。

完成後，執行個體會處於線上狀態，並完全整合到堆疊中。 OpsWorks 堆疊接著會在每次生命週期事件發生時執行 layer 指派的配方。

# 取消指派已註冊的執行個體
<a name="registered-instances-unassign"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

您可以使用 OpsWorks 主控台或 SDK 操作 AWS CLI，從其 layer 取消指派已註冊的執行個體。

當您取消指派執行個體時， OpsWorks Stacks 會在執行個體上執行 layer 的關機配方。這些配方會執行關閉服務等任務，但不會停止執行個體。如果將執行個體指派給多 layer，取消指派會套用至每一 layer；您無法將執行個體從其一小部分 layer 取消指派。不過，執行個體仍處於已向堆疊註冊的狀態，因此您可以視需要將其指派給另一 layer。

**使用主控台取消指派已註冊的執行個體**

1. 在導覽窗格中，選擇**執行個體**。

1. 選擇您要取消指派的執行個體。

1. 在執行個體**的詳細資訊**頁面上，選擇**取消指派**。  
![\[在執行個體的詳細資訊頁面上取消指派已註冊的執行個體\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/unassign-instance.png)

**使用 取消指派已註冊的執行個體 AWS CLI**

執行 [https://docs.aws.amazon.com/cli/latest/reference/opsworks/unassign-instance.html](https://docs.aws.amazon.com/cli/latest/reference/opsworks/unassign-instance.html)命令，從使用該執行個體的所有層取消指派已註冊的執行個體。

```
aws opsworks unassign-instance --region region --instance-id instance-id
```

# 取消註冊已註冊的執行個體
<a name="registered-instances-deregister"></a>

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

您可以使用 OpsWorks 主控台 AWS CLI或 SDK 操作取消註冊執行個體。

**

**使用主控台取消註冊執行個體**

1. 在導覽窗格中，選擇**執行個體**。

1. 選擇您要取消註冊的執行個體。

1. 在執行個體**的詳細資訊**頁面上，選擇**取消註冊**。  
![\[在執行個體的詳細資訊頁面上取消註冊執行個體\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/deregister-instance.png)

**使用 取消註冊執行個體 AWS CLI**

執行 [https://docs.aws.amazon.com/cli/latest/reference/opsworks/deregister-instance.html](https://docs.aws.amazon.com/cli/latest/reference/opsworks/deregister-instance.html)命令，從其堆疊取消註冊執行個體。

```
aws opsworks deregister-instance --region region --instance-id instance-id
```

當您取消註冊執行個體時， OpsWorks Stacks 會執行下列動作：
+ 將執行個體從堆疊中移除。
+ 將執行個體從任何指派 layer 取消指派。
+ 關閉並解除安裝代理程式。
+ 取消註冊任何連接的資源 （彈性 IP 地址和 Amazon EBS 磁碟區）。

  此程序包括在註冊之前連接到執行個體的資源，以及您使用 OpsWorks Stacks 在作為堆疊的一部分時連接到執行個體的資源。取消註冊之後，資源將不再是堆疊資源的一部分，但會保持連接至執行個體。
+ 停止收取現場部署執行個體的費用。
+ 移除 OpsWorks 新增至執行個體的所有標籤。

執行個體會維持在執行中狀態，但由您直接控制，且不再由 Stacks OpsWorks 管理。

**注意**  
只有在 Linux 堆疊中完全支援註冊和取消註冊電腦或執行個體。對於 Windows 堆疊，允許取消註冊執行個體，但不會從執行個體解除安裝 OpsWorks 代理程式。取消註冊不會移除所有變更的檔案，也不會完整還原為特定檔案的備份副本。此清單適用於 Chef 11.10 和 Chef 12 堆疊；以下說明這兩種版本之間的差異。  
`/etc/hosts` 會備份至 `/var/lib/aws/opsworks/local-mode-cache/backup/etc/`，但不會還原。
`aws` 和 `opsworks` 項目會保留在 passwd、group 和 shadow 檔案等。
`/etc/sudoers` 包含 Stacks OpsWorks 目錄的參考。
下列檔案會安全留下；若要長期保留，請考慮刪除 `/var/lib/aws/opsworks`。  
`/var/log/aws/opsworks` 會保留在 Chef 11.10 堆疊中的執行個體上。
`/var/lib/aws/opsworks` 會保留在 Chef 11.10 和 Chef 12 堆疊上。
`/var/chef` 會保留在 Chef 12 堆疊中的執行個體上。
其他留下的檔案：  
`/etc/logrotate.d/opsworks-agent`
`/etc/cron.d/opsworks-agent-updater`
`/etc/ld.so.conf.d/opsworks-user-space.conf`
`/etc/motd.opsworks-static`
`/etc/aws/opsworks`
`/etc/sudoers.d/opsworks`
`/etc/sudoers.d/opsworks-agent`

# 已註冊執行個體的生命週期
<a name="registered-instances-lifecycle"></a>

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

**注意**  
只有 Linux 堆疊支援此功能。

已註冊執行個體的生命週期是從安裝及執行代理程式之後開始。此時，它會指示 OpsWorks Stacks 向堆疊註冊執行個體。下列狀態圖表摘要說明生命週期的主要元素。

![\[State diagram showing lifecycle of registered instances with various states and transitions.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/on-prem-state.png)


每個狀態對應至一個執行個體狀態。邊緣代表下列其中一個 OpsWorks Stacks 命令。下列各節將會詳細討論。
+ **設定** – 此命令對應於設定[生命週期事件](workingcookbook-events.md)，並執行執行個體的設定配方。
+ **設定** – 此命令對應至設定生命週期事件。

  OpsWorks 當執行個體進入或離開線上狀態時， Stacks 會在堆疊中的每個執行個體上觸發此事件。執行個體會執行其設定配方，這會進行任何必要變更，以配合新的執行個體。
+ **關閉** – 此命令對應於執行執行個體關機配方的關機生命週期事件。

  這些配方會執行關閉服務等任務，但不會停止執行個體。
+ **取消註冊** – 此命令會取消註冊執行個體，且不對應至生命週期事件。

**注意**  
為求簡化，此圖表不會顯示 Deregistering (正在取消註冊) 和 Deleted (已刪除) 狀態。您可以取消註冊圖表中任何狀態的執行個體，這會將取消註冊命令傳送至執行個體，並將其移至 Deregistering (正在取消註冊) 狀態。  
如果您取消註冊線上執行個體， OpsWorks Stacks 會將 Configure 命令傳送至堆疊中的其餘執行個體，以通知他們執行個體正在離線。
確認取消註冊命令之後，執行個體仍在執行中，但會處於 Deleted (已刪除) 狀態，且不再是堆疊的一部分。如果您想要將執行個體再次納入堆疊，您必須重新註冊。

**Topics**
+ [

## 正在註冊
](#registered-instances-lifecycle-registering)
+ [

## 安裝執行中
](#registered-instances-lifecycle-running-setup)
+ [

## 已登記
](#registered-instances-lifecycle-registered)
+ [

## 正在指派
](#registered-instances-lifecycle-assigning)
+ [

## 線上
](#registered-instances-lifecycle-online)
+ [

## 安裝失敗
](#registered-instances-lifecycle-setup-failed)
+ [

## 正在取消指派
](#registered-instances-lifecycle-unassigning)
+ [

## 初始安裝組態變更
](#registered-instances-lifecycle-setup-config)

## 正在註冊
<a name="registered-instances-lifecycle-registering"></a>

代理程式傳送註冊請求後， OpsWorks Stacks 會傳送設定命令至執行個體，使其進入註冊狀態，以啟動執行個體生命週期。執行個體確認安裝命令之後，便會移至 [安裝執行中](#registered-instances-lifecycle-running-setup) 狀態。

## 安裝執行中
<a name="registered-instances-lifecycle-running-setup"></a>

Running Setup (安裝執行中) 狀態會執行執行個體的安裝配方。安裝運作與否，取決於先前狀態。

**注意**  
如果您在執行個體處於執行中設定狀態時取消指派執行個體， OpsWorks Stacks 會傳送 Shutdown 命令，該命令會執行執行個體的關機配方，但不會停止執行個體。執行個體會移至 [正在取消指派](#registered-instances-lifecycle-unassigning) 狀態。

**Topics**
+ [

### 正在註冊
](#registered-instances-lifecycle-running-setup-registering)
+ [

### 正在指派
](#registered-instances-lifecycle-running-setup-assigning)
+ [

### 安裝失敗
](#registered-instances-lifecycle-running-setup-failed)

### 正在註冊
<a name="registered-instances-lifecycle-running-setup-registering"></a>

在註冊程序期間， 設定會建立 OpsWorks Stacks 執行個體來代表堆疊中已註冊的執行個體，並在執行個體上執行一組核心設定配方。

初始安裝所執行的一項重要變更是覆寫執行個體的主機檔案。藉由註冊執行個體，您會將使用者管理移交給 OpsWorks Stacks，其必須具有自己的主機檔案才能控制 SSH 登入許可。初始安裝也會建立或修改一些檔案，並在 Ubuntu 系統上修改套件來源及安裝一組套件。如需詳細資訊，請參閱[初始安裝組態變更](#registered-instances-lifecycle-setup-config)。

在註冊期間， 程序會呼叫 IAM`AttachUserPolicy`，該 IAM 是附加至您建立為先決條件的 IAM 使用者之許可的一部分。如果 `AttachUserPolicy` 不存在 (最可能的原因是您執行舊版 AWS CLI)，則程序會回到呼叫 `PutUserPolicy`。

**注意**  
為了保持一致性， OpsWorks Stacks 會執行每個核心設定配方。不過，其中一些配方只會在執行個體已指派給至少一 layer 時執行其部分或所有任務，因此不一定會影響初始安裝。
+ 如果安裝成功，執行個體會移至 [已登記](#registered-instances-lifecycle-registered) 狀態。
+ 如果安裝失敗，執行個體會移至 [安裝失敗](#registered-instances-lifecycle-setup-failed) 狀態。

### 正在指派
<a name="registered-instances-lifecycle-running-setup-assigning"></a>

執行個體至少有一個指派的 layer。 OpsWorks Stacks 會執行每個 layer 的設定配方，包括您[指派給 layer 設定事件](workingcookbook-executing.md)的任何自訂配方。
+ 如果安裝成功，執行個體會移至 Online (線上) 狀態，而且 OpsWorks Stacks 會在堆疊中的每個執行個體上觸發設定生命週期事件，以通知它們有此新的執行個體。
+ 如果安裝失敗，執行個體會移至 Setup Failed (安裝失敗) 狀態。

**注意**  
此安裝程序會再次執行核心配方。不過，Chef 配方為等冪操作，因此不會重複已執行的任何任務。

### 安裝失敗
<a name="registered-instances-lifecycle-running-setup-failed"></a>

如果 [正在指派](#registered-instances-lifecycle-assigning) 狀態之執行個體的安裝程序失敗，您可以使用[安裝堆疊命令](workingstacks-commands.md)再試一次，來手動重新執行執行個體的安裝配方。
+ 如果安裝成功，指派的執行個體會移至 [線上](#registered-instances-lifecycle-online) 狀態，而且 OpsWorks Stacks 會在堆疊中的每個執行個體上觸發設定生命週期事件，以通知它們有此新的執行個體。
+ 如果安裝嘗試失敗，執行個體會移回 Setup Failed (安裝失敗) 狀態。

## 已登記
<a name="registered-instances-lifecycle-registered"></a>

處於已註冊狀態的執行個體是堆疊的一部分，由 Stacks OpsWorks 管理，但不會指派給 layer。它們可以無限期地保持在此狀態。

如果您將執行個體指派給一或多個 layer， OpsWorks Stacks 會傳送設定命令給執行個體，並移至 [正在指派](#registered-instances-lifecycle-assigning) 狀態。

## 正在指派
<a name="registered-instances-lifecycle-assigning"></a>

執行個體確認安裝命令之後，便會移至 [安裝執行中](#registered-instances-lifecycle-running-setup) 狀態。

如果您在執行個體處於指派狀態時取消指派執行個體， OpsWorks Stacks 會終止設定程序並傳送關機命令。執行個體會移至 [正在取消指派](#registered-instances-lifecycle-unassigning) 狀態。

## 線上
<a name="registered-instances-lifecycle-online"></a>

執行個體現在是至少一 layer 的成員，並會視為一般 OpsWorks Stacks 執行個體。它可以無限期地保持在此狀態。

如果您在執行個體處於線上狀態時取消指派執行個體， OpsWorks Stacks 會將 Shutdown 命令傳送至執行個體，並將 Configure 命令傳送至堆疊的其餘執行個體。執行個體會移至 [正在取消指派](#registered-instances-lifecycle-unassigning) 狀態。

## 安裝失敗
<a name="registered-instances-lifecycle-setup-failed"></a>

安裝命令失敗。
+ 您可以執行[安裝堆疊命令](workingstacks-commands.md)再試一次。

  執行個體會返回 [安裝執行中](#registered-instances-lifecycle-running-setup) 狀態。
+ 如果您取消指派執行個體， OpsWorks Stacks 會將 Shutdown 命令傳送至執行個體。

  執行個體會移至 [正在取消指派](#registered-instances-lifecycle-unassigning) 狀態。

## 正在取消指派
<a name="registered-instances-lifecycle-unassigning"></a>

關機命令完成之後，執行個體將不再指派給任一 layer，並會返回 [已登記](#registered-instances-lifecycle-registered) 狀態。

**注意**  
如果將執行個體指派給多 layer，取消指派會套用至每一 layer；您無法取消指派一小部分指派 layer。如果您想要一組不同的指派 layer，請取消指派執行個體，然後重新指派所需 layer。

## 初始安裝組態變更
<a name="registered-instances-lifecycle-setup-config"></a>

初始安裝會建立或修改所有已註冊執行個體上的下列檔案和目錄。

**建立的檔案**  

```
/etc/apt/apt.conf.d/99-no-pipelining
/etc/aws/
/etc/init.d/opsworks-agent
/etc/motd
/etc/motd.opsworks-static
/etc/sudoers.d/opsworks
/etc/sudoers.d/opsworks-agent
/etc/sysctl.d/70-opsworks-defaults.conf
/opt/aws/opsworks/
/usr/sbin/opsworks-agent-cli
/var/lib/aws/
/var/log/aws/
/vol/
```

**修改的檔案**  

```
/etc/apt/apt.conf.d/99-no-pipelining
/etc/crontab
/etc/default/monit
/etc/group
/etc/gshadow
/etc/monit/monitrc
/etc/passwd
/etc/security/limits.conf (removing limits only for EC2 micro instances)
/etc/shadow
/etc/sudoers
```

初始設定也會在 Amazon EC2 微型執行個體上建立交換檔案。

初始安裝會對 Ubuntu 系統進行下列變更。

套件來源  
初始安裝會將套件來源變更如下。  
+ `deb http://archive.ubuntu.com/ubuntu/ ${code_name} main universe`

  收件人： `deb-src http://archive.ubuntu.com/ubuntu/ ${code_name} main universe`
+ `deb http://archive.ubuntu.com/ubuntu/ ${code_name}-updates main universe`

  收件人： `deb-src http://archive.ubuntu.com/ubuntu/ ${code_name}-updates main universe`
+ `deb http://archive.ubuntu.com/ubuntu ${code_name}-security main universe`

  收件人： `deb-src http://archive.ubuntu.com/ubuntu ${code_name}-security main universe`
+ `deb http://archive.ubuntu.com/ubuntu/ ${code_name}-updates multiverse`

  收件人： `deb-src http://archive.ubuntu.com/ubuntu/ ${code_name}-updates multiverse`
+ `deb http://archive.ubuntu.com/ubuntu ${code_name}-security multiverse`

  收件人： `deb-src http://archive.ubuntu.com/ubuntu ${code_name}-security multiverse`
+ `deb http://archive.ubuntu.com/ubuntu/ ${code_name} multiverse`

  收件人： `deb-src http://archive.ubuntu.com/ubuntu/ ${code_name} multiverse`
+ `deb http://security.ubuntu.com/ubuntu ${code_name}-security multiverse`

  收件人： `deb-src http://security.ubuntu.com/ubuntu ${code_name}-security multiverse`

套件  
初始安裝會解除安裝 `landscape` 並安裝下列套件。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/registered-instances-lifecycle.html)