演練:從您的工作站註冊執行個體 - AWS OpsWorks

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

演練:從您的工作站註冊執行個體

重要

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

注意

只有 Linux 堆疊支援此功能。

註冊程序支援數種案例。本節將引導您完成一個案 end-to-end 例的範例:如何使用工作站註冊 Amazon EC2 執行個體。其他註冊案例使用類似的程序。如需詳細資訊,請參閱 註冊 Amazon EC2 和現場部署執行個體

注意

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

步驟 1:建立堆疊和執行個體

若要開始使用,您需要在該堆疊中註冊一個堆疊和一個 Amazon EC2 執行個體。

建立堆疊和執行個體
  1. 使用 AWS OpsWorks Stacks 主控台建立新的堆疊,並命名為 EC2Register。針對其他堆疊設定,您可以接受預設值。

  2. Amazon EC2 主控台啟動新執行個體。請注意下列內容。

    • 執行個體必須與堆疊位於相同的區域和 VPC。

      如果您使用 VPC,請為本演練挑選一個公有子網路。

    • 如果您需要建立 SSH 金鑰,請將私有金鑰檔案儲存至您的工作站,並記錄名稱和檔案位置。

      如果您使用現有的金鑰,請記錄名稱和私有金鑰檔案位置。您稍後需要這些值。

    • 執行個體必須以其中一個支援的 Linux 作業系統為基礎。例如,如果您的堆疊位於美國西部 (奧勒岡),您可以使用ami-35501205在該區域中啟動 Ubuntu 14.04 LTS 執行個體。

    否則,請接受預設值。

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

步驟 2:安裝並設定 AWS CLI

註冊是通過使用 AWS CLI aws opsworks register命令執行。在註冊第一個執行個體之前,您必須執行的是 1.16.180 版 AWS CLI 或更新版本。安裝詳細資訊取決於您工作站的作業系統。如需有關安裝的詳細資訊 AWS CLI,請參閱安裝 AWS 命令列界面。若要檢查您正在執行的 AWS CLI 版本,請在 shell 工作階段中輸入 aws --version

注意

若要防止使用者或角色註冊執行個體,請更新執行個體設定檔以拒絕存取register指令。

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

您必須提供 register 一組具備適當許可的 AWS 登入資料。建議您執行這項操作的方式 (避免直接在執行個體上安裝認證) 是註冊使用執行個體設定檔啟動的執行個體,然後將參數新增至您的命令。--use-instance-profile register如果您透過執行個體描述檔取得登入資料,則請跳到本主題中的步驟 3:向 EC2Register 堆疊註冊執行個體。不過,如果未使用執行個體描述檔啟動您的執行個體,則可以建立 IAM 使用者。下列程序會建立具有適當權限的新使用者,在工作站上安裝使用者的認證,然後將這些認證傳遞給register

警告

IAM 使用者擁有長期登入資料,這會帶來安全風險。為了減輕此風險,我們建議您僅向這些使用者提供執行工作所需的權限,並在不再需要這些使用者時移除這些使用者。

建立使用者
  1. IAM 主控台的導覽窗格中,選擇 Users (使用者),然後選擇 Add user (新增使用者)

  2. 新增名為 EC2Register 的使用者。

  3. 選擇下一步

  4. 在 [設定權限] 頁面上,選擇 [直接附加原則]。

  5. OpsWorks在 [權限] 原則篩選方塊中輸入以顯示原 AWS OpsWorks 則、選取下列其中一個原則,然後選擇 [下一步:檢閱]。此政策會授予您的使用者執行 register 所需的許可。

    • 選擇 AWSOpsWorksRegisterCLI_EC2 以許可使用者註冊使用執行個體設定檔的 EC2 執行個體。

    • 選擇 AWSOpsWorksRegisterCLI_OnPremises 以許可使用者註冊現場部署執行個體。

  6. 選擇下一步

  7. Review (檢閱) 頁面上,選擇 Create user (建立使用者)。

  8. 現在為您的用戶創建訪問密鑰。從功能窗格中選擇 [使者],然後選擇您要建立存取金鑰的使用者。

  9. 選擇「安全認證」標籤,然後選擇「建立存取金鑰」。

  10. 選擇最適合您任務的 Access 密鑰最佳實踐和替代方案

  11. 選擇下一步

  12. (選擇性) 輸入標籤以識別存取金鑰。

  13. 選擇下一步

  14. 選擇 [下載 .csv 檔案],將認證檔案儲存到系統上方便的位置,然後選擇 [完成]。

您需要將 IAM 使用者的登入資料提供給 register。本演練會透過安裝您工作站之 credentials 檔案中的 EC2Register 登入資料,來處理此任務。如需管理認證的其他方式的相關資訊 AWS CLI,請參閱組態和認證檔案

安裝使用者的登入資料
  1. 建立或開啟您工作站的 credentials 檔案。該檔案位於 ~/.aws/credentials (Linux、Unix 和 OS X) 或 C:\Users\User_Name\.aws\credentials (Windows 系統) 中。

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

    [ec2register] aws_access_key_id = access_key_id aws_secret_access_key = secret_access_key

    access_key_idsecret_access_key 取代為您稍早下載的 EC2Register 金鑰。

步驟 3:向 EC2Register 堆疊註冊執行個體

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

註冊執行個體
  1. 在「堆 AWS OpsWorks 疊」中,返回 EC2Register 堆疊,在導覽窗格中選擇「實例」,然後選擇「註冊實體」。

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

  3. 選擇下一步:安裝 AWS CLI,然後下一步:註冊執行個體。 AWS OpsWorks 堆疊會自動使用可用資訊 (例如堆疊 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
    注意

    如果堆疊位於與地區端點關聯的傳統區域內,則必須將「區域」設定為 AWS OpsWorks Stacks 服務的端點區域,而不是堆疊的「區us-east-1域」。 AWS OpsWorks 堆棧從堆棧 ID 確定堆棧的區域。

  4. 命令範本包含數個使用者特定的引數值,這些值會以括號表示且必須取代為適當的值。將命令範本複製到文字編輯器,並依照下列方式編輯。

    重要

    在註冊執行個體的整個生命週期中,都需要在註冊程序期間建立的 IAM 使用者。刪除使用者會導致 AWS OpsWorks 堆疊代理程式無法與服務通訊。若要避免在意外刪除使用者時發生管理已註冊執行個體的問題,請將--use-instance-profile參數新增至您的register命令,以改用執行個體的內建執行個體設定檔。新增--use-instance-profile參數也可以防止每 90 天輪換 AWS 帳戶存取金鑰時發生錯誤 (建議的最佳做法),因為它可以防止 AWS OpsWorks 代理程式可用的存取金鑰與必要 IAM 使用者之間不相符。

    • 金鑰檔案取代為您在建立執行個體時儲存之 Amazon EC2 key pair 的私密金鑰檔案的完整路徑。

      如果您想要,也可以使用相對路徑。

    • username 取代為執行個體的使用者名稱。

      在此範例中,使用者名稱是 ubuntu (若是 Ubuntu 執行個體) 或 ec2-user (若是 Red Hat Enterprise Linux (RHEL) 或 Amazon Linux 執行個體)。

    • Add--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
  5. 在您的工作站上開啟終端機視窗,從您的編輯器貼上 register 命令,然後執行命令。

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

  6. 完成後,請停止執行個體,然後使用 AWS OpsWorks Stack 主控台或指令將其刪除。這會終止 Amazon EC2 執行個體,因此您不會產生任何其他費用。