

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

# 演練：從您的工作站註冊執行個體
<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 執行個體，因此您不需要支付任何進一步的費用。