已註冊執行個體的生命週期 - AWS OpsWorks

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

已註冊執行個體的生命週期

重要

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

注意

只有 Linux 堆疊支援此功能。

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

每個狀態對應至一個執行個體狀態。邊緣代表下列「 AWS OpsWorks 堆疊」指令之一。下列各節將會詳細討論。

  • 設定 — 此命令對應於安裝程式生命週期事件,並執行執行個體的安裝程式方法。

  • 配置 — 此指令對應於「規劃生命週期」事件。

    AWS OpsWorks 當執行個體進入或離開線上狀態時,Stacks 會在堆疊中的每個執行個體上觸發這個事件。執行個體會執行其設定配方,這會進行任何必要變更,以配合新的執行個體。

  • 關機 — 此命令對應於執行執行個體的「關機」方法的「關機」生命週期事件。

    這些配方會執行關閉服務等任務,但不會停止執行個體。

  • 消註冊 — 此指令會取消註冊執行個體,且不對應於生命週期事件。

注意

為求簡化,此圖表不會顯示 Deregistering (正在取消註冊) 和 Deleted (已刪除) 狀態。您可以取消註冊圖表中任何狀態的執行個體,這會將取消註冊命令傳送至執行個體,並將其移至 Deregistering (正在取消註冊) 狀態。

  • 如果您取消註冊線上執行個體, AWS OpsWorks Stacks 會傳送 Configuration 指令給堆疊中剩餘的執行個體,通知他們執行個體將離線。

  • 確認取消註冊命令之後,執行個體仍在執行中,但會處於 Deleted (已刪除) 狀態,且不再是堆疊的一部分。如果您想要將執行個體再次納入堆疊,您必須重新註冊。

正在註冊

代理程式傳送註冊要求後, AWS OpsWorks Stacks 會傳送安裝指令至執行個體,並將其置於 [正在註冊] 狀態,以啟動執行個體生命週期。執行個體確認安裝命令之後,便會移至 安裝執行中 狀態。

安裝執行中

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

注意

如果您在執行個體處於「執行中安裝程式」狀態時取消指派執行個體, AWS OpsWorks Stack 會傳送 Shutdown 指令,該命令會執行執行個體的 Shutdown 配方,但不會停止執行個體。執行個體會移至 正在取消指派 狀態。

正在註冊

在註冊程序期間,安裝程式會建立 AWS OpsWorks Stacks 執行個體來代表堆疊中已註冊的執行個體,並在執行個體上執行一組核心安裝方法。

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

在註冊期間,AttachUserPolicy此程序會呼叫屬於您建立之 IAM 使用者作為先決條件之權限一部分的 IAM。如果 AttachUserPolicy 不存在 (最可能的原因是您執行舊版 AWS CLI),則程序會回到呼叫 PutUserPolicy

注意

為確保一致性, AWS OpsWorks Stacks 會執行每個核心安裝配方。不過,其中一些配方只會在執行個體已指派給至少一 layer 時執行其部分或所有任務,因此不一定會影響初始安裝。

  • 如果安裝成功,執行個體會移至 已登記 狀態。

  • 如果安裝失敗,執行個體會移至 安裝失敗 狀態。

正在指派

例證至少有一個指定的圖層。 AWS OpsWorks 堆疊會執行每個圖層的設定配方,包括您指派給圖層設定事件的任何自訂配方。

  • 如果安裝成功,執行個體會移至 Online (線上) 狀態,而且 AWS OpsWorks Stacks 會在堆疊中的每個執行個體上觸發設定生命週期事件,以通知它們有此新的執行個體。

  • 如果安裝失敗,執行個體會移至 Setup Failed (安裝失敗) 狀態。

注意

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

安裝失敗

如果 正在指派 狀態之執行個體的安裝程序失敗,您可以使用安裝堆疊命令再試一次,來手動重新執行執行個體的安裝配方。

  • 如果安裝成功,指派的執行個體會移至 線上 狀態,而且 AWS OpsWorks Stacks 會在堆疊中的每個執行個體上觸發設定生命週期事件,以通知它們有此新的執行個體。

  • 如果安裝嘗試失敗,執行個體會移回 Setup Failed (安裝失敗) 狀態。

已登記

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

如果您將實體指派給一或多個圖層,「 AWS OpsWorks 堆疊」會傳送「設定」指令至實體,然後它會移至該正在指派狀態。

正在指派

執行個體確認安裝命令之後,便會移至 安裝執行中 狀態。

如果您在執行個體處於 [指派] 狀態時取消指派, AWS OpsWorks 堆疊會終止安裝程序並傳送 Shutdown 指令。執行個體會移至 正在取消指派 狀態。

線上

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

如果您在執行個體處於「線上」狀態時取消指派, AWS OpsWorks Stack 會將 Shutdown 命令傳送至執行個體,並將 Configuration 命令傳送至堆疊的其餘執行個體。執行個體會移至 正在取消指派 狀態。

安裝失敗

安裝命令失敗。

正在取消指派

關機命令完成之後,執行個體將不再指派給任一 layer,並會返回 已登記 狀態。

注意

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

初始安裝組態變更

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

建立的檔案
/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 並安裝下列套件。

autofs libicu-dev libopenssl-ruby
libssl-dev libxml2-dev libxslt-dev
libyaml-dev monit ntpd
procps ruby ruby-dev
rubygems screen sqlite
vim xfs