操作系统 - AWS OpsWorks

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

操作系统

重要

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

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::StackAWS::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 版本
Amazon Linux 版本 Node.js 版本
2
(Not applicable to operating systems that are available for Chef 12 and higher stacks only)
2018.03
0.12.18
2017.09
0.12.18
2017.03
0.12.18
2016.09
0.12.18 0.12.17 0.12.16 0.12.15
2016.03
0.12.18 0.12.17 0.12.16 0.12.15 0.12.14 0.12.13 0.12.12 0.12.10
Amazon Linux:支援的 Chef 版本
Chef 版本 支援的 Amazon Linux 版本
12
Amazon Linux 2 Amazon Linux 2018.03 Amazon Linux 2017.09 Amazon Linux 2017.03 Amazon Linux 2016.09 Amazon Linux 2016.03
11.10
Amazon Linux 2018.03 Amazon Linux 2017.09 Amazon Linux 2017.03 Amazon Linux 2016.09 Amazon Linux 2016.03
11.4 (deprecated)
Amazon Linux 2016.09 Amazon Linux 2016.03
重要

更新 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

CentOS

AWS OpsWorks 堆疊支援 64 位元版本的 CentOS 7。最初支援的版本是 CentOS 7,而 CentOS 約每兩年會發行新版本。

當你在 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 會在執行個體重新啟動時自動安裝新版本。

CentOS:支援的 Chef 版本
Chef 版本 支援的 CentOS 版本
12
CentOS 7
11.10
(None supported)
11.4 (deprecated)
(None supported)
注意

AWS OpsWorks 堆疊支援用於 CentOS 執行個體的阿帕奇 2.4。

Red Hat Enterprise Linux

AWS OpsWorks 堆棧支持紅帽企業版 Linux 7(RHEL 7)的 64 位版本。最初支援的版本是 RHEL 7.1,而 Red Hat 約每九個月會發行新的次要版本。次要版本應與 RHEL 7.0 相容。如需詳細資訊,請參閱生命週期和更新政策

當您啟動新的執行個體時, 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 會在執行個體重新啟動時自動安裝新版本。

Red Hat Enterprise Linux:支援的 Node.js 版本
RHEL 版本 Node.js 版本
7
(Node.js versions only apply to Chef 11.10 stacks) 0.8.19 0.8.26 0.10.11 0.10.21 0.10.24 0.10.25 0.10.27 0.10.29 0.10.40 0.12.10 0.12.12 0.12.13 0.12.15
Red Hat Enterprise Linux:支援的 Chef 版本
Chef 版本 支援的 RHEL 版本
12
Red Hat Enterprise Linux 7
11.10
Red Hat Enterprise Linux 7
11.4 (deprecated)
(None supported)

所有版本的 Node.js 都已被淘汰。0.12.7 和 0.12.9 也已被棄用。

注意

AWS OpsWorks 堆疊支援阿帕奇 2.4 適用於 RHEL 7 執行個體。