本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
操作系统
重要
該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post
AWS OpsWorks 堆疊支援以下 Linux 作業系統的 64 位元版本。
您也可以根據這些作業系統使用自訂 AMI。
下列為 Linux 執行個體的一般注意事項:
- 支援的套件版本
-
支援的套件 (例如 Ruby) 版本和修補程式層級,取決於下列各節中所述的作業系統和版本。
- 更新
-
根據預設, AWS OpsWorks Stacks 會透過自動呼叫
yum update
或執行個體啟動apt-get update
後,確保 Linux 執行個體擁有最新的安全性修補程式。若要停用自動更新,請使用CreateInstanceUpdateInstanceCreateLayer、或UpdateLayer動作 (或同等的 AWS 開發套件方法或 AWS CLI 命令) 將 InstallUpdatesOnBoot
參數設定為。false
為避免服務中斷, AWS OpsWorks Stacks 不會在執行個體上線後自動安裝更新。您可以執行 Upgrade Operating System (升級作業系統) 堆疊命令,隨時手動更新線上執行個體的作業系統。如需如何管理安全性更新的詳細資訊,請參閱管理安全性更新。
如要進一步控制 AWS OpsWorks Stack 更新執行個體的方式,請根據其中一個支援的作業系統建立自訂 AMI。例如,您可以使用自訂 AMI 來指定要在執行個體上安裝哪些套件版本。每個 Linux 發行版本都有不同的支援時程和套件合併政策,因此您應該考慮哪種方法最符合您的需求。如需詳細資訊,請參閱 使用自訂 AMI。
- 主機檔案
-
每個線上執行個體都有一個將 IP 位址對應至主機名稱的
/etc/hosts
檔案。 AWS OpsWorks 堆疊包含每個執行個體hosts
檔案中所有堆疊線上執行個體的公開和私有位址。例如,假設您有一個包含兩個 Node.js 應用程式伺服器執行個體 (節點應用程式 1 和節點應用程式 2) 的堆疊,以及一個 MySQL 執行個體 db-master 1。nodejs-app1 執行個體的hosts
檔案看起來如下列範例,而另一個執行個體則會有類似的hosts
檔案。... # OpsWorks Layer State 192.0.2.0 nodejs-app1.localdomain nodejs-app1 10.145.160.232 db-master1 198.51.100.0 db-master1-ext 10.243.77.78 nodejs-app2 203.0.113.0 nodejs-app2-ext 10.84.66.6 nodejs-app1 192.0.2.0 nodejs-app1-ext
- AWS OpsWorks 堆棧代理代理支持
-
Chef 11.10 及更新版本 AWS OpsWorks 堆疊的堆疊代理程式包含對代理伺服器的基本支援,這些伺服器通常用於隔離的 VPC。若要啟用代理伺服器支援,執行個體必須具備
/etc/environment
檔案以提供適當的 HTTP 和 HTTPS 流量設定。此檔案應該會如下列所示;請將反白的文字取代為您的代理伺服器 URL 和連接埠:http_proxy="http://
myproxy.example.com:8080
/" https_proxy="http://myproxy.example.com:8080
/" no_proxy="169.254.169.254"若要啟用代理支援,我們建議您建立自訂 AMI,以包含適當的
/etc/environment
檔案,並使用該 AMI 來建立您的執行個體。注意
我們不建議使用自訂方案在執行個體上建立
/etc/environment
檔案。 AWS OpsWorks 堆疊在設定程序初期需要 Proxy 伺服器資料,然後才能執行任何自訂配方。
Amazon Linux
AWS OpsWorks 堆棧支持 Amazon Linux 和 Amazon Linux 2 的 64 位版本。除了定期更新和修補程式,Amazon Linux 大約每六個月會發行新版本,其中涉及大量變更。當您建立堆疊或新執行個體時,您必須指定要使用的 Amazon Linux 版本。當 AWS 發行新版本時,您的執行個體會繼續執行指定的版本,直到您明確變更版本為止。當新的 Amazon Linux 版本發行之後,會有四週的遷移期間,在這段期間,AWS 會持續提供舊版本的定期更新。遷移期間結束之後,您的執行個體可以繼續執行舊版本,但 AWS 不會提供進一步的更新。如需詳細資訊,請參閱 Amazon Linux AMI 常見問答集
當新的 Amazon Linux 版本發行之後,建議您在遷移期間內更新至新版本,以讓執行個體持續接收安全性更新。在您更新生產堆疊的執行個體之前,建議您先啟動新的執行個體,並確認應用程式可在新版本上正確執行。接著,您即可更新生產堆疊的執行個體。
注意
根據預設,當新的 Amazon Linux 版本發行時,以其為依據的自訂 AMI 會自動更新到該版本。建議作法是將自訂 AMI 鎖定為特定 Amazon Linux 版本,以便將更新延遲直到您測試過新版本為止。如需詳細資訊,請參閱如何將 AMI 鎖定為特定版本?
如果您使用 AWS CloudFormation 範本建立包含執行 Amazon Linux 執行個體的堆疊,則範本應明確指定 Amazon Linux 版本。尤其是,若您的範本指定 Amazon Linux
,執行個體會持續執行 2016.09 版本。如需詳細資訊,請參閱AWS::OpsWorks::Stack和AWS::OpsWorks::Instance。
若要更新執行個體的 Amazon Linux 版本,請執行下列其中一項作業:
-
針對線上執行個體,執行 Upgrade Operating System (升級作業系統) 堆疊命令。
當新的 Amazon Linux 版本可用時,Instances (執行個體) 和 Stack (堆疊) 頁面會顯示一則通知與連結,以帶您前往 Run Command (執行命令) 頁面。然後,您可以執行 Upgrade Operating System (升級作業系統) 以升級執行個體。
-
對於離線 Amazon 彈性區塊存放區支援 (EBS 支援) 執行個體,請啟動執行個體並執行升級作業系統,如前述聲明所述。
-
針對離線的執行個體存放區後端執行個體 (包括時間式和負載式執行個體),請編輯執行個體的 Operating system (作業系統) 設定以指定新的版本。
AWS OpsWorks 重新啟動時,堆疊會自動將執行個體更新為新版本。
Amazon Linux 版本 | Node.js 版本 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Chef 版本 | 支援的 Amazon Linux 版本 |
---|---|
|
|
|
|
|
|
重要
更新 t1.micro 執行個體之前,請確認它們具備 /var/swapfile
暫時置換檔。Chef 0.9 堆疊上的 t1.micro 執行個體不具備置換檔。若是 Chef 11.4 和 Chef 11.10 堆疊,最新版本的執行個體代理程式會自動為 t1.micro 執行個體建立置換檔。不過,這項變更已推出數週,因此如果執行個體大約是在 2014 年 3 月 24 日前建立,您應該檢查其中是否具備 /var/swapfile
。
如果 t1.micro 執行個體缺少置換檔,您可以建立一個置換檔,如下所示:
-
若是 Chef 11.10 和更新版本的堆疊,請建立新的 t1.micro 執行個體,其中即會自動含有置換檔。
-
若是 Chef 0.9 堆疊,請以根使用者的身分在每個執行個體上執行下列命令。
dd if=/dev/zero of=/var/swapfile bs=1M count=256 mkswap /var/swapfile chown root:root /var/swapfile chmod 0600 /var/swapfile swapon /var/swapfile
如果您不想建立新的執行個體,也可以在 Chef 11.10 和更新版本的堆疊上使用這些命令。
Ubuntu LTS
Ubuntu 約每兩年會發行新的 Ubuntu LTS 版本,每個版本約支援 5 年。Ubuntu 會在作業系統支援期間提供安全性修補程式和更新。如需詳細資訊,請參閱 LTS - Ubuntu Wiki
-
您不能將現有 Ubuntu 執行個體更新到較新版本的 Ubuntu。
-
Ubuntu 20.04 LTS 僅適用於廚師 12 及更高版本的堆棧。
CentOS
AWS OpsWorks 堆疊支援 64 位元版本的 CentOS 7
當你在 CentOS 堆疊中啟動一個新的執行個體時, AWS OpsWorks 堆疊會自動安裝最新的 CentOS 版本。由於當新的 CentOS 次要版本發布時, AWS OpsWorks Stacks 不會自動更新現有實例上的操作系統,因此新創建的實例可能會收到比堆棧現有實例更新的版本。為了保持堆疊間的版本一致性,您可以將現有的執行個體更新至目前的 CentOS 版本,如下所示:
-
針對線上執行個體,請執行 Upgrade Operating System (升級作業系統) 堆疊命令,其會在指定執行個體上執行
yum update
以將其更新至目前的版本。當新的 CentOS 7 次要版本可用時,Instances (執行個體) 和 Stack (堆疊) 頁面會顯示一則通知與連結,以帶您前往 Run Command (執行命令) 頁面。然後,您可以執行 Upgrade Operating System (升級作業系統) 以升級執行個體。
-
對於離線 Amazon EBS 執行個體,請啟動執行個體並執行升級作業系統,如上述清單項目所述。
-
對於離線執行個體商店支援的執行個體, AWS OpsWorks Stacks 會在執行個體重新啟動時自動安裝新版本。
Chef 版本 | 支援的 CentOS 版本 |
---|---|
|
|
|
|
|
|
注意
AWS OpsWorks 堆疊支援用於 CentOS 執行個體的阿帕奇 2.4。
Red Hat Enterprise Linux
AWS OpsWorks 堆棧支持紅帽企業版 Linux 7(RHEL 7
當您啟動新的執行個體時, AWS OpsWorks 堆疊會自動安裝目前的 RHEL 7 版本。由於當新的 RHEL 7 次要版本發佈時, AWS OpsWorks Stacks 不會自動更新現有執行個體上的作業系統,因此新建立的執行個體可能會收到比堆疊現有執行個體更新的版本。為了保持堆疊間的版本一致性,您可以將現有的執行個體更新至目前的 RHEL 7 版本,如下所示:
-
針對線上執行個體,請執行 Upgrade Operating System (升級作業系統) 堆疊命令,其會在指定執行個體上執行
yum update
以將其更新至目前的版本。當新的 RHEL 7 次要版本可用時,Instances (執行個體) 和 Stack (堆疊) 頁面會顯示一則通知與連結,以帶您前往 Run Command (執行命令) 頁面。然後,您可以執行 Upgrade Operating System (升級作業系統) 以升級執行個體。
-
對於離線 Amazon EBS 執行個體,請啟動執行個體並執行升級作業系統,如上述清單項目所述。
-
對於離線執行個體商店支援的執行個體, AWS OpsWorks Stacks 會在執行個體重新啟動時自動安裝新版本。
RHEL 版本 | Node.js 版本 |
---|---|
|
|
Chef 版本 | 支援的 RHEL 版本 |
---|---|
|
|
|
|
|
|
所有版本的 Node.js 都已被淘汰。0.12.7 和 0.12.9 也已被棄用。
注意
AWS OpsWorks 堆疊支援阿帕奇 2.4 適用於 RHEL 7 執行個體。