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

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

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

重要

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

注意

只有 Linux 堆疊支援此功能。

已註冊執行個體的生命週期是從安裝及執行代理程式之後開始。在這一點上,它指導 AWS OpsWorks 堆疊以在堆疊中註冊執行個體。下列狀態圖表摘要說明生命週期的主要元素。

State diagram showing registered instance lifecycle with stages and transitions.

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

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

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

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

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

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

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

注意

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

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

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

正在註冊

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

安裝執行中

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

注意

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

正在註冊

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

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

在註冊期間,程序會呼叫附加至您建立之先決條件之IAM使用者的權限的一部分。IAM AttachUserPolicy如果AttachUserPolicy不存在 (最有可能是因為您執行的是較舊版本 AWSCLI),則處理程序會回到呼叫PutUserPolicy

注意

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

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

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

正在指派

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

  • 如果設定成功,則執行個體會移至「線上」狀態, AWS OpsWorks 堆疊會在堆疊中的每個執行個體上觸發設定生命週期事件,以通知他們新的執行個體。

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

注意

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

安裝失敗

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

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

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

已登記

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

如果將例證指定給一個或多個圖層, AWS OpsWorks 堆疊會將安裝程式命令傳送至執行個體,並移至該正在指派狀態。

正在指派

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

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

線上

該實例現在至少是一個圖層的成員,並且被視為一般圖層 AWS OpsWorks 堆棧實例。它可以無限期地保持在此狀態。

如果您在執行個體處於「線上」狀態時取消指派, AWS OpsWorks 堆疊會傳送 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