本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
已註冊執行個體的生命週期
重要
AWS OpsWorks Stacks 服務已於 2024 年 5 月 26 日終止,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問,請透過 AWS re:Post
注意
只有 Linux 堆疊支援此功能。
已註冊執行個體的生命週期是從安裝及執行代理程式之後開始。此時,它會指示 AWS OpsWorks Stacks 向堆疊註冊執行個體。下列狀態圖表摘要說明生命週期的主要元素。

每個狀態對應至一個執行個體狀態。邊緣代表下列其中一個 AWS OpsWorks Stacks 命令。下列各節將會詳細討論。
-
設定 – 此命令對應至設定生命週期事件,並執行執行個體的設定配方。
-
設定 – 此命令對應至設定生命週期事件。
AWS OpsWorks 當執行個體進入或離開線上狀態時,Stacks 會在堆疊中的每個執行個體上觸發此事件。執行個體會執行其設定配方,這會進行任何必要變更,以配合新的執行個體。
-
關機 – 此命令對應至關機生命週期事件,該事件會執行執行個體的關機配方。
這些配方會執行關閉服務等任務,但不會停止執行個體。
-
取消註冊 – 此命令會取消註冊執行個體,且不會對應至生命週期事件。
注意
為求簡化,此圖表不會顯示 Deregistering (正在取消註冊) 和 Deleted (已刪除) 狀態。您可以取消註冊圖表中任何狀態的執行個體,這會將取消註冊命令傳送至執行個體,並將其移至 Deregistering (正在取消註冊) 狀態。
-
如果您取消註冊線上執行個體, AWS OpsWorks Stacks 會將設定命令傳送至堆疊中的其餘執行個體,以通知他們執行個體正在離線。
-
確認取消註冊命令之後,執行個體仍在執行中,但會處於 Deleted (已刪除) 狀態,且不再是堆疊的一部分。如果您想要將執行個體再次納入堆疊,您必須重新註冊。
正在註冊
代理程式傳送註冊請求後, AWS OpsWorks Stacks 會透過將設定命令傳送至執行個體,使其處於註冊狀態,來啟動執行個體生命週期。執行個體確認安裝命令之後,便會移至 安裝執行中 狀態。
安裝執行中
Running Setup (安裝執行中) 狀態會執行執行個體的安裝配方。安裝運作與否,取決於先前狀態。
注意
如果您在執行個體處於執行中設定狀態時取消指派執行個體, AWS OpsWorks Stacks 會傳送 Shutdown 命令,該命令會執行執行個體的 Shutdown 配方,但不會停止執行個體。執行個體會移至 正在取消指派 狀態。
正在註冊
在註冊程序期間, 設定會建立 AWS OpsWorks Stacks 執行個體來代表堆疊中的已註冊執行個體,並在執行個體上執行一組核心設定配方。
初始安裝所執行的一項重要變更是覆寫執行個體的主機檔案。藉由註冊執行個體,您會將使用者管理移交給 AWS OpsWorks Stacks,其必須具有自己的主機檔案才能控制 SSH 登入許可。初始安裝也會建立或修改一些檔案,並在 Ubuntu 系統上修改套件來源及安裝一組套件。如需詳細資訊,請參閱 初始安裝組態變更。
在註冊期間, 程序會呼叫 IAMAttachUserPolicy
,這是附加至您建立為先決條件之 IAM 使用者之許可的一部分。如果 AttachUserPolicy
不存在 (最可能的原因是您執行舊版 AWS CLI),則程序會回到呼叫 PutUserPolicy
。
注意
為了保持一致性, AWS OpsWorks Stacks 會執行每個核心設定配方。不過,其中一些配方只會在執行個體已指派給至少一 layer 時執行其部分或所有任務,因此不一定會影響初始安裝。
正在指派
執行個體至少有一個指派的 layer。 AWS OpsWorks Stacks 會執行每個 layer 的設定配方,包括您指派給 layer 設定事件的任何自訂配方。
-
如果安裝成功,執行個體會移至 Online (線上) 狀態,而且 AWS OpsWorks Stacks 會在堆疊中的每個執行個體上觸發設定生命週期事件,以通知它們有此新的執行個體。
-
如果安裝失敗,執行個體會移至 Setup Failed (安裝失敗) 狀態。
注意
此安裝程序會再次執行核心配方。不過,Chef 配方為等冪操作,因此不會重複已執行的任何任務。
安裝失敗
如果 正在指派 狀態之執行個體的安裝程序失敗,您可以使用安裝堆疊命令再試一次,來手動重新執行執行個體的安裝配方。
-
如果安裝成功,指派的執行個體會移至 線上 狀態,而且 AWS OpsWorks Stacks 會在堆疊中的每個執行個體上觸發設定生命週期事件,以通知它們有此新的執行個體。
-
如果安裝嘗試失敗,執行個體會移回 Setup Failed (安裝失敗) 狀態。
已登記
處於已註冊狀態的執行個體是堆疊的一部分,由 Stacks AWS OpsWorks 管理,但不會指派給 layer。它們可以無限期地保持在此狀態。
如果您將執行個體指派給一或多個圖層, AWS OpsWorks Stacks 會傳送設定命令給執行個體,並移至 正在指派 狀態。
正在指派
執行個體確認安裝命令之後,便會移至 安裝執行中 狀態。
如果您在執行個體處於指派狀態時取消指派執行個體, AWS OpsWorks Stacks 會終止設定程序並傳送 Shutdown 命令。執行個體會移至 正在取消指派 狀態。
線上
執行個體現在是至少一 layer 的成員,並會視為一般 AWS OpsWorks Stacks 執行個體。它可以無限期地保持在此狀態。
如果您在執行個體處於線上狀態時取消指派執行個體, AWS OpsWorks Stacks 會將 Shutdown 命令傳送至執行個體,並將 Configure 命令傳送至堆疊的其餘執行個體。執行個體會移至 正在取消指派 狀態。
安裝失敗
安裝命令失敗。
正在取消指派
關機命令完成之後,執行個體將不再指派給任一 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